Design Workflow
Learn how to design multi-channel and multi-stakeholder workflows
Prerequisites
Understanding the basics of workflows
Creating a new workflow
Click on button on the workflow page to create workflow from scratch or select a workflow from our sample library.
- Pass workflow name and category. Choose a relevant name initially as it determines the related workflow slug, which cannot be modified later.
- Notification Category is used to apply user preferences to the workflow. While creating the workflow, you can select any notification category and adjust it later if needed.
- After entering the required details, click on
Create
button to create a new workflow in draft state. You’ll see the created workflow on top of the listing page, click on it to start editing. - Next, add relevant nodes to your workflow and edit workflow settings.
- Once you’ve finalized your edits, remember to make the workflow live. If you don’t want to make your changes live right away, you can
exit edit mode
and come back later to commit the changes. Rest assured, your modifications will remain saved in the draft state until finalized.
Designing workflow
Workflows enable you to build complex notifications by defining whom to notify, when, and through which channels. A workflow requires a trigger node to initiate it and a delivery node to send the final notification.
Additionally, you have functional nodes that adds logic, branch nodes to split execution based on conditions, and data update nodes to modify or add data and assets in SuprSend. We’ve explained and listed down the available workflow nodes below.
1. Trigger Node
It is the first step of your workflow and contains information about what initiates the workflow, and related conditions. There are 3 types of workflow triggers possible:
- List entry / exit: Starts the workflow when a user enters or exists a list.
- Event Stream: Starts the workflow when one of the linked events is sent to SuprSend.
- Workflow API: Here, you explicitly call a workflow using its workflow-slug, specifying the workflow and recipients directly in the API request.
Other than re-engagement notifications, most transactional workflows will either be triggered by passing an event or using workflow API. Compare event vs workflow API here.
2. Delivery Nodes
These nodes are the final steps in the workflow, responsible for delivering notifications to users. Here’s a list of available delivery nodes:
Single Channel
Send notification on one of the channels (Email, SMS, Whatsapp, Inbox, Mobile push, Web push, Slack or MS Teams).
Multi-Channel
Send notification across multiple channels at once.
Smart Channel Routing
Send notification across multiple channels sequentially with a delay until user engages with one of the channels.
Webhook
HTTP API request to notify an ednpoint such as your CRMs, chat platforms or internal systems.
Between multi-channel and smart channel routing, we recommed using the later as it is an optimal way of acheiving the engagement uptick of multi-channel reach out without bombarding your users.
Smart Channel Routing configured to send reminder across Email and Inbox
Notification content is picked from the template, and only published and live templates can be added to the delivery node. Therefore, it’s essential to design the template before configuring this node.
When the workflow reaches this node, it looks for active channels in the template and user profile, and send the notification to active user channels whose template content is live. User preferences are also taken into account at this stage. If the user has opted out of the given notification category or channel, it will be skipped, and corresponding errors can be seen on the logs page.
3. Function Nodes
Functions are logical steps in your workflow. We currently support the following functions:
Delay
Halt workflow for an interval before proceeding to the next node.
Batch
Aggregate multiple triggers into a single consolidated notification.
Digest
Batch multiple alerts and send a summary at a recurring schedule.
Time Window
Send notification in a given time schedule or in user’s timezone.
Data Transform
Transforms existing workflow data and creates / modifies variables.
Invoke Workflow
Trigger another workflow using current workflow data.
We are adding more functions to support the complex notification use-cases. Have a use case in mind? Reach out to us in our Slack community, and we’ll prioritize it.
4. Branch Nodes
Branches split the workflow execution into parallel flows. We currently support following branches:
Wait Until
Halt workflow until a condition is met or a specific time interval is reached.
Branch
Route notifications through different workflow routes based on conditions.
5. Data Update Nodes
These Nodes are used to bring in, modify or update data within workflow. Available data update nodes are:
Fetch
HTTP API request to GET data from an external endpoint to use in workflow.
Update User Profile
Update recipient or actor within the workflow before sending them notification.
Add / Remove user from list
Dynamically add or remove recipient or actor in/from the list.
Update Object Subscription
Dynamically add or remove recipient or actor in/from the object subscripot.
Workflow Settings
This is where basic workflow details like name, description and tags go. You can also define workflow-level conditions like throttle here. Below is a list of workflow configurations and their descriptions:
Field | Obligation | Description |
---|---|---|
Name | *mandatory | Unique name of the workflow. The workflow name should be easily identifiable for your reference at a later stage. For example - Appointment Reminder . You can also use event name as your workflow name if there is only one workflow linked to that event. |
Description | optional | You can use this field to add more details about your workflow like the notification logic. For example - Send 1 hour before the appointment . |
Notification Category | *mandatory | [Notification category] (“https://docs.suprsend.com/docs/notification-category”) is used to group related workflows together and are also used for users to set their preferences across a group of workflows. There are 3 notification categories by default: transactional (user action-based alerts), promotional (marketing notifications), and system (time-sensitive notifications like OTP and authentication codes). |
Tags | optional | Tags are used to group related workflows together. For example, all booking-related workflows can be tagged as Booking . |
Throttle | optional | You can use throttle to limit the number of workflow executions per user in a given time window. [Know more about throttle here] (“https://docs.suprsend.com/docs/throttle”) . |
Change Node name and Description
To modify the name and description of a node, click on the edit metadata
option from the burger menu on your node form. Choose a descriptive name that clarifies the function of the step, and we suggest including node type in the name for easier identification. In the description field, provide a concise explanation of the logic and important elements of the node. For instance, in a send node, you can specify the template being used or provide details about the list of users who will be notified if it differs from the actor.
Delete Node
If you want to remove a node from the workflow, click on the delete
option from the burger menu on your node form to delete it.
Cloning a workflow
We recommend designing and testing workflows in staging workspace first before pushing it to production. You can use clone functionality to duplicate workflows across workspaces or to avoid creating similar workflows from scratch.
To clone a workflow, just click the clone button on workflow details page in view mode. Please note that you won’t see this option while editing the workflow.
Once cloned, your workflow will appear as a draft in your chosen destination. You can then commit it to make it live.