Skip to content

Create an event trigger

Requires EDITOR. templateId/providerId/identityId must belong to the project. match supports properties, conditionTree, and userFilter. Guardrails cover rate window, quiet hours, and dedupe window.

projectId
required
string

Tenant project id (row-level isolation on every query).

Media typeapplication/json
object
name
required
string
>= 1 characters <= 120 characters
eventName
required
string
>= 1 characters <= 200 characters
match

Trigger match rule. properties (event props), conditionTree (2-level any/all fact rules), userFilter (segment).

object
properties
object
key
additional properties
any
conditionTree
object | null
userFilter

Segment predicate shared by campaigns and trigger userFilter (all fields optional).

object
locale
One of:
string
hasEmail
boolean
hasPhone
boolean
userIdLike
string
firstSeenFrom
string format: date-time
firstSeenTo
string format: date-time
lastSeenFrom
string format: date-time
lastSeenTo
string format: date-time
savedAudienceId
string
queueKey
string
Allowed values: new_paid_activation key_created_low_usage high_balance_inactive high_value low_balance_renewal churn_risk_paid
paidStatus
One of:
string
valueTier
One of:
string
minLtv
number
maxLtv
number
minBalance
number
maxBalance
number
minUsage30d
number
maxUsage30d
number
lastPurchaseFrom
string format: date-time
lastPurchaseTo
string format: date-time
lifecycleStage
One of:
string
recommendedAction
One of:
string
templateId
required
string
>= 1 characters
providerId
string | null
>= 1 characters
identityId
string | null
>= 1 characters
category
string
default: transactional
Allowed values: transactional marketing
enabled
boolean
default: true
maxSendsPerWindow
integer | null
>= 1 <= 100000
windowSeconds
integer
default: 86400 >= 1 <= 31536000
quietHoursStartHour
integer | null
<= 23
quietHoursEndHour
integer | null
<= 23
quietHoursMode
string
default: defer
Allowed values: defer drop
dedupeWindowSeconds
integer
default: 3600 <= 31536000
dynamicAttachments
Array<object>
default: <= 3 items
object
fromProperty
required

Event property holding the attachment URL.

string
>= 1 characters <= 120 characters
filename
string
>= 1 characters <= 200 characters

Created trigger.

Media typeapplication/json
object
trigger
object
id
string
name
string
eventName
string
match

Trigger match rule. properties (event props), conditionTree (2-level any/all fact rules), userFilter (segment).

object
properties
object
key
additional properties
any
conditionTree
object | null
userFilter

Segment predicate shared by campaigns and trigger userFilter (all fields optional).

object
locale
One of:
string
hasEmail
boolean
hasPhone
boolean
userIdLike
string
firstSeenFrom
string format: date-time
firstSeenTo
string format: date-time
lastSeenFrom
string format: date-time
lastSeenTo
string format: date-time
savedAudienceId
string
queueKey
string
Allowed values: new_paid_activation key_created_low_usage high_balance_inactive high_value low_balance_renewal churn_risk_paid
paidStatus
One of:
string
valueTier
One of:
string
minLtv
number
maxLtv
number
minBalance
number
maxBalance
number
minUsage30d
number
maxUsage30d
number
lastPurchaseFrom
string format: date-time
lastPurchaseTo
string format: date-time
lifecycleStage
One of:
string
recommendedAction
One of:
string
templateId
string
providerId
string | null
identityId
string | null
category
string
Allowed values: transactional marketing
enabled
boolean
guardrails
object
maxSendsPerWindow
integer | null
windowSeconds
integer
quietHoursStartHour
integer | null
quietHoursEndHour
integer | null
quietHoursMode
string
Allowed values: defer drop
dedupeWindowSeconds
integer
dynamicAttachments
Array<object>
object
fromProperty
required

Event property holding the attachment URL.

string
>= 1 characters <= 120 characters
filename
string
>= 1 characters <= 200 characters
createdAt
string | null format: date-time
updatedAt
string | null format: date-time

Validation error, or identity/channel mismatch.

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Not authenticated (no valid session/principal).

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Authenticated but lacks the required project role.

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Resource not found (or belongs to another project — indistinguishable).

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}