Automation & Workflows
69 node types, 46+ triggers, and a visual drag-and-drop workflow builder.
The Visual Workflow Builder
The workflow automation engine is one of the most powerful capabilities in Seedly CRM. It lets you build multi-step automations visually - no code required - using a drag-and-drop canvas. Workflows can send messages, update records, route leads, create tasks, generate invoices, call external APIs, run AI prompts, and much more.
Each workflow starts with a trigger (the event that kicks it off), followed by a sequence of action nodes (what happens), connected by logic nodes (decisions, splits, waits) that control the flow. The result is a visual map of your business process that runs automatically, 24/7.
How Workflows Work
-
A trigger fires. Something happens in your CRM - a form is submitted, a contact replies, a deal changes stage, an invoice goes overdue, or any of 46+ other events.
-
The workflow executes. The system follows the path you designed, executing each node in sequence. Nodes can send emails, update contact fields, create opportunities, wait for a response, branch based on conditions, or perform dozens of other actions.
-
Logic controls the flow. If/else branches let you route contacts down different paths based on their data. A/B splits let you test different approaches. Wait nodes pause execution for a set time or until a condition is met.
-
The result is recorded. Every execution is logged with per-node status, so you can see exactly what happened, where it succeeded, and where it stopped.
Workflow Lifecycle
- Draft - Build and test without affecting live data
- Published - Active and processing triggers in real time
- Paused - Temporarily stopped; in-progress executions continue but no new ones start
- Resumed - Reactivated from paused state
Workflows support version history, so you can see how a workflow has changed over time. Running executions are pinned to the version that was active when they started - publishing a new version does not disrupt in-progress runs.
Node Categories
Communication Nodes (10)
Send messages across every channel in your CRM.
| Node | What It Does |
|---|---|
| Send Email | Send an email with template interpolation and A/B variant support |
| Send SMS | Send an SMS message with dynamic content |
| Send Messenger | Send a Facebook Messenger message |
| Send Instagram DM | Send an Instagram direct message |
| Send Invoice | Create and send an invoice with line items |
| Send Document | Send a document from a template with signature support |
| Review Request | Request a review via email, SMS, or both with platform and rating filters |
| Manual SMS | Placeholder for manual SMS follow-up |
| Facebook Interactive | Facebook interactive message |
| Instagram Interactive | Instagram interactive message |
Contact Management Nodes (8)
Create, update, find, and manage contact records directly from workflows.
| Node | What It Does |
|---|---|
| Create Contact | Create a new contact with fields and tags |
| Update Contact | Update contact fields including custom fields |
| Delete Contact | Soft-delete a contact (recoverable) |
| Find Contact | Search for a contact by email, phone, or name and store the result |
| Copy Contact | Duplicate a contact record |
| Assign User | Assign a contact to a team member |
| Remove Assigned User | Remove the assigned user from a contact |
| Edit Conversation | Mark a conversation read/unread or archive/unarchive it |
Tag Management Nodes (2)
| Node | What It Does |
|---|---|
| Add Tag | Add one or more tags to a contact |
| Remove Tag | Remove one or more tags from a contact |
Opportunity Management Nodes (5)
| Node | What It Does |
|---|---|
| Create Opportunity | Create an opportunity with name, value, pipeline, and stage |
| Update Opportunity | Update opportunity fields and custom fields |
| Remove Opportunity | Soft-delete an opportunity with configurable recovery period |
| Find Opportunity | Search for an opportunity by contact, pipeline, or stage |
| Legacy Remove | Remove an opportunity (legacy compatibility) |
Follower Management Nodes (5)
| Node | What It Does |
|---|---|
| Add Opportunity Follower | Add users as followers on an opportunity |
| Remove Opportunity Follower | Remove followers from an opportunity |
| Remove Opportunity Owner | Remove the assigned owner from an opportunity |
| Add Contact Follower | Add users as followers on a contact |
| Remove Contact Follower | Remove followers from a contact |
Task and Appointment Nodes (2)
| Node | What It Does |
|---|---|
| Create Task | Create a task with title, description, assignee, and due date |
| Update Appointment Status | Change an appointment to booked, confirmed, cancelled, completed, or no-show |
Logic and Control Flow Nodes (6)
Control how contacts move through your workflow.
| Node | What It Does |
|---|---|
| If/Else | Multi-branch conditional with up to 10 branches using AND/OR segment logic |
| A/B Split | Split contacts into test groups with weight-based routing and variant tracking |
| Wait | Delay execution from seconds to weeks, with an optional timeout branch |
| Condition | Single IF branch (legacy) |
| Go To | Jump to another node in the workflow |
| Trigger | Workflow entry point (auto-generated) |
Wait and Response Nodes (4)
Pause execution until something happens.
| Node | What It Does |
|---|---|
| Wait for Reply | Wait for a contact to reply on a specific channel, with timeout |
| Wait for Condition | Wait until a data condition is met |
| Wait for Link Click | Wait for a contact to click a link in an email, with timeout |
| Wait for Email Events | Wait for opened, clicked, bounced, unsubscribed, or complained |
Data Transformation Nodes (9)
Process, transform, and generate data within your workflow.
| Node | What It Does |
|---|---|
| Set Variable | Store a value in the workflow execution context |
| Math | Arithmetic operations: add, subtract, multiply, divide, modulo, power, round |
| Text Formatter | Text operations: uppercase, lowercase, capitalize, trim, replace, split, extract email/URL, word count |
| Number Formatter | Number operations: parse, format, format as phone/currency, generate random |
| Date Formatter | Date operations: format date/datetime, compare dates |
| Array Functions | Array operations: find, filter, index, sum, min, max, average, count |
| Custom Code | Execute custom logic in a sandboxed environment with input/output mapping and configurable timeout |
| Update Custom Value | Update a custom value: set, append, increment, or decrement |
| AI Prompt | Call an AI model (GPT-4o, GPT-4o-mini, GPT-3.5 Turbo, Claude Sonnet, Claude Haiku) with a prompt, system instructions, temperature, and max tokens |
Workflow Routing Nodes (3)
Chain workflows together or remove contacts from running workflows.
| Node | What It Does |
|---|---|
| Add to Workflow | Enroll a contact in another workflow (with automatic cycle detection) |
| Remove from Workflow | Cancel a contact's active executions in a specific workflow |
| Remove from All Workflows | Cancel all active workflow executions for a contact |
Integration Nodes (2)
Connect to external systems.
| Node | What It Does |
|---|---|
| Webhook | Call any external URL with configurable HTTP method and authentication |
| Slack Message | Send a Slack message to a user or channel |
Notification Nodes (2)
| Node | What It Does |
|---|---|
| Internal Notification | Create an in-app notification for a team member |
| Add Note | Create a note on a contact's activity timeline |
Advanced Nodes (5)
| Node | What It Does |
|---|---|
| Goal Event | Watch for a specific event with three behaviors: end the workflow, continue from the goal, or wait until met |
| Drip | Rate limiter that batches contacts at a set interval (batch size 1 to 10,000) |
| Enroll in Campaign | Enroll a contact in a marketing campaign |
| Set Event Start Date | Set an event date from a specific date, contact field, or opportunity field |
| Modify Engagement Score | Adjust a contact's engagement score up or down |
Trigger Categories
Workflows can be triggered by 46+ events across the platform. Here is a summary by category:
| Category | Triggers | Examples |
|---|---|---|
| Contact | 3 | Contact created, contact updated, lifecycle stage changed |
| Tags | 3 | Tag added, tag removed, tag changed |
| Communication | 6 | Contact replied, email delivered, email opened, email clicked, email bounced, link clicked |
| Opportunity | 5 | Opportunity created, stage changed, status changed, deal gone stale |
| Invoice | 5 | Invoice created, sent, viewed, paid, overdue |
| Estimate | 3 | Estimate viewed, accepted, declined |
| Document | 4 | Document sent, viewed, signed, declined |
| Payment | 1 | Payment received |
| Subscription | 5 | Subscription created, cancelled, renewed, past due, trial ended |
| Form | 2 | Form submitted, survey submitted |
| Appointment | 7 | Appointment booked, confirmed, cancelled, rescheduled, no-show, completed, status changed |
| Task | 2 | Task added, task completed |
| Note | 1 | Note added |
| Call | 1 | Call completed, no answer, busy, voicemail, failed |
| Reminder | 2 | Birthday reminder, custom date reminder |
| DND | 1 | Contact DND status changed |
| Review | 1 | Review received (with platform and rating filters) |
| Social/Lead Forms | 7 | Facebook lead form, Google lead form, TikTok lead form, LinkedIn lead form, Facebook comment, Instagram comment, TikTok comment |
| Webhook | 1 | Inbound webhook (custom event injection from external systems) |
| Scheduled | 4 | Interval-based, one-time, recurring (daily/weekly/monthly), date field anniversary |
| Community | 3 | Community access changed, community level changed, affiliate event |
Key Capabilities
A/B Testing
Split contacts into test groups with configurable weight distribution. Track which variant performs better and optimize your workflows over time.
AI Prompts
Call large language models directly from your workflow. Use GPT-4o, GPT-3.5 Turbo, Claude Sonnet, or Claude Haiku to generate content, classify responses, extract data, or make decisions. Configure the system prompt, temperature, and token limits.
Custom Code
Execute custom logic within a sandboxed environment. Map inputs from the workflow context, run your logic, and map outputs back. Configurable timeout to prevent long-running operations.
Drip Campaigns
Use the drip node to rate-limit how contacts flow through a workflow. Set a batch size (1 to 10,000) and an interval to control pacing - useful for warming up email sends or staggering outreach.
Goal Events
Set a goal that watches for a specific event (like a purchase or a form submission). When the event occurs, the workflow can end immediately, continue from the goal node, or wait at the goal until it is met.
Dynamic Values
Use template interpolation throughout your workflows: ${contact.email}, ${variables.myVar}, ${steps.nodeId.output}. Access nested data with dot notation. Every node's output is available to downstream nodes.
Condition Recipes
Pre-built condition templates for common scenarios: "Has Email Address," "Contact Is Active," "Opportunity Value > $1,000," "No Activity in 30 Days," "Birthday This Month," and more. Use them as-is or customize.
Execution Safeguards
Seedly CRM includes multiple safeguards to prevent runaway automations:
| Safeguard | Description |
|---|---|
| Step limits | Maximum steps per execution to prevent infinite loops |
| Message limits | Maximum outbound messages per execution |
| Daily send caps | Configurable daily email and SMS limits per sub-account |
| Enrollment chain depth | Prevents recursive workflow enrollment (A enrolling B enrolling A) |
| Custom code timeout | Configurable execution timeout for sandboxed code |
| Business hours enforcement | Communication nodes respect configured time windows |
| Re-entry control | Per-workflow setting to allow or prevent re-entry while running |
| Stop on reply | Per-workflow setting to halt when a contact responds |
| Exit on conversion | Automatically exit when a contact converts to customer |
| Exit on unsubscribe | Automatically exit when a contact unsubscribes |
Workflow Settings
Each workflow has its own configuration:
- Allow re-entry while running - Whether a contact can be enrolled again if they are already in the workflow
- Stop on contact reply - Automatically halt the workflow when the contact responds to any message
- Allow multiple opportunities - Whether the workflow can create more than one opportunity per contact
- Exit on customer conversion - Automatically exit when the contact's lifecycle stage changes to Customer
- Exit on unsubscribe - Automatically exit when the contact unsubscribes
- Communication time window - Restrict sending to specific hours, days, and timezone
- Default sender - Set the from name, email address, and phone number for all communication nodes
Workflow Templates
Get started quickly with pre-built workflow templates:
- Lead Nurture - Multi-step email and SMS sequence for new leads
- Onboarding - Welcome sequence for new customers
- Reactivation - Re-engage inactive contacts
- Appointment Follow-Up - Post-appointment follow-up and review request
- Review Request - Request reviews after completed services
- Sales Pipeline - Automated stage-based follow-up for opportunities
Templates can be customized after creation and saved as new templates for your team.