Email Automations API Guide & Behavioral Event Triggers
Automations are available on paid plans. An automation starts when a contact joins an audience or gets a project tag. NoticeAPI sends the first step after its delay, then each following step relative to the previous one. Automations stop themselves when a contact unsubscribes, gets suppressed, loses the trigger tag, or the automation is paused. They use the same consent guardrails as broadcasts, including an always-present one-click unsubscribe link.
For the buyer-level overview, read the email automations guide.
Create an automation
POST/api/v1/automations
curl -X POST https://www.noticeapi.com/api/v1/automations \
-H "Authorization: Bearer ntc_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Welcome flow",
"audienceId": "aud_xxxxxxxx",
"fromAddress": "hello@yourapp.com",
"steps": [
{ "delayMinutes": 0, "templateId": "tpl_welcome" },
{ "delayMinutes": 4320, "templateId": "tpl_tips" }
],
"tracking": { "opens": true, "clicks": false }
}'| Field | Type | Description |
|---|---|---|
namerequired | string | Shown in the dashboard. |
triggerType | audience | tag | Defaults to audience. Set tag when tagId is the trigger. |
audienceId | string | Required for an audience trigger. |
tagId | string | Required for a tag trigger. Apply tags with POST /api/v1/contact-tags/:id/contacts. |
fromAddressrequired | string | Sender for every step. Use a verified domain for production automations. |
stepsrequired | array (1–5) | Each step: { delayMinutes, templateId }. Delays are relative to the previous step. |
enabled | boolean | Defaults to true. Paused automations cancel pending steps on their next tick. |
tracking | object | Optional { opens, clicks } override for every step's sends. Omitted fields use the sending domain's defaults; PATCH with null to clear. |
Manage
GET/api/v1/automations
GET/api/v1/automations/:id
PATCH/api/v1/automations/:id
DELETE/api/v1/automations/:id
GET /:id includes the automation's recent runs so you can see where each contact is among its steps. Creating or changing a trigger does not enroll historical contacts. Removing a trigger tag stops the next due step. Deleting an automation cancels its scheduled steps.
Template variables
Steps render their template with {{FIRST_NAME}}, {{LAST_NAME}}, {{EMAIL}}, and {{UNSUBSCRIBE_URL}} filled from the contact. If your template doesn't place the unsubscribe tag, a footer link is appended automatically.