# Automation & Workflows

> 79 node types, 68+ triggers, and a visual drag-and-drop workflow builder.

## The Visual Workflow Builder

The workflow automation engine builds multi-step automations visually - no code required - on a drag-and-drop canvas. Workflows can send messages, update records, route leads, create tasks, generate invoices, call external APIs, and run AI prompts.

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

1. **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 68+ other events.

2. **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.

3. **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.

4. **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

The builder ships 79 action node types. The tables below are highlights by category, not the exhaustive list - the [Workflow Node Reference](/docs/help/workflow-nodes) covers every node.

### Communication Nodes

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

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

| 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

| 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 |

### Follower Management Nodes

| 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

| 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

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 |
| Go To | Jump to another node in the workflow |

### Wait and Response Nodes

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

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 |
| Update Custom Value | Update a custom value: set, append, increment, or decrement |
| AI Prompt | Call an AI model (GPT-4o, Claude, or others) with a prompt, system instructions, temperature, and max tokens |

### Workflow Routing Nodes

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

Connect to external systems and send conversion data to ad platforms.

| 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 |
| Google Ads Conversion | Send conversion data back to Google Ads for ROI tracking and campaign optimization |
| Meta CAPI Conversion | Send conversion events to Meta via the Conversions API for server-side attribution |
| Stripe Charge | Process off-session charges via workflow automation using stored payment methods |

### Notification Nodes

| 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

| 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 68+ events across the platform. Here is a summary by category:

| Category | Triggers | Examples |
|----------|----------|---------|
| Contact | 4 | Contact created, contact updated, lifecycle stage changed, contact score changed |
| Tags | 2 | Tag added, tag removed |
| Communication | 8 | Customer replied, email delivered/opened/clicked/bounced, SMS delivered, SMS failed, message sent |
| Opportunity & Pipeline | 8 | Opportunity created, updated, stage changed, status changed, stale, deal won |
| Invoice | 5 | Invoice created, sent, viewed, paid, overdue |
| Estimate | 5 | Estimate created, sent, viewed, accepted, declined |
| Document | 4 | Document sent, viewed, signed, declined |
| Billing | 3 | Subscription created, subscription cancelled, plan purchased |
| Form | 1 | Form submitted |
| Appointment | 6 | Appointment booked, confirmed, cancelled, rescheduled, no-show, completed |
| Task | 5 | Task added, updated, completed, deleted, task reminder |
| Projects | 3 | PM project created, PM task assigned, new project created |
| Note | 1 | Note added |
| Call | 7 | Call completed, missed, no answer, outcome set, recording completed, transcript ready, call graded (AI) |
| DND | 1 | Contact DND changed |
| Review | 4 | Review received, review link clicked, positive review left, negative review left |
| Social/Lead Forms | 7 | Facebook/Google/TikTok/LinkedIn lead forms, Facebook/Instagram/TikTok comments |
| Webhook | 1 | Inbound webhook (custom event injection from external systems) |
| Scheduled | 5 | Scheduled (cron), run once, recurring schedule, recurring segment, date field |

Many triggers carry filters to narrow when they fire. For example, the Invoice Paid trigger can be limited to invoices that include specific products (alongside the existing tag and amount filters), and the Review trigger filters by platform and rating. Once a trigger is placed on the canvas its type is locked, so its filters cannot be lost by accidentally switching it to another type - to change the trigger, delete the node and add the one you want.

---

## 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, Claude, or others to generate content, classify responses, extract data, or make decisions. Configure the system prompt, temperature, and token limits.

### 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 limits per sub-account for email and SMS sends |
| Refund caps | Configurable daily refund limit and a per-refund ceiling to contain billing errors |
| Rate limiting | Public requests are rate-limited to prevent abuse |
| Enrollment chain depth | Prevents recursive workflow enrollment (A enrolling B enrolling A) |
| 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 |
| Dry-run mode | Test workflows without real side effects - skips 10 real-API node types (send email, send SMS, charge, refund, and others) while executing all logic and logging what would have happened |

---

## 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.

---
Source: https://seedlycrm.com/docs/automation
