Troubleshooting Automations
When an automation rule isn't behaving the way you expect, the audit log is your best starting point — it records every trigger attempt, what conditions were evaluated, and why the rule did or didn't act. This guide walks through the most common problems and how to fix them.
Quick Reference Table
| Problem | Likely Cause | Solution |
|---|---|---|
| Rule never fires at all | Rule is disabled | Enable the toggle in the rule list |
| Rule fires but skips every event | Wrong trigger type | Match trigger to the action that actually happened |
| Only some events get colored | Conditions are too strict | Review AND/OR logic; broaden or remove conditions |
| Webhook doesn't reach the rule | Wrong URL or wrong Content-Type | Verify URL and header; check History tab |
| "Run Now" doesn't seem to apply | 1-minute cooldown active | Wait and retry; check History tab for result |
| Audit log shows "error" | Action misconfigured or event deleted | Check action settings; confirm event still exists |
Rule Not Triggering at All
Check 1: Is the rule enabled?
Go to Dashboard → Automation. Rules show a toggle on the right side of each row. If the toggle is off, the rule is paused and will not fire for any event. Click it to enable the rule.
Check 2: Does the trigger type match what happened?
The trigger type must match the exact action that occurred. Common mismatches:
- You have
event.createdbut you're editing an existing event → useevent.updated - You have
event.starts_inset to 30 minutes but the event is starting in 5 minutes → it already passed the window - You have
webhook.incomingbut you're creating events manually → those don't go through a webhook
Check 3: Look in the audit log
- Open the rule from the Automation panel
- Go to the History tab
- Look for entries with
skippedorno match— these tell you the rule fired but something stopped it from acting
Rule Fires but Matches Wrong Events
Add a calendar filter
If your rule is acting on events from calendars you didn't intend, add a condition:
- Field:
calendar.name - Operator:
equals - Value: the exact name of the calendar you want to target (e.g.,
Work)
Tighten the title condition
"Contains Meeting" matches any event with the word "Meeting" anywhere in the title. If that's too broad:
- Switch to
starts_withif your events follow a naming convention - Use
equalsfor an exact match - Use
matches_regexfor fine-grained pattern control
Review AND vs OR logic
If you have multiple conditions and the rule is acting on more events than expected, check the rule's logic setting. OR logic fires if any condition matches — if you want all conditions to be true at once, switch to AND.
Audit Log Shows "error"
An error in the audit log means the rule fired and matched, but the action itself failed. Common reasons:
Invalid action configuration: Open the rule and check the Action section. If the action is set_event_color, make sure a color is selected.
Event no longer exists: If an event was deleted between the time the trigger fired and the time the action ran, the action has nothing to operate on. This is usually harmless — the event is gone anyway.
Conflict with another rule: If two rules try to set the color of the same event simultaneously, one may fail. Check whether multiple rules target the same events and consider consolidating them.
Webhook Not Triggering the Rule
Step 1: Verify the URL
Go to the rule's Webhook tab and copy the URL again. Compare it character for character with what your external system is sending to. A single wrong character in the token breaks the connection.
Step 2: Check the Content-Type header
The request must include Content-Type: application/json. If your external system sends text/plain or omits the header, PrimeCal may not parse the body correctly.
Quick test with curl:
curl -X POST YOUR_WEBHOOK_URL \
-H "Content-Type: application/json" \
-d '{"test": true}'
Step 3: Check the History tab
Even failed or filtered webhook calls appear in the History tab. If you don't see any entry for a webhook you just sent, the request didn't reach PrimeCal — check the URL. If you do see an entry but the action didn't run, look at the reason field (it will show which condition filtered it out).
Step 4: Has the token been regenerated?
If the webhook URL was recently regenerated, the old URL no longer works. Update your external system with the new URL from the Webhook tab.
Retroactive "Run Now" Not Working
The Run Now button in the rule detail view triggers retroactive execution against all existing events. There is a 1-minute cooldown between runs — if you just ran it, wait a moment and try again.
After clicking Run Now:
- A confirmation dialog shows how many events will be evaluated
- Confirm to start the run
- Open the History tab — entries with
retroactivein the source column show you what was processed and what happened
If the History tab shows the run completed but events aren't colored, the rule's conditions are probably filtering everything out. Try disabling conditions temporarily to confirm the action works, then re-enable them one at a time.
Conditions Are in AND Mode but Should Be OR (or Vice Versa)
Open the rule for editing. Near the top of the Conditions section you'll see a logic toggle: Match ALL (AND) or Match ANY (OR). Flip it and save the rule, then test again.
Getting More Detail from the Audit Log
Each entry in the History tab can be expanded to see:
- The raw trigger data (event fields or webhook payload)
- Each condition evaluation (which conditions matched, which didn't)
- The action result (success, error, or skipped with reason)
- Timestamps for each step
If something is unexpected in the evaluation, the expanded detail view tells you exactly what PrimeCal saw when it ran the rule.
Last updated: 2026-06-30 | PrimeCal v1.3.4