Workflow Automation
Workflow Automation enables you to create automated processes that trigger actions based on specific events or conditions, streamlining operations and reducing manual tasks.
Overview
Workflow Automation enables you to:
- Automate repetitive tasks
- Send notifications
- Update records automatically
- Create approval workflows
- Schedule recurring actions
- Integrate with external systems
Accessing Workflows
Navigate to Settings → Workflow Automation from the main menu.
Workflow Overview
All Workflows
Workflow Automation
Active Workflows:
┌────────────────────────────────────────────────────────────────┐
│ Workflow Name │ Trigger │ Runs (30d)│ Status │
├────────────────────────────────────────────────────────────────┤
│ New Customer Welcome │ Record Create│ 234 │ Active │
│ Invoice Overdue Reminder │ Scheduled │ 89 │ Active │
│ Large Order Notification │ Field Change │ 45 │ Active │
│ PO Approval Workflow │ Record Create│ 156 │ Active │
│ Lead Assignment │ Record Create│ 345 │ Active │
│ Low Stock Alert │ Field Change │ 67 │ Active │
│ Quote Follow-up │ Scheduled │ 123 │ Active │
│ Customer Review Request │ Record Update│ 189 │ Paused │
└────────────────────────────────────────────────────────────────┘
Workflow Statistics:
├─ Total Executions (30 days): 1,248
├─ Success Rate: 98.5%
├─ Average Duration: 1.2 seconds
└─ Failed Runs: 19
[+ Create Workflow]Creating Workflows
Workflow Builder
Create Workflow
Basic Information:
├─ Workflow Name: [Large Order Notification]
├─ Description: [Notify sales team when order exceeds $5,000]
├─ Entity: [Sales Orders ▼]
└─ Status: [Active ▼]
Trigger:
├─ Type: [When record is created or updated ▼]
│ ├─ When record is created
│ ├─ When record is updated
│ ├─ When record is created or updated
│ ├─ When field changes
│ ├─ On a schedule
│ └─ Manual trigger
└─ Run: ● Every time ○ Only once per record
Conditions:
├─ [Order Total] [is greater than] [$5,000]
├─ AND [Status] [equals] [Confirmed]
└─ [+ Add Condition]
Actions:
├─ 1. Send Email
│ ├─ To: Sales Manager
│ ├─ Subject: Large Order Alert: {order_number}
│ └─ Body: [Template: Large Order Alert]
├─ 2. Create Task
│ ├─ Assigned To: Account Manager
│ ├─ Subject: Review large order {order_number}
│ └─ Due: 1 day from now
├─ 3. Update Field
│ ├─ Field: Priority
│ └─ Value: High
└─ [+ Add Action]
[Save Workflow]Trigger Types
Record-Based Triggers
Record Triggers
When Record is Created:
├─ Fires immediately after record creation
├─ All fields are available
└─ Example: Send welcome email to new customer
When Record is Updated:
├─ Fires after any field change
├─ Can compare old vs new values
└─ Example: Notify when status changes
When Field Changes:
├─ Fires only when specific field changes
├─ Specify which fields to watch
└─ Example: Alert when credit limit changes
Configuration:
├─ Entity: [Sales Orders ▼]
├─ Trigger: [When field changes ▼]
├─ Watch Fields:
│ ├─ [x] Status
│ ├─ [x] Total Amount
│ ├─ [ ] Ship Date
│ └─ [ ] Notes
└─ Run When: ● Any watched field changes
○ All watched fields changeScheduled Triggers
Scheduled Triggers
Schedule Type: [Recurring ▼]
Frequency:
├─ ● Hourly - Every [1] hours
├─ ○ Daily - At [9:00 AM] every day
├─ ○ Weekly - On [Monday] at [9:00 AM]
├─ ○ Monthly - On day [1] at [9:00 AM]
└─ ○ Custom - Cron expression: [0 9 * * *]
Time Zone: [Eastern Time ▼]
Record Selection:
├─ Process: [Invoices ▼]
├─ Filter: [Due Date] [is before] [Today]
│ AND [Status] [equals] [Unpaid]
│ AND [Days Overdue] [is greater than] [7]
└─ Limit: Process up to [100] records per run
Example: Invoice Overdue Reminder
├─ Schedule: Daily at 9:00 AM
├─ Records: Invoices past due by 7+ days
└─ Action: Send reminder email to customerConditions
Condition Builder
Workflow Conditions
Match: ● All conditions (AND) ○ Any condition (OR)
Conditions:
┌────────────────────────────────────────────────────────────────┐
│ Field │ Operator │ Value │
├────────────────────────────────────────────────────────────────┤
│ Order Total │ is greater than │ $5,000 │
│ Status │ equals │ Confirmed │
│ Customer Type │ is one of │ VIP, Enterprise │
│ Ship Country │ is not empty │ │
└────────────────────────────────────────────────────────────────┘
[+ Add Condition] [+ Add Condition Group]
Available Operators:
├─ equals / does not equal
├─ contains / does not contain
├─ starts with / ends with
├─ is greater than / less than
├─ is between
├─ is empty / is not empty
├─ is one of / is not one of
├─ has changed / has not changed
└─ changed from X to YAdvanced Conditions
Advanced Condition: Formula
Use formula to create complex conditions:
Formula:
[{order_total} > 5000 AND {customer.credit_score} >= 700]
Available in Formulas:
├─ Current record fields: {field_name}
├─ Related record fields: {customer.field_name}
├─ System variables: {current_user}, {today}, {now}
├─ Math operators: +, -, *, /, %
├─ Comparison: ==, !=, >, <, >=, <=
├─ Logical: AND, OR, NOT
└─ Functions: IF(), CONTAINS(), DAYS_BETWEEN()
Examples:
├─ {total} > {customer.credit_limit} * 0.8
├─ DAYS_BETWEEN({created_date}, {today}) > 30
└─ CONTAINS({tags}, "VIP") AND {country} == "US"Actions
Available Actions
Workflow Actions
Notification Actions:
├─ Send Email - Send email to recipients
├─ Send SMS - Send text message
├─ In-App Notification - Create notification
├─ Slack Message - Post to Slack channel
└─ Teams Message - Post to Teams channel
Record Actions:
├─ Update Field - Change field value
├─ Create Record - Create new record
├─ Create Task - Create task/follow-up
├─ Create Note - Add note to record
└─ Delete Record - Remove record (with approval)
Integration Actions:
├─ HTTP Request - Call external API
├─ Webhook - Send webhook notification
└─ Run Script - Execute custom code
Flow Control:
├─ Wait - Pause for specified time
├─ Condition Branch - If/Then logic
├─ Loop - Repeat for related records
└─ Stop Workflow - End executionSend Email Action
Action: Send Email
Recipients:
├─ To: [Record owner, Customer email, [email protected]]
├─ CC: [ ]
├─ BCC: [ ]
└─ Reply-To: [[email protected]]
Email Content:
├─ Subject: [Large Order Alert: {order_number} - ${order_total}]
├─ Template: [Large Order Alert ▼]
│ OR
├─ Custom Body:
│ ┌──────────────────────────────────────────────────────────┐
│ │ A large order has been placed: │
│ │ │
│ │ Order: {order_number} │
│ │ Customer: {customer_name} │
│ │ Total: {order_total} │
│ │ │
│ │ View Order: {order_url} │
│ └──────────────────────────────────────────────────────────┘
└─ Attachments: [ ] Attach related documents
Send Options:
├─ Send immediately: ●
├─ Delay send: ○ Wait [__] hours/days
└─ [x] Log email in activity historyUpdate Field Action
Action: Update Field
Record: Current record (Sales Order)
Field Updates:
┌────────────────────────────────────────────────────────────────┐
│ Field │ New Value │
├────────────────────────────────────────────────────────────────┤
│ Priority │ [High ▼] │
│ Assigned To │ [Senior Sales Rep ▼] │
│ Review Required │ [Yes ▼] │
│ Review Notes │ [Auto-flagged: Order exceeds $5,000] │
│ Updated By │ [Workflow: Large Order Notification] │
└────────────────────────────────────────────────────────────────┘
[+ Add Field Update]
Options:
├─ [x] Create audit trail entry
└─ [x] Trigger other workflowsApproval Workflows
Approval Configuration
Approval Workflow: Purchase Order Approval
Trigger: PO Created with Total > $1,000
Approval Chain:
┌────────────────────────────────────────────────────────────────┐
│ Level │ Condition │ Approver │ Timeout │
├────────────────────────────────────────────────────────────────┤
│ 1 │ Total > $1,000 │ Department Manager │ 48 hours │
│ 2 │ Total > $5,000 │ Finance Manager │ 48 hours │
│ 3 │ Total > $25,000 │ CFO │ 72 hours │
└────────────────────────────────────────────────────────────────┘
Approval Settings:
├─ Parallel Approval: [ ] Allow (all must approve)
├─ Sequential Only: ● (one at a time)
├─ Delegate: [x] Allow approver delegation
└─ Skip if Approver is Requestor: [x]
Actions on Approval:
├─ Update Status: Approved
├─ Send Email: Notify requestor
├─ Create Task: Submit to vendor
└─ Update Field: Approved By, Approved Date
Actions on Rejection:
├─ Update Status: Rejected
├─ Send Email: Notify requestor with reason
└─ Create Task: Review and reviseWorkflow History
Execution Log
Workflow Execution History
Workflow: Large Order Notification
Time Range: Last 30 Days
Execution Summary:
├─ Total Runs: 45
├─ Successful: 44 (97.8%)
├─ Failed: 1 (2.2%)
└─ Average Duration: 0.8 seconds
Recent Executions:
┌────────────────────────────────────────────────────────────────┐
│ Date │ Record │ Duration│ Status │ Actions │
├────────────────────────────────────────────────────────────────┤
│ Jan 22 3:45│ SO-2026-0892 │ 0.9s │ ✓ Done │ Email, Task │
│ Jan 22 2:30│ SO-2026-0891 │ 0.7s │ ✓ Done │ Email, Task │
│ Jan 22 11:15│SO-2026-0889 │ 1.2s │ ✓ Done │ Email, Task │
│ Jan 21 4:20│ SO-2026-0885 │ - │ ✗ Fail │ Email failed │
│ Jan 21 2:15│ SO-2026-0883 │ 0.8s │ ✓ Done │ Email, Task │
└────────────────────────────────────────────────────────────────┘
[View Details] [Export Log]Debug Mode
Debug Workflow Run
Workflow: Large Order Notification
Record: SO-2026-0892
Step-by-Step Execution:
┌────────────────────────────────────────────────────────────────┐
│ Step │ Action │ Result │ Duration │
├────────────────────────────────────────────────────────────────┤
│ 1 │ Evaluate Trigger │ ✓ Pass │ 0.01s │
│ 2 │ Check: Total > $5,000 │ ✓ Pass │ 0.01s │
│ │ Value: $8,456.78 │ │ │
│ 3 │ Check: Status=Confirmed │ ✓ Pass │ 0.01s │
│ │ Value: "Confirmed" │ │ │
│ 4 │ Send Email │ ✓ Sent │ 0.65s │
│ │ To: sales-manager@... │ │ │
│ 5 │ Create Task │ ✓ Done │ 0.12s │
│ │ Task ID: TSK-2026-456 │ │ │
│ 6 │ Update Priority │ ✓ Done │ 0.08s │
│ │ Changed: Normal → High │ │ │
└────────────────────────────────────────────────────────────────┘
Total Duration: 0.88 seconds
Result: SuccessBest Practices
Design
- Keep workflows simple
- Use descriptive names
- Document workflow purpose
- Test before activating
Performance
- Avoid loops where possible
- Use filters to limit records
- Set appropriate timeouts
- Monitor execution times
Maintenance
- Review workflows regularly
- Clean up unused workflows
- Update for business changes
- Keep audit trail
Troubleshooting
Common Issues
Workflow not triggering
- Check trigger conditions
- Verify workflow is active
- Review record changes
- Check execution logs
Actions not completing
- Review action configuration
- Check permissions
- Verify external connections
- Review error messages
Performance issues
- Check record volume
- Review condition complexity
- Optimize filters
- Consider scheduling
Related Documentation
Learn about Notifications for configuring alert delivery.
