Types of auto-replies on WhatsApp Business
Three main types:
How to set up auto-reply in the WhatsApp Business app
Works on Android and iOS with small menu differences.
Greeting message
Away message
Quick replies
/pricing → pricing list)/ and the shortcut appearsReady-to-copy auto-reply examples
Greetings
> "Hi! 👋 We received your message. An agent will respond within 15 minutes. For urgent matters, call (555) 123-4567."
> "Thanks for contacting [Company]! To help you better, tell us: do you want (1) To buy, (2) Customer support, (3) Post-sales?"
Away messages
> "We're outside business hours right now. We're open Monday to Friday, 9am to 6pm. Your message is logged, we'll respond next business day. 🤝"
> "Good evening! 🌙 Our team is done for the day. Come back tomorrow or leave your question and we'll answer in the morning."
Useful quick replies
/pricing— Full pricing table/hours— Business hours and address/returns— Returns and refund policy/tracking— How to track delivery/payment— Accepted payment methods
Free app limitations
The app is great to start but has limits:
- Only one active greeting at a time
- Only one active away message at a time
- Can't segment by customer category
- Can't personalize with name or other variables
- Works on one phone
Auto-reply via WhatsApp Business API
The API changes the game. You program automatic flows with logic, segmentation and personalization. Here's how it works with Zavu:
Example: auto-reply when customer messages you
typescriptimport Zavu from "@zavudev/sdk" const zavu = new Zavu({ apiKey: process.env.ZAVU_API_KEY }) // Webhook receives customer message export async function POST(req: Request) { const event = await req.json() if (event.type === "message.inbound") { const text = event.message.text?.toLowerCase()text.includes("cost")) { await zavu.messages.send({ to: event.message.from, channel: "whatsapp", text: "Our plans start at $25/mo. See all at zavu.dev/en/pricing" }) } else { // Default greeting await zavu.messages.send({ to: event.message.from, channel: "whatsapp", text:
"" // Auto-reply by keyword if (text.includes("price") Hi! 👋 We got your message. An agent will respond shortly.}) } } return new Response("ok") }
Example: away message with time logic
typescriptconst hour = new Date().getHours() const dayOfWeek = new Date().getDay() // 0 = Sunday, 6 = Saturday const isBusinessHours = dayOfWeek >= 1 && dayOfWeek <= 5 && hour >= 9 && hour < 18 if (!isBusinessHours) { await zavu.messages.send({ to: event.message.from, channel: "whatsapp", text: "We're outside business hours. Back tomorrow at 9am. 🌙" }) }
Example: using templates to initiate conversations
To message before the customer (cart reminder, order confirmation), you need a template approved by Meta:
typescriptawait zavu.messages.send({ to: "+14155551234", channel: "whatsapp", messageType: "template", content: { templateId: "tpl_payment_reminder", templateVariables: { "1": "John", "2": "$89.90", "3": "tomorrow" } } })
When to use free app vs API
| Scenario | Recommended |
|---|
| Less than 50 conversations/day | Free app |
|---|---|
| Need to personalize with customer name | API |
| Multiple agents | API |
| Want to integrate CRM (HubSpot, Salesforce) | API |
| Support 24/7 with AI | API + AI Agent |
| Send automatic order confirmation | API |
| Send OTP / verification code | API |
Common mistakes
1. Message too generic. "Hi, we'll respond shortly" says nothing. Add time expectation, menu options or at least an alt phone.2. Not testing before activating. Send from another number and see how it arrives.3. Forgetting to disable when the team is on duty. Customer gets "we're away" during business hours and is confused.4. In the app, activating greeting for everyone. Each time a recurring customer messages, they get the same greeting. Configure for new or non-contacts only.5. Marketing content in auto-replies. Greeting isn't the time to push promotions. Keep clean, focus on support.Related resources
- How WhatsApp Business works
- WhatsApp Business broadcast list: guide
- WhatsApp Cloud API: step-by-step tutorial
- Zavu Docs — Webhooks