How workflows work
Every workflow starts with a trigger that determines which contacts enter. Once a contact enters, they progress through the configured actions, delays, and branches in order until they reach an exit node or the end of the workflow. You build and configure workflows in the workflow editor.Triggers
Every workflow starts with a trigger, which determines which contacts enter and when. Conversion offers four trigger types — criteria-based, event-based, scheduled, and called by another workflow — each with different enrollment and re-enrollment behavior. See the Triggers section for full details.Workflow statuses
A workflow can be in one of three states:Node categories
Workflows are built from nodes, each performing a specific action on the contact as they pass through.Magic
Messages
Flows
Delays
Data
Dynamic values and Liquid support
Many workflow nodes include text inputs that support dynamic values. Type/ in any text field to open the command menu with the following options:
- Add liquid — insert a Liquid expression for advanced templating logic (conditionals, filters, loops)
- Add a field — insert a contact or company field that resolves to the contact’s current value at runtime
- Add a token — insert a system token (e.g., workflow context data)
Nodes with text inputs that support dynamic values include Magic Enrich, Slack Message, Email Alert, Salesforce (subject and description fields), and Update Field.
Best practices
- Start simple. Build a minimal workflow first, then add complexity once you’ve verified the core logic works as expected.
- Test with small audiences. Before activating a workflow for your full contact base, run it against a small test audience to validate triggers, branching, and data updates.
- Use delays intentionally. Space out messages and actions to avoid overwhelming contacts and to maintain email deliverability.
- Place enrichment early. Put Magic Enrich and Apollo Enrich nodes near the beginning of your workflow so downstream nodes (emails, branches, webhooks) always operate on complete data.