Trigger once.
Run forever.
No extra code.
Build multi-step communication workflows — OTP sequences, onboarding drips, payment follow-ups — with a visual canvas or the API. Conditions, delays, and branching included.
trigger: signup
action: otp.send
condition: otp.verified
delay: 300s
action: message.send
action: otp.send
action: email.send
4 active
Workflows
1,284
Runs today
6m 42s
Avg. time
5
Channels
∞
Workflow steps
10M+
Runs / month
ms
Trigger latency
99.9%
Uptime SLA
0
Code needed
Trigger types
Start from anywhere.
Build from there.
API Trigger
Call the Automation API from your own code to kick off a workflow for a specific user at the exact moment you need it.
Best for
Real-time events: signup, payment, login
Scheduled
Run a workflow at a specific time or on a recurring schedule — hourly, daily, weekly, or via a custom cron expression.
Best for
Weekly digests, payment reminders, reports
Webhook Event
Trigger a workflow in response to any Sendexa event — message delivered, OTP failed, payment completed — with no extra code.
Best for
Retry flows, escalation chains
List Upload
Upload a CSV of contacts and launch a workflow for each one. Ideal for bulk campaigns with personalised multi-step sequences.
Best for
Bulk onboarding, campaign drips
sendexa.automation.run('wfl_abc123', { user_id: '...', phone: '+233...' })Building blocks
Six blocks.
Infinite workflows.
Trigger block
What starts the workflow. API call, schedule, or Sendexa event.
event: user.signupAction block
Do something — send an SMS, email, OTP, voice call, or WhatsApp.
action: otp.sendCondition block
Branch based on a value — user attribute, event outcome, or time.
if: otp.verified == trueDelay block
Wait before the next step. Fixed duration or until a specific datetime.
delay: 300sBranch block
Split into parallel paths. Each branch runs independently.
fork: [sms_path, email_path]End block
Mark the terminal step. Logs a completion event and fires a webhook.
status: workflow.completedTemplates
Start from a template,
ship in minutes.
OTP with fallback
- 1.Send OTP via SMS
- 2.Wait 2 min
- 3.If not verified → resend via Voice
- 4.If still not verified → alert support
Order lifecycle
- 1.Payment confirmed → SMS receipt
- 2.Item shipped → SMS + email
- 3.Out for delivery → WhatsApp
- 4.Delivered → request review
Payment reminder
- 1.3 days before due → email reminder
- 2.1 day before → SMS reminder
- 3.On due date → WhatsApp alert
- 4.7 days overdue → voice call
User onboarding
- 1.Signup → OTP verify
- 2.Verified → welcome SMS + email
- 3.Day 3 → feature tip SMS
- 4.Day 7 → re-engagement if inactive
Developer experience
Define workflows
in code or JSON.
Prefer code over clicks? Define workflows programmatically with the Automation API. Version-control your sequences, run them in CI, and deploy alongside your app.
Define the workflow — canvas or API
Trigger it with client.automation.run()
Track runs in the dashboard or via webhook
import Sendexa from "sendexa";
const client = new Sendexa(process.env.SENDEXA_API_KEY);
// Define a workflow
const workflow = await client.automation.create({
name: "OTP with voice fallback",
trigger: { type: "api" },
steps: [
{
id: "send_otp",
type: "action",
action: "otp.send",
params: { channel: "sms", expiry: 300 },
},
{
id: "wait",
type: "delay",
duration: 120, // 2 minutes
},
{
id: "check_verified",
type: "condition",
condition: "otp.verified == false",
on_true: "voice_fallback",
on_false: "end",
},
{
id: "voice_fallback",
type: "action",
action: "otp.send",
params: { channel: "voice" },
},
],
});
// Run it for a user
await client.automation.run(workflow.id, {
phone: "+233 55 123 4567",
user_id: "usr_abc123",
});What's included
Everything to automate
your comms stack.
Visual canvas
Drag-and-drop workflow builder. No code required — add nodes, connect them, and deploy in minutes.
Conditions & branching
Branch on any attribute — user data, event outcome, time of day, or custom variables passed at trigger time.
Delays & scheduling
Add timed pauses between steps. Fixed duration, wait-until-datetime, or wait-for-event (e.g. don't proceed until OTP is verified).
All 5 channels
Every workflow can use SMS, Email, WhatsApp, Voice, and Push — mix and match in the same sequence.
Run history & logs
Every workflow run is logged. See which step a user is on, where they dropped off, and the full event timeline.
API-first design
Every canvas action has an API equivalent. Define, trigger, pause, and cancel workflows programmatically.
Build your first workflow
in under 10 minutes.
Pick a template, customise it, and deploy. No infrastructure to manage, no queues to build. Automation is included on all plans.