sequence

Book a demo

Tell us a little about your business. We'll reply within one business day to set up a 20-minute call.

Get started

Brands tools

A brand is one business you send for, with its own contacts, sending domain and texting number. One account key works across every brand you own; pass the brand's slug as team on each call.

create_team

Create a team (brand) under your account. Returns the team (with its slug). Operate it afterwards by passing `team` (the slug) to the other tools — your access works for every brand you own.

namestringrequired
slugstring
from_namestring
from_emailstring
reply_tostring
sending_domainstring
physical_addressstring
callrail_phonestring

list_teams

List the brands (teams) under your account — name, slug, and sending identity. Includes teams you're a member of.

No inputs.

update_team

Update a brand's name, sending identity (from_name, from_email, reply_to, sending_domain, physical_address, callrail_phone), and/or its SMS consent mapping (sms_consent_property + sms_consent_value) in place. The consent mapping is how a website form grants SMS consent WITHOUT any change to the site's markup: capture already forwards every checked checkbox as a contact property, and this names which property means "consented". Use this to configure an existing brand — get team_id from list_teams. Leaves sequences/templates untouched.

team_idstringrequired
signature_templatestring | null
Key of one of this brand's email templates used as the signature on one-to-one emails (Inbox replies and responder answers). Its html may use {{author_name}}, {{author_first_name}}, {{author_email}}, {{author_<property>}} (a staff responder's contact properties) and the team footer tokens; values are HTML-escaped. null clears; omit to leave it.
timezonestring | null
IANA time zone, e.g. America/New_York. Used for anchored local-time steps and as the SMS quiet-hours fallback after the phone area-code lookup; null uses America/New_York. Existing enrollments retain their captured time zone.
namestring
from_namestring
from_emailstring
reply_tostring
sending_domainstring
physical_addressstring
callrail_phonestring
sms_consent_propertystring | null
Contact property whose presence on an inbound submission grants SMS consent — e.g. a website form checkbox named "sms_optin" whose disclosure covers every kind of message you send. Match the FINAL property key: the capture script lowercases field names and collapses non-alphanumerics to '_' (so "SMS-Transactional" arrives as "sms_transactional"). REQUIRES sms_consent_value to be set too. Pass null to disable; omitting the field preserves the current value. IMPORTANT: a match grants consent for EVERY SMS Sequence sends that contact, marketing included — consent scope is not modelled. Only map a field whose disclosure covers every kind of message you send.
sms_consent_valuestring | null
EXACT required value for sms_consent_property, compared trimmed + case-insensitively. Required — null disables the mapping. There is no 'any value grants' mode, because nothing proves an inbound payload came from the capture script rather than a direct post carrying a declining answer like "no". A checkbox with no `value` attribute submits the string "on"; builders vary ("yes"/"1"/"true") — call list_contact_fields to see what a given form actually sends. Omitting this field preserves the current value.

delete_team

Permanently delete a brand (team) and ALL its data — sequences, steps, enrollments, sends, contacts, audiences, templates, public assets, domains, suppressions. Irreversible (database cascades plus Storage cleanup). Get team_id from list_teams. Owner only.

team_idstringrequired
abort_social_teardownboolean
Abort an unfinished deletion and restore social access; completed removals remain.

pause_sending

Stop ALL live sending for a brand (every sequence and broadcast, email and SMS) until someone resumes it — the manual kill switch of the send circuit breaker, which also pauses a brand by itself on a complaint/bounce/unsubscribe/STOP/carrier-filtering spike. Ingest, enrollment, editing and test sends keep working; due sends wait. The owner and the platform operator get an alert email. Owner only. 409 if already paused.

team_idstringrequired

resume_sending

Resume a paused brand's live sending, in two calls. 1) Call WITHOUT paused_at: nothing changes; it returns the current pause (sending_paused_at, sending_pause_reason = what tripped) and held_broadcasts — the 'sending' broadcasts and past-due 'scheduled' ones that WILL send on resume. Show these to the user; cancel unwanted ones with delete_broadcast. Due sequence steps also go out on the next sweep. 2) Call again with paused_at = the exact sending_paused_at you reviewed. A 409 means the pause changed — review again. Owner only.

team_idstringrequired
paused_atstring
Omit to review. To resume: the sending_paused_at returned by the review call, verbatim.