Every automation needs a start. We have 30 of them.
Triggers are the entry point to any flow. SabFlow ships with 30+ native trigger types — message received, order paid, contact created, segment entered, cron schedule, signed webhook — plus a generic HTTP trigger for anything custom. Same observability, same retry policy, regardless of how the flow started.
- 30+ native triggers across channels and systems
- Signed webhook URLs with HMAC verification
- Cron syntax with timezone awareness
- Replay any trigger event from the inspector
The trigger is where automation projects die
Ask any team that has tried to ship a sophisticated automation and they will tell you the same story: the trigger broke. Shopify changed a webhook schema and abandoned-cart stopped firing. The cron job ran in UTC but the business operates in IST so Diwali greetings landed at 4:30am. A retry loop hammered the API and got the account rate-limited. A test webhook from a developer's laptop fired in production and sent 2,000 customers a duplicate offer.
These failures share a root cause: most platforms treat triggers as an afterthought. You pick from a dropdown, paste a URL, and hope. There is no replay, no schema validation, no visibility into what actually fired versus what should have. When something breaks, you discover it from a customer complaint three days later.
SabFlow treats triggers as a first-class observable surface. Every incoming trigger event is captured, validated, logged and replayable. Failed triggers do not vanish — they land in a dead-letter view with the full payload, retry button, and the exception trace. Timezone is always explicit. Webhook signatures are mandatory for the integrations that support them. The trigger is the front door of your automation — we treat it like one.
Triggers, in depth.
SabFlow triggers fall into five categories: channel events (message received, message read, button clicked on WhatsApp, Instagram, Web Chat, Email), commerce events (Shopify order paid, Stripe payment succeeded, Razorpay refund initiated, catalog item updated), CRM events (contact created, segment entered, tag added, deal stage changed, custom field updated), schedules (one-off datetime, cron expression, recurring relative — "every Tuesday at 9am IST"), and integrations (signed webhook URL, REST API call, third-party native triggers from HubSpot, Pipedrive, Calendly, Google Sheets, etc.).
Every trigger emits a typed payload that downstream nodes can reference via JSONPath. A Shopify order trigger gives you `{{trigger.order.id}}`, `{{trigger.order.line_items}}`, `{{trigger.customer.email}}` — full Shopify schema, validated on entry. A WhatsApp message trigger exposes `{{trigger.message.text}}`, `{{trigger.contact.phone}}`, `{{trigger.message.type}}` (text, image, document, button, list). This typing prevents the classic "I thought that field existed" bug at design time.
Multiple triggers on one flow are supported and common. A "VIP customer onboarding" flow might trigger on (a) a Shopify customer with lifetime spend > ₹50,000, (b) a manual tag added via the CRM, or (c) a webhook from your loyalty program. All three paths converge into the same flow with the same downstream logic — you maintain the journey once, accept input from many sources.
For technical teams, the generic Webhook trigger is the universal escape hatch. We give you a signed URL with HMAC-SHA256 signature verification, a JSON schema you can declare, and a payload validator that rejects malformed input at the door. The schema is enforced at runtime so a breaking change in your upstream system surfaces immediately as failed-validation events, not as a flow running on garbage data.
Everything you get with Triggers.
Channel message triggers
Fire on inbound WhatsApp message, Instagram DM, Web Chat opened, Email received. Filter by message type (text, image, document, button payload, list selection), by keyword, by contact segment, or by the channel-specific metadata like template name or campaign ID.
Commerce native triggers
First-class support for Shopify (order paid, abandoned checkout, refund, product update), Stripe (payment succeeded, subscription renewed, invoice failed), Razorpay (payment captured, refund processed), WooCommerce and Magento. Schema-validated, retry-safe, idempotent.
CRM event triggers
Contact created, contact updated (per field), segment entered or exited, tag added or removed, deal stage moved, custom field changed. Dynamic segments emit enter/exit events as the segment definition matches new data — no manual polling.
Scheduled triggers
One-off (fire at 2024-12-31 17:00 IST), recurring cron (`0 9 * * MON-FRI`), relative recurring ("every 6 hours starting tomorrow"). All schedules honor a configurable timezone, including per-contact timezone for personalised sends.
Signed webhook triggers
Each webhook trigger gets a unique URL with HMAC-SHA256 signing. The upstream signs the payload with a shared secret; SabFlow verifies before firing. Declare a JSON schema and malformed requests are rejected with a 400 before they touch the flow.
Dead-letter queue and replay
Failed triggers — validation failure, downstream node error, rate limit — land in the DLQ with the full payload, the exception, and the retry button. Replay one event or a batch. Audit log shows who replayed what.
Idempotency keys
Every trigger event carries an idempotency key derived from the source. Duplicate Shopify webhooks (which happen) do not double-fire the flow. Custom webhooks can pass an `Idempotency-Key` header that SabFlow honors across a configurable dedup window.
Built for the way teams actually work.
Order-paid → thank-you template
Trigger on Shopify order.paid. Filter for orders above ₹1,000 to skip low-value sends. Fire a WhatsApp template with order summary and tracking link. Idempotent against duplicate webhooks. Replays available for the rare missed event.
Cron daily standup pull
Cron trigger at 9am IST weekdays. HTTP Request to GitHub for yesterday's PRs, AI Generate node summarises into a standup post, Send to Slack channel. Replaces a 15-minute manual ritual. Skips weekends and holidays via a custom calendar.
Segment-entered → re-engagement
Dynamic segment "last purchase > 90 days ago and total spend > ₹5,000" fires segment-entered trigger. Sends a personalised WhatsApp template with a curated set of products via AI Generate. Recovers churning customers without manual list-pulling.
Webhook trigger from custom ERP
Internal ERP fires a signed webhook on shipment-out-for-delivery. JSON schema declared with `tracking_id`, `eta`, `customer_phone`. SabFlow validates, looks up the contact, sends WhatsApp with live tracking. End-to-end latency under two seconds.
Stage-change → onboarding handoff
Trigger on CRM deal stage moving to "Won". Creates the customer record, assigns onboarding manager via Slack, triggers a 30-day onboarding flow. Single trigger replaces a five-person handoff that used to rely on Slack DMs and prayer.
From signup to first send in minutes.
Triggers is included on every SabNode workspace. No separate billing, no extra setup — flip it on from your workspace settings.
- 01
Pick the trigger source
Choose from channels, commerce, CRM, schedule or custom webhook. The selector previews the payload shape so you know what fields the downstream flow can use.
- 02
Configure filters
Narrow firing conditions — only orders above ₹1,000, only contacts in segment X, only on weekdays. Filters run before the flow starts, saving execution cost.
- 03
Validate the payload schema
For webhook triggers, paste a sample payload and declare a JSON schema. Future events failing the schema are rejected with a 400 instead of poisoning the flow.
- 04
Test with a fired event
Hit Send Test from the trigger config. A synthetic event runs through the flow in debug mode. Or replay any historical event from the trigger log.
- 05
Monitor the trigger log
Every fire, success or fail, lands in the trigger log with payload, latency and downstream result. Filter by status, replay the failures, set up alerts on DLQ depth.
Works with the tools you already ship on.
Connect directly with your existing stack, or use the platform APIs and webhooks to extend it natively.
- Shopify
- Stripe
- Razorpay
- HubSpot
- Pipedrive
- Calendly
- Google Sheets
- Meta WhatsApp Cloud API
Platform core tools
Enhance this feature with deep integrations into our core infrastructure. Connect via API, use webhooks, or embed directly with our SDKs.
Unified dashboard apps
Manage every setting inside one workspace UI.
Developer APIs and webhooks
Extend functionality with custom automated workflows.
What happens if Shopify retries a webhook?
How are timezone-sensitive cron schedules handled?
Can I have multiple triggers on one flow?
How do I verify webhook signatures?
What is the throughput limit for triggers?
Can a flow trigger another flow?
How long are trigger events retained?
Stronger when stacked.
Ship triggers into production this week.
No credit card. No sales call required. Spin up a workspace, plug in a number, and your team is live in under an hour.