Quick receiver test
1
Run a local receiver
This Node.js example verifies the signature from the raw body before parsing
the payload:
2
Expose it over HTTPS
Use an HTTPS tunnel such as ngrok:Copy the forwarding URL and append
/webhook, for example
https://abc123.ngrok-free.app/webhook.3
Use the dashboard Test action
Add the HTTPS destination under Settings → Webhooks, copy its HMAC key into
PLANCK_WEBHOOK_SECRET, and click Test. A successful test proves that the
destination is reachable, returns 2xx, and accepts the signed synthetic
payload.The Test action is synchronous and does not use the durable outbox, delivery
retries, or production request consumer.
Production end-to-end canary
Use this procedure after deploying webhook or logging changes:- Create a temporary webhook or update a test destination with the property
filter
canary = manual-log. Keep its sample rate at 100%. - Run the repository canary with a production-scoped test key:
- Confirm your receiver gets the same
request_id, aPlanck-Delivery-Id, andPlanck-Delivery-Attempt: 1. - Confirm the script finds the request through the request API. Remove or disable the temporary webhook when finished.
Planck-Property-Canary: manual-log; it does not call an LLM or third-party
tool. Normal production requests do not match the filter.
Retry and idempotency test
In a non-production environment, make the receiver return HTTP 500 once and then return 202. Verify that:- the second request has the same
Planck-Delivery-Id; Planck-Delivery-Attemptincreases;- your queue or database deduplicates the event by delivery ID.
Common failures
Webhooks
Review payloads, delivery guarantees, storage, and signature verification
Trace tools with cURL
Inspect the manual logging endpoint and production canary payload
Need more help?
Need more help?
Additional questions or feedback? Reach out to
help@inquantum.ai or schedule a
call with us.