Free-Window Messages, Template Approval, and Conversation Attribution
SMS is dead for field sales. WhatsApp Business API hits 450M daily active users globally, 80M+ in AU alone, and replaces SMS at zero marginal cost once you're in an existing conversation. Velocity X registers a WhatsApp Business Account, approves template messages (booking confirmation, reminder, status update), and swaps SMS outbound for WhatsApp in three tiers: template messages (free), user-initiated free-window replies (free), and session-based conversations (charged per message). Here's how.
WhatsApp Business Account Registration and Phone Numbers
WhatsApp Business Cloud API (the managed version, not the on-prem server) requires a Meta Business Account, a verified phone number, and a WhatsApp Business Account linked to that number. Velocity X guides users through: phone verification (SMS code to confirm ownership), account linking (takes ~10 minutes), and WABA creation. The phone number must be unique across all WABAs — you can't reuse it elsewhere on WhatsApp Consumer or another Business Account. Once live, the number gets a green checkmark badge on customer-facing threads, signalling legitimacy.
POST https://graph.instagram.com/v20.0/{phone_number_id}/messages
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "+61412345678",
"type": "template",
"template": {
"name": "booking_confirmation",
"language": { "code": "en_AU" },
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "Jane" },
{ "type": "text", "text": "2026-06-15 09:00 AM" }
]
}
]
}
}
The phone number lives in WhatsApp's database, not yours. Velocity X stores only the phone-number ID (the gateway identifier) and a webhook URL for inbound messages.
Template Messages and Pre-Approval
Booking confirmations, reminders, and status updates must be pre-approved template messages. WhatsApp's system reviews every template for compliance: no promotional content, no urgency manipulation, no hidden charges. Velocity X ships three templates: `booking_confirmation` (customer name, date/time), `reminder_48h` (24 hours before appointment), and `status_update` (tech en route, ETA). Each has a 3–5 day review window; rejected templates cost you a resubmit. The templates live in your WABA, not Velocity X's — you own them, approval is org-specific.
Template variables use double curly braces: `{{1}}` for first parameter, `{{2}}` for second. A template with "Appointment on {{1}} at {{2}}" accepts two text parameters on send. Velocity X parses the template at dashboard config time, shows a form ("How many parameters?"), and validates customer data before firing messages to avoid rejections.
Free-Window Conversations vs Paid Sessions
WhatsApp charges per conversation, not per message — but there's a loophole. If a customer messages you first, or you send a template message, you get a 24-hour "free window" to reply to ANY message from that customer at zero cost. Outside the window, you pay ~1.5–4 cents per message (AU pricing, tiered by volume). Velocity X leverages this: template confirmations open the free window; your team replies for next 24h free; after that, follow-ups cost money. For field-service businesses, this is game-changing — 80% of conversations happen within 24h (confirming, rescheduling, asking for directions).
Webhook Inbound Messages and Conversation Attribution
When a customer replies to a confirmation or texts your business number, WhatsApp POSTs to your webhook with `from` (customer number), `text` (message body), and `timestamp`. Velocity X matches the inbound number to a booking in your calendar, logs the thread, and flags your team. All messages in a conversation chain — confirmation, customer reply, reminder, tech status update — live in a single thread, keyed by customer phone number. This means you never lose context: "When did they say they'd be home?" is one scroll, not five tabs.
Frequently Asked Questions
Do customers need to opt in?
In AU, yes. Privacy Act requires explicit consent before WhatsApp marketing messages. Velocity X embeds a checkbox at booking: "Text me updates on WhatsApp?" If unchecked, SMS falls back. For US/UK/EU, rules vary — check GDPR and TCPA.
What if the customer doesn't have WhatsApp?
WhatsApp will deliver messages if the number exists on WhatsApp; if not, delivery fails silently and you should fall back to SMS. Velocity X detects this: if template send fails with "invalid_phone_number_format" or "rate_limit_exceeded", a cron job retries via SMS at 2–5 minute offsets.
Can I send promotional messages (discounts, offers)?
Not via template. WhatsApp restricts templates to transactional messages only. Promotional content (20% off, refer a friend) breaks template policy and gets your account flagged. Use email or SMS for marketing.
How do I handle team replies?
Velocity X doesn't yet support team inboxes on WhatsApp (unlike Slack integration). Currently, inbound messages fire a webhook → email + SMS to your assigned tech, who replies via their personal WhatsApp. Future: shared team phone-number inbox with agent assignment (Q4 2026).
What's the cost per conversation?
Template send = free. Customer reply within 24h = free. Velocity X initiated message outside free window = 1.5–3c AUD depending on volume. For a team sending 500 messages/month, budget $8–12/month per team WhatsApp number.
The Bottom Line
WhatsApp Business API kills SMS for field sales in AU/global markets: zero marginal cost after template approval, 24-hour free-window threading, and 450M active users already on the platform. Template approval is a one-time setup tax (3–5 days), but ship it once and scale infinitely. See pricing or read our white-label booking portal guide for the full booking-to-delivery flow.