Skip to main content
POST
Create trigger

Authorizations

Authorization
string
header
required

Enter your JWT token

Body

application/json

The trigger type, connection, and the §6a parameter blocks that apply to it.

The request body of POST /v1/triggers - everything you may set when creating a trigger instance.

trigger_slug
string

Required. As listed by GET /v1/triggers/types.

application_slug
string | null

Disambiguates a slug carried by more than one application.

connection_id
integer<int32> | null

The connection to run against. Supply this or ConnectionName.

connection_name
string | null

The connection's name, for callers that never see ids. Resolved within the caller's own account only - a name that belongs to another tenant is simply not found, never confirmed.

config
any | null

The trigger activity's own inputs, including eventtype where the type supports it.

schedule
object | null

The polling schedule. Polling triggers only; rejected on any other kind.

poll_interval_minutes
integer<int32> | null

Sugar for { "frequency": "minute", "interval": N }, so the simple polling case is one field. Ignored when Schedule is also supplied - the explicit block wins rather than the two being merged, because merging would make "which interval did I get" depend on field order.

listen_columns
string[] | null

Which columns to watch for changes. Push triggers only; each column becomes its own provider subscription.

destination_id
integer<int32> | null

Where to deliver this trigger's events. Null means your account's default destination, resolved at delivery time - so re-pointing the default re-points this trigger too.

dedupe_window_hours
integer<int32> | null

Response

A previous request with this Idempotency-Key already created this trigger; that instance is returned unchanged.

A trigger instance as the API returns it. status is derived on every read, so it reflects whether the trigger is really capturing right now rather than what was last written.

kind
enum<string>
required

D6's discriminator. Always api here; ?include=workflow is what emits workflow.

Available options:
api,
workflow
status
enum<string>
required

Derived from the hidden workflow, never read from the stored column.

Available options:
enabled,
disabled,
errored
id
string
trigger_slug
string | null
connection_id
integer<int32>
activity_id
integer<int32>
destination_id
integer<int32> | null
dedupe_window_hours
integer<int32>
status_reason
enum<string> | null

Why the instance is errored. Null whenever the instance is not blocked - see TriggerStatusReason for the frozen vocabulary and the derivation ORDER.

Available options:
max_consecutive_failures,
activity_limit,
manual,
subscribe_failed,
connection_deleted,
trigger_type_removed
blocked_since
string<date-time> | null

When the block landed. Null whenever the instance is not blocked.

last_event_at
string<date-time> | null
last_error_at
string<date-time> | null
last_error
string | null

Bounded and credential-scrubbed at the point of writing - see TriggerInstance.LastError.

next_run_at
string<date-time> | null

When the polling scheduler will next select this trigger. Null for push and manual-webhook flavours.

subscription_count
integer<int32>

How many subscriptions this trigger holds with the provider. Not always 1: a subscription covers a single listen column, so N listen_columns create N subscriptions - and providers usually meter them.

created_at
string<date-time>
config
any | null

The trigger activity's own inputs, as supplied on create/patch.

schedule
object | null

Present only for polling triggers. Carries effective - see TriggerScheduleEffectiveDTO.

listen_columns
string[] | null

Present only for push triggers that declare IsShowFilterChanges.

webhook_url
string | null

Where a manual_webhook trigger's caller must POST events - the only delivery flavour with no provider subscription, so without this the caller has no way to learn the endpoint (design spec §6, folded in from the §6b UI plan). Null for every other delivery flavour, and null even for a manual-webhook instance whose step-1 ActivityToken has never been persisted - see TriggerInstanceService.EnrichAsync for why that gate exists.