Build headlessly on the Klaros WhatsApp API
12 real scenarios with exact API recipes. Each shows the endpoints you need, the dashboard tools that complement it, and what you can ship this week.
Order, payment, and appointment messaging
Order status and shipping updates
Send automated messages at each fulfillment milestone: confirmed, packed, shipped, out-for-delivery, delivered. Include tracking links as CTA buttons. The single most common WhatsApp API use case globally.
POST /api/v1/messages
{ "to": "919876543210", "from": "your-number-id",
"template": { "name": "order_shipped",
"components": [{ "type": "body",
"parameters": [{ "type": "text", "text": "ORD-4829" },
{ "type": "text", "text": "https://track.example/4829" }]}]}}
# Receive delivery + read receipts
POST /api/v1/webhooks
{ "url": "https://your-app/wh", "events": ["message.delivered", "message.read"] }
OTP and two-factor authentication
Deliver one-time passwords via WhatsApp instead of SMS. Meta's dedicated "authentication" template category. Cheaper than SMS in India and Southeast Asia. Delivery receipt confirms arrival; fall back to SMS if it doesn't.
POST /api/v1/messages
{ "to": "919876543210", "from": "your-number-id",
"template": { "name": "login_otp",
"components": [{ "type": "body",
"parameters": [{ "type": "text", "text": "482916" }]}]}}
# Webhook confirms delivery. No receipt in 30s? Fall back to SMS.
Payment reminders and invoice delivery
Send invoices as PDF attachments or in-chat Razorpay/Stripe payment links. 98% open rate vs email. Multiple businesses report getting paid 3x faster.
# Option A: PDF attachment
POST /api/v1/messages
{ "to": "919876543210", "type": "document",
"document": { "link": "https://your-app/invoice-4829.pdf",
"filename": "Invoice-4829.pdf" }}
# Option B: CTA button template with payment link
POST /api/v1/messages
{ "to": "919876543210",
"template": { "name": "payment_reminder",
"components": [{ "type": "button", "sub_type": "url",
"parameters": [{ "type": "text", "text": "pay_abc123" }]}]}}
Appointment reminders
Booking confirmations and pre-appointment reminders with confirm/reschedule/cancel quick-reply buttons. Klaros has a built-in meeting scheduler with tappable time-slot buttons.
POST /api/v1/messages
{ "to": "919876543210",
"template": { "name": "appointment_reminder",
"components": [{ "type": "body",
"parameters": [{ "type": "text", "text": "Dr. Sharma" },
{ "type": "text", "text": "July 28, 10:30 AM" }]}]}}
# Patient taps "Confirm" or "Reschedule" -> webhook fires
POST /api/v1/webhooks
{ "url": "https://your-clinic/wh", "events": ["message.received"] }
Every transactional send uses your own WABA. You pay Meta directly. Zero markup.
See pricing →Helpdesk, AI agents, and feedback loops
Helpdesk ticket integration
Route every inbound WhatsApp message into Zendesk, Freshdesk, or your own ticketing system. Agent replies flow back through WhatsApp. Service conversations are free within Meta's 24h window.
# 1. Register webhook for inbound messages
POST /api/v1/webhooks
{ "url": "https://your-helpdesk/wh", "events": ["message.received"] }
# 2. Agent replies from the ticket
POST /api/v1/messages
{ "to": "919876543210", "text": "Your refund has been processed." }
# 3. Assign, note, resolve
POST /conversations/919876543210/assign { "agentId": "ag-7" }
POST /conversations/919876543210/notes { "text": "Escalated to billing" }
POST /conversations/919876543210/resolve
AI-powered customer service agent
Your LLM handles first-line support. Escalate to humans when the AI can't resolve. Bring your own model. No chatbot platform tax. The dashboard has built-in AI reply-assist grounded in conversation context.
# 1. Webhook delivers every inbound to your LLM
POST /api/v1/webhooks
{ "url": "https://your-ai/wh", "events": ["message.received"] }
# 2. LLM replies via API
POST /api/v1/messages
{ "to": "919876543210", "text": "I found your order. It shipped yesterday..." }
# 3. Can't resolve? Escalate to human
POST /conversations/919876543210/assign { "agentId": "ag-3" }
# 4. Pull conversation history for context
GET /api/v1/conversations/919876543210/messages?limit=20
Post-service feedback and NPS surveys
After a ticket closes, send a satisfaction survey with tappable rating buttons. 40-60% completion rates vs 5-15% for emailed survey links. No survey tool needed.
POST /api/v1/messages
{ "to": "919876543210",
"template": { "name": "csat_survey",
"components": [{ "type": "button", "sub_type": "quick_reply",
"parameters": [{ "type": "payload", "payload": "rating_5" }]}]}}
# Customer taps a rating -> webhook delivers the response
# Tag the contact with the score for segmentation
PATCH /api/v1/contacts/{id} { "tags": ["nps:promoter"] }
The inbox is programmable, not locked behind a UI. Assign, resolve, label, and note conversations through the API.
API docs →Dispatch, logistics, alerts, and bridges
Field service dispatch and check-in
Dispatch job assignments to technicians via WhatsApp. Collect geo-stamped check-in confirmations and photo evidence of completed work. Klaros has built-in site-visit check-ins with distance verdicts.
# 1. Send job assignment with location
POST /api/v1/messages
{ "to": "919876543210", "type": "location",
"location": { "latitude": 13.0827, "longitude": 80.2707,
"name": "Site #42", "address": "Anna Nagar, Chennai" }}
# 2. Technician replies with photo -> webhook fires
POST /api/v1/webhooks
{ "url": "https://your-dispatch/wh", "events": ["message.received"] }
# 3. Record milestone for behavior triggers
POST /api/v1/milestones
{ "event": "site_visit_completed", "contactId": "919876543210",
"meta": { "siteId": "42", "photosReceived": 3 } }
Delivery driver coordination
Send delivery manifests to drivers, collect proof-of-delivery photos, send customer ETAs. Per-line inbox means each business number gets its own conversation stream.
# Send manifest to driver (line A)
POST /api/v1/messages
{ "to": "919876543210", "from": "driver-line-id",
"text": "3 deliveries today:\n1. Rajan - Anna Nagar\n2. Meera - T Nagar\n3. Kumar - Adyar" }
# Send ETA to customer (line B)
POST /api/v1/messages
{ "to": "919111222333", "from": "customer-line-id",
"template": { "name": "delivery_eta" } }
# List conversations per line
GET /api/v1/conversations?line=driver-line-id&status=open
Internal team alerts and monitoring
Send system alerts (server down, deploy completed, payment failure, security event) to team members. One curl call from your CI pipeline. No SMS gateway, no Slack dependency.
# From your CI/CD pipeline or monitoring system
POST /api/v1/messages
{ "to": "919876543210",
"template": { "name": "system_alert",
"components": [{ "type": "body",
"parameters": [{ "type": "text", "text": "API latency > 2s" },
{ "type": "text", "text": "production" },
{ "type": "text", "text": "2026-07-26 03:14 UTC" }]}]}}
# Idempotency key prevents duplicate alerts on retry
# Header: Idempotency-Key: alert-api-latency-20260726
Email-to-WhatsApp bridge
Forward emails as WhatsApp messages, or route WhatsApp replies back to email. n8n or Make.com watches your inbox, triggers the API. Weekend project.
# n8n: Email trigger -> WhatsApp action
POST /api/v1/messages
{ "to": "919876543210",
"text": "New inquiry from priya@example.com:\nSubject: Bulk order quote\n\nHi, we need 500 units..." }
# WhatsApp reply -> n8n webhook -> email reply
POST /api/v1/webhooks
{ "url": "https://n8n.your-server/webhook/wa-to-email",
"events": ["message.received"] }
All API calls include HMAC-signed webhooks (X-Klaros-Signature), rate limiting with retry headers, and idempotency keys on POST /messages.
All features →No-code and low-code workflows
No-code workflow hub (n8n, Make, Zapier)
WhatsApp as a trigger or action in visual workflows. "When a Google Form is submitted, send a WhatsApp confirmation." Bearer token auth, JSON payloads, standard REST. No special connector needed.
# Trigger: register a webhook
POST /api/v1/webhooks
{ "url": "https://n8n.your-server/webhook/wa",
"events": ["message.received", "message.delivered"] }
# Action: send a message
POST /api/v1/messages
{ "to": "919876543210",
"text": "Thanks for your submission! We'll get back to you within 24h." }
# Auth: Bearer token in header
# Authorization: Bearer uni_key_your_api_key_here
Ship your API integration this week
53 endpoints. OpenAPI 3.1 spec. Scoped API keys. HMAC-signed webhooks. Zero per-message markup.
