Skip to main content

Outbound channel templates lifecycle

Outbound messaging runs on saved copy, not free text. An SMS campaign, a WhatsApp notification, a fax — each channel either approves your copy before you may use it (WhatsApp, RCS) or lets you send the moment you save it (SMS, email, and the other OTT channels). The Message Templates page is where that copy lives and where its entire lifecycle plays out. This page frames the two template families the page holds and the lifecycle each one follows. If you are looking for the prompts your AI agents run, that is a different template world — the prompt template lifecycle concept covers it, and section 2 below maps the boundary.

1. Where outbound templates live

All outbound template management sits at Messages → Templates (/messages/templates). An older address, /outbound/templates, redirects there permanently, so a bookmark from an earlier release keeps working. The page presents two template families in one hub:
  • Templates — the per-channel template store. Each row belongs to one channel (SMS, WhatsApp, RCS, email, Viber, Telegram, Line, Messenger, Instagram, fax, Apple Messages, and more) and holds copy alongside the approval state that channel demands. A WhatsApp row carries the approval status from Meta’s review queue; an SMS row is platform-side copy.
  • Content Templates — the reusable author layer. One logical content id groups per-channel variants (an SMS body and a WhatsApp Marketing variant, for example) with a fallback order, so a campaign sends one content id and the platform resolves the best variant the destination channel supports.
Voice does not belong to either family. Scripted voice copy — IVR lines, queue announcements, text-to-speech prompts — is authored in the Agents and Studio surfaces, not in message templates. Section 4 covers why channels eat differently at this level.

2. Two template worlds: message copy versus agent prompts

Orbit has two distinct template models, and the vocabulary overlap — “template”, “version”, “approve” — confuses them only until you map the boundary once:
  • Outbound channel templates (this page) hold the customer-facing message body: the SMS, the WhatsApp notification, the RCS message. The approval they pass through belongs to the carrier — Meta’s review queue for WhatsApp, MNO/MAAP review for RCS. Every send that uses a template resolves a channel-appropriate variant.
  • Prompt templates belong to AI agents and hold the system-level instructions an agent speaks from. Their approval gate is internal — separation-of-duties between the author and the reviewer inside your organization — and the promoted version freezes prompt, model, and temperature together. The prompt template lifecycle concept walks that five-step path; this page does not repeat it.
A campaign that pairs an agent with outbound messaging crosses both worlds: the agent runs on a promoted prompt version, the message it sends resolves a channel template. The two lifecycles stay yours to manage separately, which is exactly why their concepts are separate pages.

3. Lifecycle semantics: approve, pause, archive

Each per-channel template row moves through states, and which states matter depends on whether the channel reviewers approve copy before it can send:
  • Approval-required channels (WhatsApp, RCS): a saved template starts in draft, and only the carrier-approved status — approved — lets a send through. pending, rejected, paused, disabled all block the send because the carrier would refuse it. Meta can surface further statuses the dashboard renders verbatim: Meta review pending, Resolving with Meta (the template name already exists on Meta’s side), and In appeal after you appeal a rejection.
  • Platform-only channels (SMS, email, Viber, push, and the other OTT channels): no external review stands between you and a send — a template you just saved is usable immediately. A send is blocked only when the row enters a terminal or suspended state: archived (your soft-delete), paused, rejected, disabled, deleted / pending deletion, or a carrier rate limit exceeded.
approved, active, and draft are the states a workable template wades through; everything else is either a carrier verdict or a decision you made. Archive is the operator-level deprecation: an archived template drops out of send pickers everywhere (the Templates hub and the SMS composer’s template picker share one sendability rule, so an archived or paused row can never sneak into a composer) while staying on the list for audit until you restore or delete it. Pending deletion is the tail of that arc — the row is about to disappear and nothing can send through it.

4. Channel capabilities set the stakes

A template is only as good as what its channel can actually carry, and the differences are not cosmetic:
  • WhatsApp runs on Meta’s HSM (Highly Structured Message) format — pre-approved structured copy with typed placeholders. Media headers, buttons, and marketplace categories all ride inside the approval Meta grants, which is why a rejected template names Meta’s stated reason in the row and offers re-submission.
  • RCS passes through mobile-operator (MNO/MAAP) review, closer in shape to WhatsApp than to SMS because the channel enforces branded, structured payloads rather than free text.
  • SMS and the OTT channels (Viber, Telegram, Line, Messenger, Instagram) accept platform-side copy with no upstream reviewer — the lifecycle is entirely yours, and {{variables}} placeholder resolution happens at send time. The row flags unresolved placeholders before you send so a literally rendered {{name}} never ships.
  • Voice follows a different production model entirely: copy rendered as speech through text-to-speech belongs to agent prompts and Studio IVR scripts, which is why the template hub’s channel filter deliberately omits voice. HSM and plain-text message channels are the template store’s game; spoken prompts live where agents and call flows are authored.

5. Who can do what

The Message Templates page restricts access by role: owners, admins, and developers see and manage templates; other roles do not reach the surface. Within that gate the lifecycle divides the same way the channels do — statuses like approved, rejected, and In appeal arrive from the carrier and are read-only on your side, while draft, archived, and pending deletion are operator decisions. An appeal against a rejection is the operator-initiated exception: the action is yours, but the verdict returns to the carrier.

6. Reading further