Workflows
Enbbox workflows — define multi-step notification sequences with channel steps (email, SMS, push, in-app, chat), delays, digests, and conditional logic.
A Workflow is the core building block in Enbbox. It defines the sequence of steps a notification goes through — from trigger to delivery.
Workflow Steps
Each workflow consists of one or more steps. Steps are executed sequentially, and the workflow progresses through each step until completion.
Types of Steps
| Step Type | Description |
|---|---|
| In-App | Send a notification to the subscriber's in-app inbox |
| Send an email notification | |
| SMS | Send an SMS notification |
| Push | Send a push notification |
| Chat | Send a chat message (Slack, Discord, Teams) |
| Digest | Aggregate multiple trigger events into a single notification |
| Delay | Wait for a specified duration before proceeding |
| Custom | Execute custom logic via webhooks |
Designing Multi-Channel Sequences
A typical multi-channel workflow might look like:
- In-App — Immediately notify the user in the app
- Delay — Wait 1 hour
- Email — If the in-app notification wasn't read, send an email
- Delay — Wait 24 hours
- SMS — If still unread, send an SMS
Workflow Editor
The Enbbox dashboard provides a visual Workflow Editor where you can:
- Drag and drop steps to build notification sequences
- Configure each step's content and settings
- Set conditions for step execution
- Preview notification content with sample data
Workflow Identifier
Every workflow has a unique identifier (slug) used to trigger it via the API:
await enbbox.trigger("order-shipped", {
to: { subscriberId: "user-123" },
payload: { orderNumber: "ORD-456" },
});The identifier is auto-generated from the workflow name but can be customized.
Workflow Status
Workflows can be in one of these states:
- Active — The workflow is live and will process triggers
- Inactive — The workflow is paused and will not process triggers
- Draft — The workflow has unsaved changes
Workflow Tags
Tags help you organize and filter workflows. Common use cases:
transactional— Order confirmations, password resetsmarketing— Product updates, newsletterssystem— System alerts, maintenance notificationsonboarding— Welcome sequences, setup guides
Critical Workflows
Mark workflows as critical to override subscriber preferences. Critical workflows (e.g., password resets, security alerts) are always delivered regardless of the subscriber's notification settings.
Triggering Workflows
Workflows are triggered via the API or SDK:
// Simple trigger
await enbbox.trigger("welcome-flow", {
to: { subscriberId: "user-123" },
payload: { name: "John" },
});
// Trigger for multiple subscribers
await enbbox.trigger("product-update", {
to: [{ subscriberId: "user-1" }, { subscriberId: "user-2" }],
payload: { feature: "New Dashboard" },
});
// Trigger for a topic
await enbbox.trigger("weekly-digest", {
to: [{ type: "Topic", topicKey: "newsletter-subscribers" }],
payload: { weekNumber: 12 },
});Frequently Asked Questions
Do I have to create a workflow to send notifications?
Yes. All notifications in Enbbox are sent through workflows. This ensures consistent delivery, tracking, and preference management.
Can workflows be created and managed via code?
Yes. While the dashboard provides a visual editor, workflows can also be defined and managed using the Enbbox Framework SDK for a code-first approach.
Notifications
Enbbox notifications lifecycle — from trigger to delivery. Understand notification states, tracking, delivery confirmation, and subscriber engagement.
Subscribers
Subscribers in Enbbox — manage notification recipients with unique identifiers, contact details, preferences, custom data, and channel credentials (device tokens, chat IDs).