Skip to content
Get API key (opens in a new tab)

Test a webhook

Send a signed test event or a test run of your Flow to your webhook receiver, and check each delivery attempt in Outbox.

Test your receiver with real signed requests before you rely on it. A test event checks the connection and your signature code; a test of one event sends that event's example payload; a test run of your Flow sends the event your receiver will get from it in production.

Send a test event

  1. Go to Settings → Developers → Webhooks.
  2. Open the menu of your webhook destination and choose Send test, then Send test again to confirm. Result: Cevoid queues a signed cevoid.test request and opens its delivery.
  3. Check the attempt and your receiver's response in the delivery.

The destination must be enabled and its URL must pass the URL checks. A test event is signed, retried and logged like any other delivery.

Test event body

A test event uses the same envelope as every other event, with type: "cevoid.test". data holds a fixed message instead of resources, and there is no origin, because no Flow sent it. id and created_at change with every test:

Test event
{
  "created_at": "2026-08-03T12:00:00.000Z",
  "data": {
    "message": "Cevoid webhook destination test"
  },
  "id": "evt_k4m8x2q7n5v1ptaz",
  "type": "cevoid.test",
  "version": 1
}
FieldWhat it holds
typeAlways cevoid.test.
idA new event ID for every test, evt_ and 16 lowercase letters or digits.
created_atWhen the test was sent, in ISO 8601 UTC.
version1.
data.messageAlways Cevoid webhook destination test.

To check your signature code without sending a request, use the HMAC test vector. It signs this body.

Test one event

  1. Go to Settings → Developers → Webhooks, open your destination and choose Edit destination.
  2. In the event list, choose the send button next to the event, such as post.approved. Result: Cevoid queues a signed request with that event's example payload, as on its event page.
  3. Check the attempt and your receiver's response under the destination's Event deliveries.

The test has the event's real type and the shape your receiver gets for a subscribed event, without origin. Events that only a Flow sends cannot be tested this way; test the Flow instead.

Test a flow

Choose Trigger test run in the menu of a Flow to run it once against a subject you pick, such as an order. How the webhook action behaves depends on the version you test:

  • Current draft: Cevoid builds the payload and checks it, but sends nothing.
  • Live version: Cevoid sends a real signed request, with the Flow's trigger as type, origin.flow set and the subject's resources in data. For order triggers you can also test with a mock order.

In Outbox, deliveries of a test run show a Test badge. Your receiver gets no marker in the request, so test against a receiver or a destination that does not touch production data.

Delivery log

A destination's Event deliveries lists its deliveries, and each attempt with its status, duration and the first 2,048 bytes of your response. See Retries and replays for what each attempt keeps.

To send a failed test again after you fix your receiver, see Retry and replay.

Receive webhooks on your machine

Cevoid sends only to public HTTPS URLs, so it cannot reach localhost. To test a receiver running on your machine, expose it through a tunnel service that gives you a public HTTPS URL, and create a separate destination for that URL. Archive it when you are done, after you remove it from any Flow that sends to it.

Troubleshooting

  • No request arrives: confirm the destination is enabled and subscribed to the event, or that the Flow sending to it is published, then check the destination's Event deliveries for the delivery and its status.
  • Send test is refused: enable the destination and check its URL against the URL requirements.
  • Redirect or network error: point the destination at the final public HTTPS URL. Redirects are not followed and private addresses are blocked.
  • Signature mismatch: see Verify webhook signatures.