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
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 }
  }'
FieldTypeDescription
namerequiredstringShown in the dashboard.
triggerTypeaudience | tagDefaults to audience. Set tag when tagId is the trigger.
audienceIdstringRequired for an audience trigger.
tagIdstringRequired for a tag trigger. Apply tags with POST /api/v1/contact-tags/:id/contacts.
fromAddressrequiredstringSender for every step. Use a verified domain for production automations.
stepsrequiredarray (1–5)Each step: { delayMinutes, templateId }. Delays are relative to the previous step.
enabledbooleanDefaults to true. Paused automations cancel pending steps on their next tick.
trackingobjectOptional { 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.