Features / Drip workflows
Drip workflows
Trigger → wait → send without custom code
Any event-driven sequence — welcome onboarding, abandoned cart, re-engagement, dunning — assembled in a visual step editor. A PM2 worker advances workflow_runs every minute, executing each step (wait N days / send template / end). Per-contact state in the DB, atomic claim via SKIP LOCKED.
What is included
- 3 step types: Wait (N days) / Send (any template + subject override) / End.
- Linear flow for MVP — one chain. Conditional branches on the roadmap.
- Triggers: manual (via UI), contact_added (when a contact joins an audience).
- Per-workflow stats: Running / Finished / Failed.
- Per-contact variables (name, email, metadata) automatically interpolate into the template.
- Workflows can be paused — runs are not lost, they freeze for 1 hour.
How to use it in code
sh
# Enroll all active contacts of an audience into a workflow:
curl -X POST https://app.sendersy.com/api/dashboard/workflows/$ID/start \
-H "Cookie: $SESSION_COOKIE" \
-d '{ "all_in_audience": true }'
# Or enrol specific contacts:
curl -X POST https://app.sendersy.com/api/dashboard/workflows/$ID/start \
-H "Cookie: $SESSION_COOKIE" \
-d '{ "contact_ids": ["uuid-1", "uuid-2"] }'Frequently asked
How many steps per workflow?
Technically unlimited. Practical advice: 5-7 steps; beyond that it gets harder to reason about.