Workflows in Siren
Workflows in Siren let you design powerful, no-code automation for how notifications are triggered, routed, personalized, and delivered across multiple channels. They provide a flexible and visual way to build message flows that adapt to your logic and data, without requiring any engineering effort. Inside the workflow editor, you can define a series of actions and decisions by adding nodes using a guided, point-and-click interface. Each node can be individually configured to control how and when notifications are sent, what data they use, and how the workflow behaves based on dynamic inputs. Once your workflow is ready, you can publish it to make it live. Published workflows can then be triggered in multiple ways:- Via API, by making a call to Siren’s
/trigger-workflow
endpoint — typically from your application backend or any system event you define. - Via the AI Agent Toolkit, which can learn from documentation and intelligently trigger the appropriate workflow based on context.
- Via MCP, by calling the
trigger.workflow
function - Via SDK, by calling the corresponding function
Types of Workflows
When creating a new workflow in Siren, you choose between Basic and Advanced workflows. Both types leverage the same intuitive visual editor and provide the core features for building end-to-end notification logic. However, Advanced workflows unlock additional capabilities and offer greater flexibility for complex scenarios.Basic Workflow: Streamlined Automation
Basic workflows are perfect for straightforward automation flows. they are designed for simplicity and efficiency when your logic is predictable and does not require dynamic interaction with external systems. Basic workflows support:- Wait Node: Introduce delays between steps using a fixed duration (in days, hours, minutes, seconds).
- Control Nodes:
- If Node: Branch your flow based on a simple true/false condition.
- Switch Node: Route the workflow to multiple paths based on a predefined value.
- Template Node: Use a predefined template to send notifications.
- Channel Node: Directly send messages via a selected provider and channel. Choose a Basic workflow when your automation needs are clear-cut and do not involve real-time external data or highly dynamic configurations.
Advanced Workflow: Dynamic & Extensible Automation
Advanced workflows provide all the features of Basic workflows, plus powerful additions for more complex, dynamic, and data-driven use cases. They allow your automation to react to external systems and adapt to rich data inputs. Advanced workflows include:- HTTP Node: Make API calls to external services. You can use the response data to shape subsequent workflow logic, enabling seamless integration with your existing infrastructure.
- Chat Node: Facilitate human interaction by pausing the workflow to await a recipient’s response. Define actions based on their reply or a timeout if no response is received.
- Dynamic Variables across all Nodes:
Advanced workflows allow you to configure node parameters dynamically using JSON paths. This means nodes can adapt in real time based on the incoming payload or outputs from earlier steps.- A Wait Node can set its duration using a variable from the input.
- A Template Node can dynamically select which template to use, along with the version at runtime based on workflow data (e.g.,
${workflow.input.data.template_name}
). - A Channel Node can dynamically determine the provider and recipient values using runtime inputs (e.g.,
${workflow.input.notify.sms}
or${workflow.input.data.provider_name}
). Opt for an Advanced workflow when you are working with rich data inputs, need personalized flows, or require robust coordination and data exchange with external systems. Now that you understand what workflows are, let’s explore how to create and design one using the Workflow Editor.