28 Aug 2026 · 14 min read
From Meta app to first WhatsApp AI conversation
A practical production launch sequence for Meta business readiness, credentials, webhooks, templates, AI replies, payments, and human takeover.
By ConveRact Channel Engineering
•
Reviewed for production implementation
WHAT YOU WILL LEARN
Official Cloud API setup
Webhook verification
Template and payment flows
01
Prepare the Meta business assets
Begin with a verified Meta business portfolio, a WhatsApp Business Account, an application with the WhatsApp product enabled, and a phone number that can receive its registration code. Decide whether you are connecting a customer-owned number or provisioning one during embedded signup; the ownership model changes who manages billing, templates, and quality limits.
Record the business account ID, phone number ID, application ID, and Graph API version in the connection screen. Store permanent access tokens and the application secret only on the server. ConveRact should show masked credentials, the token owner, granted scopes, and the last successful validation—never the raw secret after save.
STEP BY STEP
- 1
Open Meta Business Settings and create or select the client-owned Business Portfolio.
- 2
Open Meta for Developers, create a Business app, and add the WhatsApp product.
- 3
In WhatsApp API Setup, create or select the WhatsApp Business Account and register the sending phone number.
- 4
Copy the Phone Number ID and WhatsApp Business Account ID; these are IDs, not the visible phone number.
- 5
For manual setup, create a system user with the required WhatsApp permissions and generate a permanent token. For the recommended path, use Connect with Meta in ConveRact.
- 6
In ConveRact, sign in as Tenant Admin and open Channels → WhatsApp Business.
OFFICIAL LINKS
LAUNCH CHECK
Business portfolio verified
WhatsApp Business Account active
Phone number registered
Server-side system user token issued
02
Verify the webhook before enabling AI
Configure the callback URL and a unique verify token, then subscribe the application to messages and message-template status events. A successful verification only proves the challenge request worked; it does not prove inbound customer messages are reaching the correct tenant.
Send a real message from a separate phone and confirm the event appears in the channel event log with its provider message ID, sender, destination number, tenant, received timestamp, and signature result. Reject invalid signatures before parsing the payload, and make processing idempotent so Meta retries cannot create duplicate conversations.
STEP BY STEP
- 1
Deploy ConveRact behind HTTPS and set API_PUBLIC_URL to the public API origin.
- 2
Copy the callback URL and verify token shown in ConveRact Channels after saving the connection.
- 3
In the Meta app, open WhatsApp → Configuration and paste both values under Webhook.
- 4
Subscribe the WhatsApp Business Account to messages and message_template_status_update.
- 5
Send a real message from a different phone number and confirm both inbound and outbound events in ConveRact connection health.
OFFICIAL LINKS
LAUNCH CHECK
Challenge request returns correctly
Signature validation enabled
Tenant resolved from destination number
Duplicate delivery safely ignored
03
Respect the customer service window
Inside the customer-initiated service window, the AI can send relevant free-form replies. Outside that window, outreach must use an approved message template that matches the intended category. The orchestration layer should decide which path is legal before a message reaches the provider.
Test one active-window reply and one approved template outside the window. Surface provider rejections in the inbox with a useful reason and recovery action instead of showing a generic connection error.
04
Operate the template lifecycle
Create templates for specific customer journeys such as quote follow-up, order confirmation, appointment reminder, payment reminder, and service re-engagement. Keep placeholders typed and sourced from verified records; never let the model invent a variable that becomes a price, date, order number, or payment link.
Track language, category, approval status, quality, rejection reason, and last synchronization for every template. When Meta pauses or disables a template, stop new sends immediately and show administrators which automations depend on it. Test locale fallback and ensure an unavailable translation cannot silently send the wrong language.
OFFICIAL LINKS
LAUNCH CHECK
Templates mapped to named journeys
Variables sourced from verified data
Status synchronized from Meta
Disabled templates removed from automation
05
Ground replies and constrain actions
Connect the service to approved product, stock, pricing, policy, order, customer, and quote tools. The language model can interpret intent and write the response, but current business data must remain the source of truth. High-impact actions such as discounts, refunds, and order changes should require explicit limits or human approval.
Run launch evaluations for unavailable products, stale prices, ambiguous order identities, unsupported refund requests, prompt injection, and missing customer consent. A safe response explains what is known and escalates cleanly when evidence is incomplete.
06
Send a payment link and verify the result
When purchase intent is confirmed, create the quote or checkout session server-side and send the customer a short-lived payment link. Include an internal order reference in payment metadata so webhook events can be matched without trusting values returned by the browser.
Treat the payment-provider webhook—not the redirect page—as the final confirmation. Verify its signature, update the quote exactly once, generate an invoice, send the receipt through the configured channel and email provider, and attach the result to the conversation timeline.
LAUNCH CHECK
Amount derived server-side
Checkout link expires
Webhook signature verified
Invoice and timeline updated
07
Design human takeover as a normal path
Pause automation when the customer requests a person, confidence is low, a policy exception appears, sentiment deteriorates, or commercial value crosses a configured threshold. Route the conversation with identity, recent messages, retrieved evidence, attempted actions, and a short reason for escalation.
Test assignment, agent reply, customer delivery, AI pause, and AI resume. A takeover is not complete if the human receives an empty inbox or if the bot continues replying in parallel.
08
Observe quality, cost, and delivery
Measure accepted webhooks, time to first reply, send failures, delivery and read states, template rejection, opt-out, human takeover, AI containment, conversion, and cost per completed outcome. Separate provider delivery health from model quality so the team knows which layer needs attention.
Set alerts for token expiry, webhook signature failure, repeated retries, declining number quality, spending anomalies, and stalled outbound queues. Give support a correlation view that connects the ConveRact conversation, Meta message ID, provider response, service decision, and customer-facing status without exposing stored credentials.
LAUNCH CHECK
Provider and AI metrics separated
Credential and queue alerts enabled
Message IDs searchable
Cost attributed to tenant and service
09
Launch with operational evidence
Start in training or shadow mode, review a representative sample, then enable a limited audience before broad release. Monitor inbound delivery, reply success, template rejection, handover time, payment conversion, opt-outs, and quality rating from the first day.
Keep a rollback control that disables outbound automation without disconnecting the channel. Document token rotation, number ownership, escalation contacts, and the response to a provider outage so the connection remains supportable after launch day.
Put this guide into practice
ConveRact exposes setup steps, credential tests, connection health, role controls, and post-connect guidance inside the workspace.
Open workspace