Building Automations
Step-by-step guide to creating powerful automations in Coherence
This guide walks you through creating automations from start to finish, with detailed explanations of every option.
Automation Builder Overview
The automation builder is a visual interface for creating rules that run automatically. Each automation consists of:
- Trigger - The event that starts the automation
- Conditions - Optional filters to limit when it runs
- Actions - What happens when the automation fires
Step 1: Create a New Automation
Accessing the Builder
- Go to Settings in the sidebar
- Click Automations
- Click Create Automation
Naming Your Automation
Choose a clear, descriptive name that explains what it does:
- ✅ "New lead Slack notification"
- ✅ "Overdue task email reminder"
- ✅ "Deal won celebration message"
- ❌ "Automation 1"
- ❌ "Test"
Use a naming convention like "Module: Action" - e.g., "Deals: Notify manager on close"
Step 2: Configure the Trigger
The trigger determines when your automation runs. Click Select Trigger to begin.
Record Triggers
Record Created
Fires when a new record is added.
| Option | Description |
|---|---|
| Module | Which module to monitor |
| Filter | Only trigger for specific records |
Example: New contact is created in the Contacts module
Record Updated
Fires when any field changes on a record.
| Option | Description |
|---|---|
| Module | Which module to monitor |
| Fields | All fields or specific fields only |
| Filter | Only trigger for specific records |
Example: Any field changes on a Deal
Field Changed
Fires when a specific field's value changes.
| Option | Description |
|---|---|
| Module | Which module to monitor |
| Field | Which field to watch |
| From/To | Optional: specific value changes |
| Filter | Only trigger for specific records |
Example: Status field changes from "Open" to "Won"
Record Deleted
Fires when a record is removed.
| Option | Description |
|---|---|
| Module | Which module to monitor |
| Filter | Only trigger for specific records |
Time-Based Triggers
Scheduled
Runs at specific times.
| Option | Description |
|---|---|
| Frequency | Daily, weekly, monthly |
| Time | When to run |
| Timezone | Which timezone to use |
Example: Every Monday at 9am
Date-Based
Runs relative to a date field.
| Option | Description |
|---|---|
| Module | Which module to check |
| Date Field | Which date to use |
| Offset | Before or after the date |
| Time | What time of day |
Example: 3 days before Due Date field
Email Triggers
Email Received
Fires when an email arrives.
| Option | Description |
|---|---|
| Mailbox | All mailboxes or specific |
| From | Filter by sender |
| Subject | Filter by subject contains |
Email Linked
Fires when an email is linked to a record.
| Option | Description |
|---|---|
| Module | Which module |
| Filter | Only specific records |
Step 3: Add Conditions (Optional)
Conditions narrow down when the automation runs. Click Add Condition after setting your trigger.
Condition Types
Field Conditions
| Operator | Example |
|---|---|
| Equals | Status equals "Active" |
| Not Equals | Status not equals "Closed" |
| Contains | Name contains "Enterprise" |
| Starts With | Email starts with "info@" |
| Is Empty | Phone is empty |
| Is Not Empty | Email is not empty |
| Greater Than | Deal Value > $10,000 |
| Less Than | Days Open < 30 |
Combining Conditions
AND Logic
All conditions must be true:
Status equals "Active"
AND
Deal Value > $10,000
AND
Owner equals "Sales Team"
OR Logic
Any condition can be true:
Status equals "Hot"
OR
Deal Value > $50,000
Condition Groups
Create complex logic with groups:
(Status equals "Active" AND Deal Value > $10,000)
OR
(Status equals "VIP")
Use conditions to prevent automations from firing on every change. This improves performance and reduces noise.
Step 4: Configure Actions
Actions are what the automation does when triggered. Click Add Action to begin.
Record Actions
Set Field Value
Update a field on the record.
| Option | Description |
|---|---|
| Field | Which field to update |
| Value | Static value, dynamic value, or formula |
Value Options:
- Static - Always set to same value ("Active")
- Dynamic - Use another field's value
- Formula - Calculate from multiple fields
Example: Set "Last Contact Date" to today
Create Record
Create a new record in any module.
| Option | Description |
|---|---|
| Module | Where to create the record |
| Fields | Values for the new record |
| Link | Link to triggering record |
Example: Create a follow-up Task when Deal is created
Update Related Records
Update records linked to the trigger record.
| Option | Description |
|---|---|
| Relationship | Which linked records |
| Filter | Which ones to update |
| Updates | Field values to change |
Example: Update all Contacts when Company status changes
Communication Actions
Send Email
Send an email using templates or custom content.
| Option | Description |
|---|---|
| To | Record email, specific address, or user |
| Template | Choose from saved templates |
| Subject | Static or with merge fields |
| Body | Rich text with merge fields |
Merge Fields:
Hello {{contact.first_name}},
Your {{record.name}} has been updated.
Best,
{{user.name}}
Send Slack Message
Post to a Slack channel or user.
| Option | Description |
|---|---|
| Channel | Select channel or DM |
| Message | Text with merge fields |
| Include Link | Add link to record |
Example Message:
🎉 New deal closed!
*{{record.name}}* - {{record.deal_value}}
Owner: {{record.owner.name}}
<View Deal|{{record.url}}>
Send Webhook
Send data to an external system.
| Option | Description |
|---|---|
| URL | The endpoint to call |
| Method | GET, POST, PUT, DELETE |
| Headers | Custom headers |
| Body | JSON payload |
Example Payload:
{
"event": "deal_closed",
"deal_id": "{{record.id}}",
"value": "{{record.deal_value}}",
"owner_email": "{{record.owner.email}}"
}
Assignment Actions
Assign to User
Set the owner or assignee.
| Option | Description |
|---|---|
| Field | Which user field to set |
| User | Specific user or dynamic |
Round Robin
Distribute records evenly.
| Option | Description |
|---|---|
| Users | Team or user list |
| Method | Sequential or random |
| Reset | When to restart rotation |
Flow Control Actions
Delay
Wait before the next action.
| Option | Description |
|---|---|
| Duration | Minutes, hours, or days |
Example: Wait 2 hours before sending follow-up
Condition Branch
Run different actions based on conditions.
IF deal_value > 50000 THEN
Send to VP Sales
ELSE
Send to Manager
Step 5: Test Your Automation
Before enabling, always test:
Using Test Records
- Create a test record that matches your conditions
- Trigger the automation
- Verify all actions executed correctly
- Check for unintended side effects
Dry Run Mode
Enable Dry Run to simulate without executing:
- See which records would trigger
- Preview actions that would run
- No actual changes are made
Checking the Log
- Go to Settings > Automations
- Click on your automation
- View the Run History tab
- See success, failures, and details
Step 6: Enable and Monitor
Enabling
- Toggle the automation On
- It immediately starts monitoring for triggers
- Check the log to confirm it's running
Monitoring
Regularly review:
- Run frequency
- Success rate
- Error messages
- Unexpected triggers
Pausing
Toggle Off to temporarily disable without deleting.
Example: Complete Walkthrough
Let's build a real automation: Notify sales team when high-value deal is created
Setup
- Create new automation
- Name: "Deals: Slack alert for high-value"
Trigger
- Select Record Created
- Module: Deals
- No additional filter (we'll use conditions)
Conditions
- Add condition: Deal Value > $25,000
- Add condition: Status equals Open
Actions
-
Send Slack Message
- Channel: #sales-alerts
- Message:
💰 *High-Value Deal Created* *{{record.name}}* Value: {{record.deal_value}} Company: {{record.company.name}} Owner: {{record.owner.name}} <View Deal|{{record.url}}> -
Create Record (Task)
- Module: Tasks
- Title:
"Follow up on {{record.name}}" - Assigned To:
{{record.owner}} - Due Date: +3 days
- Linked to:
{{record}}
Test
- Create a test deal with value $30,000
- Verify Slack message appears
- Verify task is created
- Check automation log
Enable
Toggle on and monitor for a few days.
Troubleshooting
"Automation not triggering"
- Check if automation is enabled
- Verify the trigger conditions
- Confirm record matches all conditions
- Check for conflicting automations
"Action failed"
- Review error message in log
- Check field permissions
- Verify external services are connected
- Test with simpler action first
"Too many notifications"
- Add more specific conditions
- Use delay actions to batch
- Consider combining automations
Related: Triggers | Actions | Workflow Examples