Automations
Build powerful automations with triggers, conditions, and actions to streamline operations
Overview
Core's automation system lets you build workflows that automatically perform actions based on triggers and conditions. Reduce manual work, enforce processes, and ensure consistency.
Automation Components
Triggers
Events that start an automation:
| Trigger | Description |
|---|---|
| Ticket Created | New ticket is submitted |
| Ticket Updated | Ticket fields change |
| Ticket Status Changed | Status transitions |
| Ticket Assigned | Assignment changes |
| Customer Reply | Customer responds |
| SLA Breach | SLA target exceeded |
| Time Entry Added | Time is logged |
| Schedule | Run at specific times |
| Webhook Received | External trigger |
Conditions
Filters that determine if automation runs:
| Condition | Examples |
|---|---|
| Field equals | Priority = Critical |
| Field contains | Title contains "urgent" |
| Field is empty | Category is not set |
| Time-based | Created more than 1 hour ago |
| Relationship | Company = specific customer |
Actions
Operations performed when triggered:
| Action | Description |
|---|---|
| Update field | Change ticket field value |
| Assign ticket | Set assignee |
| Change status | Transition status |
| Add comment | Post update to ticket |
| Send notification | Email/SMS alert |
| Add tag | Apply tag to ticket |
| Attach checklist | Add checklist template |
| Webhook | Call external URL |
Creating Automations
Basic Setup
- Go to Settings > Automations
- Click New Automation
- Enter name and description
- Configure trigger
- Add conditions (optional)
- Add actions
- Test the automation
- Enable and save
Example: Auto-Priority Escalation
Automation: Escalate overdue tickets
Trigger: Schedule (every 15 minutes) Conditions:
- Status is not Complete
- Due date is past
- Priority is not Critical
Actions:
- Set Priority = High
- Add comment "Auto-escalated: ticket is past due"
- Send notification to Manager
Example: New Customer Routing
Automation: Route new customer tickets
Trigger: Ticket Created Conditions:
- Company has tag "New Customer"
Actions:
- Assign to Account Manager
- Add tag "Onboarding"
- Attach "New Customer Checklist"
Advanced Features
Multiple Actions
Run several actions in sequence:
- Add action
- Click Add Another Action
- Actions run in order
- Previous action results available to later actions
Conditional Branching
Different actions based on conditions:
IF Priority = Critical
THEN Assign to Senior Tech
AND Send SMS notification
ELSE IF Priority = High
THEN Assign to Available Tech
AND Send email notification
ELSE
THEN Leave unassigned
Delays
Add pauses between actions:
- Add Delay action
- Set duration (minutes, hours, days)
- Next action runs after delay
- Useful for follow-up reminders
Loops Prevention
Prevent infinite automation loops:
- Automations don't trigger themselves
- Update actions marked as "automated"
- Rate limiting on rapid triggers
- Maximum depth for nested automations
Scheduled Automations
Schedule Triggers
Run automations on schedules:
| Schedule | Use Case |
|---|---|
| Every X minutes | Frequent checks |
| Daily at time | Daily cleanup |
| Weekly on day | Weekly reports |
| Monthly on date | Monthly reviews |
| Custom cron | Complex schedules |
Example: Daily SLA Review
Run daily at 8 AM:
Actions:
- Find tickets approaching SLA
- Send summary email to Manager
- Tag tickets needing attention
Example: Weekly Cleanup
Run every Friday at 5 PM:
Actions:
- Find tickets in "Waiting Customer" >7 days
- Add comment requesting update
- If no response in 3 days, close ticket
Webhook Actions
Outbound Webhooks
Call external services:
- Add Webhook action
- Configure:
- URL endpoint
- Method (POST, GET, etc.)
- Headers
- Payload (JSON with variables)
- Handle response (optional)
Payload Variables
Include dynamic data:
{
"event": "ticket_created",
"ticket_id": "{{ticket.id}}",
"title": "{{ticket.title}}",
"company": "{{company.name}}",
"priority": "{{ticket.priority}}"
}
Response Handling
Process webhook responses:
- Store response data
- Use response in subsequent actions
- Handle errors gracefully
Testing Automations
Test Mode
Test before enabling:
- Click Test Automation
- Select or create test data
- Run in test mode
- Review actions that would execute
- Check logs for issues
Dry Run
Preview without executing:
- Enable Dry Run
- Automation logs what it would do
- No actual changes made
- Review and adjust
Test Data
Use test scenarios:
- Create test tickets
- Use specific test company
- Tag test records
- Clean up after testing
Automation Management
Organizing Automations
Keep automations organized:
- Descriptive names: "Route Critical Security Tickets"
- Categories: Group by function
- Documentation: Add description and notes
- Tags: Label for filtering
Enable/Disable
Control automation status:
- Open automation
- Toggle Enabled switch
- Disabled automations don't run
- Use for maintenance or troubleshooting
Version History
Track automation changes:
- Open automation
- Click History
- View previous versions
- Restore if needed
Audit Log
See automation activity:
- Go to Settings > Automations > Logs
- Filter by automation
- See when triggered
- View actions executed
- Check for errors
Troubleshooting
Automation Not Running
Check:
- Is automation enabled?
- Do conditions match?
- Is trigger configured correctly?
- Check logs for errors
Wrong Actions Executing
Verify:
- Conditions are specific enough
- No conflicting automations
- Test with specific data
- Review action order
Performance Issues
If automations are slow:
- Reduce trigger frequency
- Optimize conditions
- Limit webhook timeouts
- Batch operations where possible
Best Practices
- Start simple: Build complexity gradually
- Test thoroughly: Always test before enabling
- Document purpose: Explain what automation does
- Monitor regularly: Check logs for issues
- Avoid loops: Design to prevent circular triggers
- Use conditions: Be specific to avoid unintended runs