getdialed__utils__emit_event catalog action; every enabled subscription whose event_type exactly matches fires its bound Definition with the event payload as input_data (source: "event"). Matching is exact-name and scoped to your org — no wildcards, no prefixes.
How event subscriptions work
- You create a subscription (
POST /event-subscriptions) binding anevent_typestring to a Definition you own. - Somewhere in a flow, a task uses
getdialed__utils__emit_eventto emit an event with thatevent_type. - Every enabled subscription with a matching
event_typefires its bound Definition, passing the eventpayloadas the new job’sinput_data.
Cycle protection. The causation chain is threaded through every event-triggered job. If A emits an event that triggers B, which emits one that triggers C, the chain depth is checked before each dispatch — depth > 5 is rejected (
CycleDetectedError), cutting off runaway trigger loops at a bounded depth.Step 1 — Create the subscription
Bind an event name to a Definition you own. TheX-API-Key header is admin-equivalent; a Clerk JWT needs the admin role. A missing or cross-tenant definition_id returns 404 (never 403).
Step 2 — Emit the event from a flow
Subscriptions only fire on deliberately emitted events — system/lifecycle events are not auto-emitted. Add agetdialed__utils__emit_event task to any Definition. The payload you emit becomes the fired Definition’s input_data:
| Parameter | Type | Required | Description |
|---|---|---|---|
event_type | string | yes | Exact event name subscriptions match on |
payload | object | no | Event body — becomes each fired Definition’s input_data. Default {}. |
list.refreshed subscription created above fires def_a1b2c3d4 with {"list_name": "prod", "count": 1200} as its input_data. Emission runs as a durable task inside your worker, so transient delivery failures are covered by the standard retry policy.
Manage subscriptions
List your org’s subscriptions (cursor-paginated, newest first), or delete one when it is no longer needed. Events emitted after deletion no longer fire the bound Definition; already-fired jobs are unaffected.Next steps
Event subscriptions
The full object reference, matching rules, and cycle protection.
Catalog
The
getdialed__utils__emit_event action and everything else you can call from a flow.