Automation Engine

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.

Automation flow showing trigger, condition, action, and notify stages
How it works

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 Engineer

5 min

Tick interval

100

Action cap per rule per tick

0

Third-party automation services required

Ready when you are

Automation that lives in your DB.

Trial includes sample rules and a dry-run dashboard so you can see triggers fire without writing data.