Docs › APIs › Webhooks

Webhooks

Webhooks send an HTTPS POST to your URL when something changes in Redlist, so your system hears about it straight away instead of polling. Set them up in Redlist, or subscribe with the API.

Do it in Redlist

No code needed. You need the Company Settings permission in that account.

1. Go to Admin › Integration Hub and open Webhooks (select Setup on its card in the Integration Gallery).

2. Select New Webhook and give it a Name.

Create Webhook panel in the Integration Hub

3. Choose the Redlist Entity and Action Criteria, such as work orders that are completed. Optionally narrow it with Filter Criteria and Filter Criteria Option, for example one board or form template.

4. Optionally add a Custom Header as JSON, such as a shared secret your endpoint checks.

5. Enter the URL (it must start with https://), turn Status on, and select Create.

Ready? Open it in Redlist:

Open Webhooks in Redlist

Subscribe with the API

The API key needs the webhook permission (included in the Maintenance and Operations presets). Each key sees and manages only the webhooks it created.

Create a subscription

POST https://redlistpublic-qa.azure-api.net/api/Webhooks
{
"entityType": "WorkOrders",
"action": "Completed",
"targetUrl": "https://example.com/redlist/webhooks",
"name": "ERP: completed work orders",
"headers": { "X-Shared-Secret": "<your secret>" }
}
  • GET api/Webhooks/Events lists the record types and actions your key can subscribe to.

  • GET api/Webhooks lists your subscriptions; GET api/Webhooks/{id} shows one, including active and deactivateReason.

  • DELETE api/Webhooks/{id} unsubscribes.

  • To limit a subscription, send filterEntityType and filterConditionEntityID together, for example a board for work orders or a form template for form submissions.

Events

  • WorkOrders: Created, Completed, Cancelled, Updated (filter by board)

  • Tasks: Created, Completed, Updated, Cancelled

  • Forms: Submitted (filter by form template)

  • Assets: Updated (filter by asset status)

  • PurchaseOrders: Created, Updated, Sent, Completed, PartiallyFulfilled

  • Jobs: Created, Completed

  • Employees, Users, Products: Created, Updated

What you receive

POST <your targetUrl>
Content-Type: application/json

{
"data": { ...the record, same shape as the REST API returns... },
"submitter": "person@yourcompany.com",
"processedDate": "2026-10-05T14:03:22Z"
}

Delivery and retries

  • Reply with any 2xx status quickly; do slow work after responding.

  • Any other status is retried up to 3 more times, 2 seconds apart. Network errors and timeouts are not retried.

  • Delivery is at least once, so the same event can arrive twice. Repeats of the same event within 10 minutes are suppressed.

  • A subscription turns itself off after 30 failed deliveries in a row, or immediately if your endpoint returns 410 Gone. The reason shows in deactivateReason.

Checking a request came from Redlist

Deliveries are not signed yet. Until they are, add a secret custom header when you subscribe and check it on your endpoint. Signed deliveries are planned.

← Previous: GraphQL Next: Zapier →