TrigRun

Schedule a Webhook

Create a scheduled HTTP job in TrigRun and verify the first execution from the UI or API.

This tutorial shows the shortest path from a public URL to a running scheduled webhook.

What you will build

A recurring job that sends a POST request to your endpoint every 15 minutes.

1. Create the job

Use the API to create a recurring job:

curl -X POST https://api.trigrun.com/v1/jobs \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "billing-webhook",
    "kind": "recurring",
    "schedule": {
      "every_n_minutes": 15
    },
    "request": {
      "url": "https://api.example.com/webhooks/billing",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "body": "{\"source\":\"trigrun\"}",
      "timeout_seconds": 30
    }
  }'

If you prefer the UI, go to Create Job and fill in the same values.

2. Confirm the schedule

TrigRun stores the job, computes next_run_at, and shows it in the job detail page. For cron-style schedules, see Jobs for supported expressions and UTC scheduling behavior.

3. Watch the execution

After the next run, open the job page and inspect the execution history. The execution record shows:

  • status
  • scheduled time
  • request and response details
  • retry attempts

For a deeper explanation of the lifecycle, see Executions.

4. Trigger a run now

If you do not want to wait for the schedule, run it immediately:

curl -X POST https://api.trigrun.com/v1/jobs/JOB_ID/run-now \
  -H "Authorization: Bearer $TOKEN"

What to change next

Once the basic webhook works, you can add:

  • a secret://name header for credentials
  • retry settings for flaky upstreams
  • response matching for APIs that return 200 but still encode failure in the body

Those patterns are covered in Jobs and Request Templates and Response Matching.

On this page