Triggers
Workflow Triggers
Configure what starts your workflows.
Trigger Types
Signal Triggers
Start when specific signals are detected:
| Signal Type | Example |
|---|---|
| Health | Health score drops |
| Usage | Usage decline detected |
| Support | Ticket spike |
| Business | Renewal approaching |
| Custom | Your defined signals |
Configuration
Trigger: Signal Detected
Filter: Signal type = "Usage Drop"
Additional Conditions:
- Account health < 70
- MRR > 5000
Schedule Triggers
Run at specific times:
| Schedule | Use For |
|---|---|
| Hourly | Frequent checks |
| Daily | Morning reports |
| Weekly | Digest summaries |
| Monthly | Quarterly reviews |
| Custom cron | Advanced timing |
Schedule Examples
| Cron Expression | Runs |
|---|---|
0 9 * * * |
Every day at 9 AM |
0 9 * * 1 |
Every Monday at 9 AM |
0 8 1 * * |
First day of month at 8 AM |
0 */4 * * * |
Every 4 hours |
Webhook Triggers
Start from external systems:
Webhook URL: https://api.karolina.ai/webhook/workflow/{id}
Webhook Payload
{
"event": "account.updated",
"account_id": "acc_123",
"data": {
"field": "value"
}
}
Webhook Authentication
| Method | Setup |
|---|---|
| API Key | Include in header |
| Signature | Verify HMAC signature |
| OAuth | Full OAuth flow |
Manual Triggers
User-initiated execution:
| Method | How |
|---|---|
| Button | Click in UI |
| Copilot | “Run [workflow] on [accounts]” |
| API | POST to workflow endpoint |
Condition Triggers
Run when accounts meet criteria:
| Condition Type | Example |
|---|---|
| Health | Score < threshold |
| Usage | Activity level |
| Lifecycle | Stage = At-Risk |
| MRR | Revenue thresholds |
| Custom Field | Your defined fields |
Condition Examples
IF account.health_score < 50
AND account.mrr > 10000
AND account.renewal_date < 90_days
THEN run workflow
AOP Triggers
Start from Agent Operating Procedures:
| AOP Event | Trigger |
|---|---|
| AOP Executed | When AOP runs |
| Human Approval | When approval needed |
| AOP Complete | When finished |
| AOP Failed | On error |
Trigger Configuration
Priority
Multiple triggers can fire:
| Priority | Behavior |
|---|---|
| 1 (Highest) | Runs first |
| 2 | Runs second |
| … | Sequential |
| Last | Runs last |
Debouncing
Prevent rapid re-runs:
| Setting | Description |
|---|---|
| None | Run every time |
| Per Account | Once per account in window |
| Per Workflow | Once globally in window |
| Window | Time period (e.g., 1 hour) |
Retry on Failure
What if trigger fails:
| Setting | Behavior |
|---|---|
| Don’t retry | Fail immediately |
| Retry X times | Attempt X times |
| Retry until success | Keep trying |
| Retry with backoff | Increasing delays |
Combining Triggers
OR Logic
Run if any trigger fires:
TRIGGER: Signal "Usage Drop" OR Signal "Health Drop"
AND Logic
Run only if all conditions met:
TRIGGER: Schedule "Daily" AND Condition "Health < 50"
Complex Logic
Multiple conditions:
TRIGGER: (Signal A OR Signal B)
AND Schedule "Weekdays"
AND Condition "MRR > 5000"
AND NOT Condition "Status = Paused"
Testing Triggers
Preview Mode
See what would trigger:
- Enable Preview Mode
- Trigger fires (simulated)
- See affected accounts
- Verify conditions
- Disable when ready
Test Execution
Run on sample:
- Select test account
- Click Test Trigger
- See if workflow starts
- Check results
- Debug if needed
Best Practices
| Tip | Why |
|---|---|
| Be specific | More precise = better results |
| Use debouncing | Prevent spam |
| Test thoroughly | Verify before enabling |
| Monitor triggers | Watch for issues |
| Set timeouts | Prevent infinite loops |