Real automation. No Zapier in between.
Every 5 minutes, scheduled rules check trigger → optional condition → action against your tasks. Reassign overdue work. Notify on QC requirement. Escalate blocked tasks. Built into the database, not bolted on.
Trigger → Condition → Action → Notify.
A cron worker on the same VPS as your app runs every 5 minutes. It scans your active rules, evaluates each rule's trigger and optional condition against the current task table, and applies the configured action. No webhook duct tape. No 30-second polling. No third-party service hosting your automation logic.
Rich triggers
Field changes (status, priority, assignee, project). Time-based (overdue by N days). Aggregate (sprint with > 80% blocked).
Compound conditions
Optional secondary check after trigger fires. AND-combined with trigger for precise targeting.
Five action types
update_status, update_priority, reassign, add_label, notify (in-app + email). All one DB transaction.
QC gate respected
Engine never auto-Done's a task with requires_qc=true unless it's already Under Review. Same rule the UI enforces.
Per-tenant isolation
Rules are scoped to tenant. Engine groups by account_id and processes each tenant's tasks separately.
Dry-run + caps
AUTOMATION_DRY_RUN env flag for safe testing. 100-action-per-rule-per-tick cap so a misconfigured rule can't empty your table.
"We had Zapier zaps falling over silently for months. Now our automation runs on the same DB as our work — when it fires it actually fires, and when it doesn't I can see why in the logs."
Hassan, AI/Software Engineer5 min
Tick interval
100
Action cap per rule per tick
0
Third-party automation services required
Automation that lives in your DB.
Trial includes sample rules and a dry-run dashboard so you can see triggers fire without writing data.