Glossary
The words these docs use, in one line each.
| Term | Meaning |
|---|---|
| Project | A tenant. Owns its senders, contacts, sequences, provider credentials, webhook endpoints and API keys. |
| Sender | The acting user an enrollment runs as. Has a Google connection and channels (email from Google, sms from an Allo number, linkedin manual), a time zone and limits. |
| Connection | A sender's authorized account at an OAuth provider (Google: Gmail and Calendar under one consent), with its tokens, owned by the auth module. API-key providers (Allo, Attio) have no connections: one workspace key per project. |
| Channel | One way a sender can reach contacts: email, sms, linkedin. Has an address, a status and limits. |
| Contact | The person who receives a sequence. Has email, phone, LinkedIn URL, country, time zone, sms_consent, and free attrs JSON. |
| Suppression | A do-not-contact mark on a contact for one channel or all, from an opt-out, a bounce, a complaint, or your own report. Checked at enrollment and again at execution. |
| Sequence | A named container of versions. |
| Version | One immutable JSON definition once published. Has a tag (v1, v2, free text) and a status (draft, published, archived). |
| Definition | The JSON document: schema_version, entry, settings, exit_on, nodes. |
| Node (step) | One box in the definition. Types: start, outreach, wait, wait_for, condition, task, end. |
| Outreach step | A node with channel email or sms and action send. |
| Transition | A named edge out of a node (sent, skipped, failed, then, yes, no, completed, no_answer, an event name, timeout). |
| Touch | An outreach step that was sent. Numbered per enrollment; the denominator of delivered-rate metrics. |
| Enrollment | One contact running one version, as one sender. |
| Run | One execution of one node for one enrollment. Append-only ledger. |
| Message | One email or text the service sent or received. |
| Task | A manual step for a human (a call, a LinkedIn action, anything the client defines), created by a task node and completed through the API. |
| Outcome | The free-text result of a task (connected, no_answer, voicemail, …), matched against branches_by_outcome. |
| Signal | A normalized fact from outside (reply, bounce, meeting booked, call outcome, opt-out, …), produced by provider webhooks and polls, task completions or the client. |
| Attribution | Which run a reply or a meeting is credited to: direct (the latest same-channel touch), assisted (the latest touch of another channel), or none (a later reply or meeting in the same enrollment). |
| Facts | The data a condition reads at evaluation time, stored on the run. |
| CRM facts | Values a condition reads live from the CRM (Attio) at decision time: the contact's person, company and open deal. |
| Send window | Days and hours, in the contact's or the sender's zone, outside which outreach steps wait. |
Business day (bd) | Monday to Friday in the relevant time zone; holidays are not modelled. |
| Gate | A check an executor makes before a side effect (consent, suppression, channel status, caps, window). A failed gate skips or defers the step. |
| Planner | The loop that claims due enrollments and runs the interpreter. |
| Executor | The queue consumer that performs one outreach step (seq_email, seq_sms). |
| Reaper | The sweep that repairs what a crash left behind. |
| Webhook endpoint | A URL of the client that the service calls when something happens. |
| Delivery | One event sent to one endpoint, with its attempts. |
| Operator | Whoever runs the deployment; holds SEQ_ADMIN_TOKEN. |
| Scope | What an API key may do: read, enroll, admin. |
| Mock providers | SEQ_DEV_MOCK_PROVIDERS=1: in-memory adapters for development and CI; POST /hooks/mock/{slug} simulates inbound events. |