Configure one authenticated or scheduled entry point and verify its input and
delivery identity.
Use a webhook when another system decides when work starts. Use a schedule
when time decides. Both bindings are part of the Play definition and become
active only when you publish the checked Play.
Set the secret through the hidden CLI prompt. do not put its value in a command,
file, or agent prompt:
deepline secrets set INBOUND_RELAY_WEBHOOK_SECRET
HubSpot v3 signatures are not Standard Webhooks signatures. Put an authenticated
relay in front of a HubSpot-bound Play: verify the HubSpot signature there, then
sign the forwarded body with webhook-id, webhook-timestamp, and
webhook-signature under Standard Webhooks v1.Use webhook: {} only in an isolated test environment. Require signature
verification before production whenever the sender supports it.
Deepline deduplicates a retry only when the sender supplies a stable delivery
identity. Header precedence is:
x-deepline-dedupe-key
idempotency-key
x-github-delivery
x-shopify-webhook-id
webhook-id
svix-id
Reuse the same nonblank value only for a retry of the same delivery. Give each
new delivery a different value.Without one, every POST begins a new run. Deepline does not infer identity from
identical JSON or a generic top-level id.
Trigger declarations are inert while the play is a draft.
deepline plays check ./daily-account-review.play.tsdeepline plays publish ./daily-account-review.play.tsdeepline plays run ./daily-account-review.play.ts --input '{}'
The manual run validates the checked handler before the next schedule or
external event. It does not substitute for testing sender authentication or
observing the published binding.
Check and publish the source, then inspect the generated binding. Test repeated delivery separately from a new event.Ask your agent to explain a failed check before repeating work or expanding the scope.