OpenSequence
DocsAPI referenceSDKs and CLIReference

Glossary

The words these docs use, in one line each.

Edit on GitHub
TermMeaning
ProjectA tenant. Owns its senders, contacts, sequences, provider credentials, webhook endpoints and API keys.
SenderThe 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.
ConnectionA 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.
ChannelOne way a sender can reach contacts: email, sms, linkedin. Has an address, a status and limits.
ContactThe person who receives a sequence. Has email, phone, LinkedIn URL, country, time zone, sms_consent, and free attrs JSON.
SuppressionA 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.
SequenceA named container of versions.
VersionOne immutable JSON definition once published. Has a tag (v1, v2, free text) and a status (draft, published, archived).
DefinitionThe 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 stepA node with channel email or sms and action send.
TransitionA named edge out of a node (sent, skipped, failed, then, yes, no, completed, no_answer, an event name, timeout).
TouchAn outreach step that was sent. Numbered per enrollment; the denominator of delivered-rate metrics.
EnrollmentOne contact running one version, as one sender.
RunOne execution of one node for one enrollment. Append-only ledger.
MessageOne email or text the service sent or received.
TaskA manual step for a human (a call, a LinkedIn action, anything the client defines), created by a task node and completed through the API.
OutcomeThe free-text result of a task (connected, no_answer, voicemail, …), matched against branches_by_outcome.
SignalA normalized fact from outside (reply, bounce, meeting booked, call outcome, opt-out, …), produced by provider webhooks and polls, task completions or the client.
AttributionWhich 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).
FactsThe data a condition reads at evaluation time, stored on the run.
CRM factsValues a condition reads live from the CRM (Attio) at decision time: the contact's person, company and open deal.
Send windowDays 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.
GateA check an executor makes before a side effect (consent, suppression, channel status, caps, window). A failed gate skips or defers the step.
PlannerThe loop that claims due enrollments and runs the interpreter.
ExecutorThe queue consumer that performs one outreach step (seq_email, seq_sms).
ReaperThe sweep that repairs what a crash left behind.
Webhook endpointA URL of the client that the service calls when something happens.
DeliveryOne event sent to one endpoint, with its attempts.
OperatorWhoever runs the deployment; holds SEQ_ADMIN_TOKEN.
ScopeWhat an API key may do: read, enroll, admin.
Mock providersSEQ_DEV_MOCK_PROVIDERS=1: in-memory adapters for development and CI; POST /hooks/mock/{slug} simulates inbound events.