Send a sequence of emails over time. Each automation is a list of steps (wait, then send). People enroll with an access key, move through the flow, and can be dropped when an event happens (for example after they pay).
Setup
-
Create an automation
Open Campaigns → Automations and click the + next to the Automations tab. Name it and pick a From sending identity.
-
Add steps
Each step waits (minutes, hours, or days), then sends one email. Use the pencil icon to design the email in the same composer as campaigns. Use the centered + under the list to add another step.
-
Activate
When steps and From are ready, use Activate in Details. Only active automations send. Pause anytime with plain Pause.
-
Create an access key
Open Automations → Access keys. Create a key and add the domains (or hosts) that will call enroll/drop from a browser. Keys are shared across your automations; you pass an
automation_idto choose which flow.
Enrollments
Inside an automation, open the Enrollments tab to see who is in the flow, which step they’re on, next run time, and status. Cancel someone from that list, or drop them via the API when an external event fires.
Use Test enroll on the Automation tab to enroll yourself while building.
Enroll API
Post to Pathline to put someone into a sequence. Replace the placeholders with your access key, automation id (from Public enroll on the automation), and the contact’s email.
https://api.pathline.io/automations/enroll.
curl -X POST https://api.pathline.io/automations/enroll \
-H "Content-Type: application/json" \
-d '{
"access_key": "YOUR-ACCESS-KEY",
"automation_id": "YOUR-AUTOMATION-ID",
"email": "person@example.com",
"name": "Alex Example",
"status": "signup"
}'
Or put the key in the path: POST https://api.pathline.io/automations/enroll/YOUR-ACCESS-KEY with the same JSON body (still include automation_id and email).
Body fields
| Field | Required | Purpose |
|---|---|---|
access_key |
Yes* | Your automation access key (*or path /enroll/:accessKey). |
automation_id |
Yes | Which automation to enroll into. |
email |
Yes | Person to enroll. |
name / fullName |
No | Stored on the contact when created. |
phone / phoneE164 |
No | Optional contact phone. |
status / source |
No | Cosmetic label for how they enrolled (e.g. signup, form). Stored as source; they still run as active. Pathline account signup uses signup. |
createContact |
No | Default true. Set false to require an existing contact. |
Browser posts must come from a hostname on the access key’s allowed domains (Origin / Referer). If the person is already actively enrolled, Pathline returns success with alreadyEnrolled: true.
Drop API
When an event happens (purchase, booking, cancellation), post to drop that email from the automation so they stop receiving remaining steps.
https://api.pathline.io/automations/drop.
curl -X POST https://api.pathline.io/automations/drop \
-H "Content-Type: application/json" \
-d '{
"access_key": "YOUR-ACCESS-KEY",
"automation_id": "YOUR-AUTOMATION-ID",
"email": "person@example.com",
"status": "purchased"
}'
Also available as POST https://api.pathline.io/automations/drop/YOUR-ACCESS-KEY.
Status (cosmetic)
Optional status records why they left. It does not change delivery logic — any of these stop the flow the same way.
| Value | Use when |
|---|---|
purchased |
They converted / paid (shown as Purchased in Enrollments). |
canceled |
They opted out or you cancelled the sequence (default if omitted). |
removed |
You removed them manually or via cleanup. |
- Safe to call more than once (
alreadyDropped: trueif they were not active). - Browser posts need an allowed domain. Server-to-server posts with no Origin are allowed when the access key is valid (typical for payment webhooks and backends).
JavaScript example
await fetch('https://api.pathline.io/automations/drop', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
access_key: 'YOUR-ACCESS-KEY',
automation_id: 'YOUR-AUTOMATION-ID',
email: 'person@example.com',
status: 'purchased',
}),
});
How sends work
- After enroll, Pathline schedules the first step using that step’s wait time.
- When due, it sends the step email from the automation’s From identity, then advances to the next step (or completes the enrollment).
- If the automation is paused or deleted, active enrollments stop. Dropped / cancelled enrollments do not continue.
Access
Automations use the same email marketing access as campaigns (owners and admins). Members do not manage automations.
automation_id so Pathline knows which flow.