WhatsApp Business API
WhatsApp is the most-used channel in our India-first deployments. Saaya speaks the WhatsApp Business API on your behalf, you bring a sender, we handle templates, sessions, and the 24-hour window rules.
Sender setup
Provide a verified WhatsApp Business sender (a Meta WABA + a phone number). Saaya supports both on-premise BSPs (Karix, Gupshup, Twilio for WhatsApp) and the Cloud API directly. Add the credentials in `Settings → Channels → WhatsApp` and bind them to an agent.
Templates
Outside of an active 24-hour session, WhatsApp requires a pre-approved template message. Saaya stores your templates with their Meta status and renders the right one based on locale and intent. Templates with placeholders are filled at send time.
// Send a template to open a session, this can be done outside the 24h window.
await saaya.sessions.dispatch({
agentId: "agt_2N3rH...",
channel: "whatsapp",
to: "+919876543210",
template: {
name: "lead_followup_v2",
locale: "en_IN",
variables: { firstName: "Anu", company: "Acme" },
},
});The 24-hour window
Once the user replies, you have a 24-hour window in which the agent can send freeform messages. Saaya tracks the window per contact and refuses freeform sends outside it (suggesting a template instead).
Opt-in and opt-out
Saaya enforces opt-in lists per agent and respects "STOP" / "UNSUBSCRIBE" replies automatically, opted-out contacts cannot be re-engaged from the API. Opt-out events are streamed to your webhook so your CRM can stay in sync.
Template approval is slow