Projects
Deliberately kept simple: no sprints, no custom fields, no multi-level nested subtasks. Just "who's doing what, what's blocked, and blocked by what" — a single task can only depend on 1 other task.
Task board
Each project splits into columns by task status: not started · in progress · blocked · done. Click "Create task" to add a new card — enter task name, details, assignee, due date, and priority (normal/urgent).
A task set to "blocked" must always state what it's waiting on — you can choose another task in the same project, or type a reason yourself. The confirm button stays disabled until one of the two is filled in. A task can't wait on itself, and can't depend on a task in a different project.
When the task it was "waiting on" is completed, the blocked card shows a "waiting task completed" banner with a "Start" button ready to click immediately.
Task detail
Open a card to view/edit: subtasks (check off one at a time, with the name of who did it) and attachments (limited count per card).
Managing projects
Projects are split into 3 groups: active · done · archive — you can close, archive, reopen, or delete a project (management permission only).
The "General tasks" project (which holds tasks not in any project) is deliberately undeletable · deleting another project deletes every task in it, but any task in a different project that depended on those tasks stays "blocked" (it isn't unblocked automatically) · the free package allows only 1 project active at a time.
Automation
Create "when this happens, do that" rules — e.g. an order comes in after 10pm, notify the kitchen. Split into 2 tabs: Rules and Run log
System status
The bar at the top shows when automation last ran. If it has never run yet or has gone unusually quiet, a warning message shows instead of looking like nothing's wrong, along with today's send quota (used/cap) and package tier (free/paid).
Create/edit a rule
- 1Click "Create rule" — name the rule and choose a trigger (the event that fires the rule)
- 2Add up to 10 conditions (e.g. amount greater than/equal to/between a set value)
- 3Add up to 5 actions — at least 1 action is always required. The message you send can include variables by clicking the chips below the message field
- 4A rule that sends to customers needs the additional "send to customers" permission before it can be enabled — you can create the rule without this permission, but can't turn it on until you have it
Each rule's status
| Status | Meaning |
|---|---|
| Running | Enabled and running normally |
| Paused | The system paused this rule itself with a reason (e.g. hit the package cap) — fix the issue and click "Resume" |
| Off | Turned off by hand by the user |
Run log
Each time a rule fires, an entry logs: ran (how many sent successfully) · partially ran (some sends failed) · didn't run (conditions not met) · skipped (e.g. this customer was just messaged and the cooldown hasn't passed, hit the daily cap, the customer opted out of promotional messages, currently blocked) · error — every line carries the real reason from the system, never collapsed into one "couldn't run" line.
A rule never triggers itself in an unlimited chain — the system caps how deep triggers can chain together, and events caused by automation itself never go on to trigger other rules (preventing an endless loop).
What can break
| Symptom | Cause / fix |
|---|---|
| Can't enable a rule | Missing the "send to customers" permission, or already at the package's cap for simultaneously active rules — turn off an old rule or upgrade the package |
| Can't set a task to "blocked" | You must always choose a waiting task or type a reason first |
| Can't delete a project | If it's the "General tasks" project, it's deliberately undeletable |
| Can't edit a task — "This project is archived" | Reopen the project first before you can edit its tasks |
| A rule shows "Paused" | Read the reason shown (e.g. hit the package cap), fix it, and click "Resume" |
| The run log shows "Skipped" | Not an error — read the attached reason (cooldown/cap reached/customer opted out, etc.); it's normal system behavior |