Workspace
A workspace is your tenant — its own contacts, templates, automations, members, Subscription, and audit log. A user can belong to multiple workspaces; switching is the same as signing into a different one.
User & Membership
A user is a single human identified by email. A Membership joins a user to a workspace with a role: OWNER, ADMIN, MEMBER, or VIEWER. The first user of a workspace is the OWNER by default.
Contact
A contact is the person on the receiving end. Contacts can have first/last name, email, phone, tags, marketing/transactional consent flags, and arbitrary metadata. Tags are how automations branch (HAS_TAG condition).
Template
A reusable message body bound to a single channel (EMAIL / SMS / WHATSAPP / VOICE). Variables in {{double-braces}} are substituted at send time from the target contact's fields.
Automation & Workflow
Both are saved graphs that the engine executes. Workflows are the legacy step-array shape (still supported); Automations use the canvas-native node graph. They share the merged editor and the same execution engine.
Statuses: DRAFT (not running), ACTIVE (eligible to run),PAUSED, ARCHIVED.
Run
One end-to-end execution of an automation against a single contact (or one inbound event) → one WorkflowRun row. Statuses flow: PENDING → RUNNING → COMPLETED, with FAILED and CANCELED as terminal failure paths. A run can produce zero, one, or many delivery attempts depending on how the graph branches. Visible at /runs under Operate — see Run history.
Delivery attempt
One outbound message → one DeliveryAttempt row. Statuses flow: QUEUED → PROCESSING → SENT → DELIVERED, with RETRYING andFAILED as failure paths. Retries on transient errors don't count against your plan cap. Where a delivery was produced by a run, both surfaces cross-link.
Subscription
Each workspace has at most one ACTIVE Subscription pinning it to a plan. Absence = Free. Plan changes from Upgrade plan flow through Midtrans Snap and take effect once the webhook reports settlement.
Glossary
| Term | Definition |
|---|---|
| RBAC | Role-based access control — OWNER > ADMIN > MEMBER > VIEWER. |
| Snap | Midtrans drop-in checkout overlay. |
| DLQ | Dead-letter queue — deliveries that exhausted retries. |
| MRR | Monthly recurring revenue — Σ plan price × active subscribers. |
| MAU | Monthly active users — a marketing metric, not enforced. |
| TTL | Time-to-live — invitations expire 14 days after creation. |
Plan-gated capabilities
These are the things plan tiers actually enforce. See Plans for the matrix.
- Active workflows/automations (combined cap)
- Messages per rolling 30 days
- Teammates (members + pending invites)
- Recurring schedules
- Channels (Free = Email only; Pro adds Voice)
- API access (None / Read-only / Full)
- Audit log read
- Fallback routing
- SSO (Pro only)