Prerequisites
Before you start:- A workspace with a connected Meta WhatsApp Business Account (WABA). See Connect WhatsApp.
- A Meta system user access token stored in the workspace vault under
meta-access-token. See Meta credential setup. owneroradminrole on the workspace (seed pack is admin-only).
How to access the template editor
1
Open Templates
From the left sidebar, click Templates. You will see your template library grouped by status. First-time workspaces show an empty-state card with a quick-start button.
2
Choose a start mode
Three entry points:
- New template — blank editor, for one-off drafts.
- From library — clone an approved template from another language.
- Seed starter pack (admin-only) — bulk-load the GB Viaggi pack in one click.
3
Compose
The editor has four panels: metadata (name, language, category), components (header, body, footer, buttons), live preview that mirrors WhatsApp rendering, and validation results.
Seed the GB Viaggi starter pack
The starter pack is a curated library of 13 production-grade templates (8UTILITY + 5 MARKETING, Italian + English) that covers the most common GB Viaggi flows: booking confirmation, invoice, cancellation, winback, seasonal offer, referral, flash sale, and more. Seeding is idempotent — safe to re-run if a subset failed on a first attempt.
1
Confirm the WABA is connected
Go to Settings → Channel and check that
waba_id is populated. If not, the seed will fail with no_waba.2
Click Seed starter pack
On the Templates page, click Seed starter pack (visible only to owner/admin). A modal summarises what will be submitted and asks for confirmation.
3
Review the per-template results
The seeder posts each template to Meta sequentially. Each row in the result table reports
submitted, pending_approval, or error with the Meta message. Errors are also stored on the templates row as rejection_reason for later retry.POST /api/templates/seed-starter-pack — see Template endpoints if you want to trigger this from a script.
Approval timeline expectations
Meta’s review pipeline is almost always fast, but “fast” varies by category and by load:
Rules of thumb:
- Clean, well-formed templates get approved within minutes. If yours has been pending for more than 2 hours, a reviewer has flagged it for manual review.
- Weekends and Meta-US holidays slow reviews. Submit on weekdays if you are campaign-critical.
- Burst submits throttle. Meta rate-limits at 100 templates/hour per WABA. Seeding the 13-template starter pack uses less than 15% of that budget.
message_template_status_update and updates the template row in real time. The UI refreshes via Supabase Realtime.
Troubleshooting rejections
When a template is rejected, Switchbord stores Meta’s human-readable message inrejection_reason and surfaces it at the top of the editor and on the template row.
Common rejection → fix map
Resubmit workflow
1
Duplicate the rejected template
The original is locked. Click Duplicate to get a fresh draft with the same body and components.
2
Apply the fix
The validator panel highlights every rule the draft violates. Fix them until the panel is green.
3
Validate (optional, no-op call)
Click Validate to re-run only the client-side linter. Unlike Submit for approval, this does not consume a slot of your Meta rate-limit budget.
4
Submit for approval
Click Submit for approval. Webhook updates the template status in the background.
When to escalate
If a template is rejected with a Meta message you do not recognise, or if the same template is rejected for different reasons on each attempt:- Capture the full Meta error JSON from the template’s
rejection_reasonrow (it includesfbtrace_id). - File a Linear issue tagged
whatsapp-templateswith the template name, body, and the error. - If the issue blocks a campaign, open a Meta Business Support case with the
fbtrace_id— turnaround is usually 24–48 hours.
See also
- Your first template — end-to-end walkthrough.
- Template rules reference — every validator rule.
- Marketing templates — category decision tree and opt-out.
- Template endpoints — automate from scripts.