DIDfarm
  • Numbers
  • Trunks
  • Messaging
  • Connect
  • Pricing
  • Coverage
  • Help
🇬🇧 EN 🇳🇱 NL 🇩🇪 DE 🇫🇷 FR 🇪🇸 ES 🇧🇷 PT 🇸🇦 AR 🇨🇳 ZH 🇯🇵 JA 🇮🇳 HI
Sign in Get a Number
← Help Center
On this page
Overview Two Approaches 1 — Portal Inbox 2 — Webhook to Helpdesk 3 — Reply via API Auto-Reply Setup 24-Hour Session Window Best Practices FAQ

Customer Support via WhatsApp

Messaging · 8 min read Support WhatsApp Portal
What this guide covers: How to set up WhatsApp as a customer support channel using DIDfarm. Two approaches: manage conversations in the DIDfarm portal, or forward messages to your existing helpdesk via webhook. Includes auto-reply setup and 24-hour session window management.

Overview

WhatsApp is the preferred support channel in most of the world. Customers expect to message businesses the same way they message friends — and they expect fast replies.

DIDfarm lets you receive and reply to WhatsApp messages without a separate Business Solution Provider. Connect your WhatsApp Business Account once, and manage support conversations from the portal or your own helpdesk system.

Two Approaches

ApproachBest forSetup time
Portal inboxSmall teams (1-5 agents), low volume (<50 conversations/day)5 minutes
Webhook to helpdeskLarger teams, existing helpdesk (Zendesk, Freshdesk, Intercom), high volume30 minutes

Approach 1 — Portal Inbox

1Use the built-in WhatsApp inbox in the DIDfarm portal

Go to My Numbers → WhatsApp tab. The Inbox view shows all incoming conversations grouped by contact. Click a conversation to see the full message history and reply.

  • Real-time updates — new messages appear instantly via WebSocket
  • Conversation threading — messages are grouped by phone number
  • Quick reply — type a response and hit Enter or click Send
  • No coding required — works out of the box
Getting started: Once your WhatsApp Business Account is connected, any message sent to your WhatsApp number will appear in the portal inbox automatically. No additional configuration needed.

Approach 2 — Webhook to Helpdesk

2Forward inbound messages to your helpdesk system

Configure a webhook URL on your WhatsApp-enabled number. DIDfarm will POST every inbound message to your endpoint in real-time.

INBOUND WEBHOOK PAYLOAD
{
  "event": "whatsapp.message.received",
  "message_id": "wamid.abc123",
  "from": "+31611398058",
  "to": "+16315950406",
  "body": "Hi, I need help with my order #12345",
  "type": "text",
  "timestamp": "2026-04-06T14:22:00Z",
  "account_id": 1,
  "media": null
}
NODE.JS — FORWARD TO ZENDESK
app.post('/webhooks/whatsapp-inbound', async (req, res) => {
  const { from, body, message_id } = req.body;

  // Create or update ticket in Zendesk
  await zendesk.tickets.createOrUpdate({
    requester: { phone: from },
    subject: `WhatsApp: ${body.substring(0, 60)}`,
    comment: { body: `[WhatsApp] ${body}` },
    tags: ['whatsapp', 'inbound'],
    external_id: `wa:${from}`,
  });

  // Send auto-acknowledgment within 24h window
  await fetch('https://didfarm.com/api/v1/whatsapp/messages', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      account_id: 1,
      to: from,
      type: 'text',
      text: { body: 'Thanks for reaching out! A support agent will reply shortly.' },
    }),
  });

  res.sendStatus(200);
});

Step 3 — Reply via API

3Send replies from your helpdesk or custom system

When an agent replies in your helpdesk, forward the reply to the customer via the DIDfarm API.

NODE.JS — SEND REPLY
// Within the 24-hour session window: send free-form text
await fetch('https://didfarm.com/api/v1/whatsapp/messages', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    account_id: 1,
    to: '+31611398058',
    type: 'text',
    text: {
      body: 'Hi! I checked your order #12345 — it shipped yesterday. ' +
            'Tracking: https://track.example.com/abc123'
    },
  }),
});
24-hour window: You can only send free-form replies within 24 hours of the customer's last message. After the window closes, you must use an approved template to re-initiate the conversation. Plan your response workflows accordingly.

Auto-Reply Setup

Set up automatic acknowledgment messages so customers know their message was received, even outside business hours.

NODE.JS — AUTO-REPLY WITH BUSINESS HOURS CHECK
app.post('/webhooks/whatsapp-inbound', async (req, res) => {
  const { from, body } = req.body;
  const hour = new Date().getHours();
  const isBusinessHours = hour >= 9 && hour < 18;

  const replyText = isBusinessHours
    ? 'Thanks for your message! A support agent will respond within 5 minutes.'
    : 'Thanks for your message! Our team is currently offline. ' +
      'We\'ll reply first thing tomorrow morning (9 AM CET).';

  await sendWhatsAppReply(from, replyText);

  // Forward to helpdesk queue
  await createSupportTicket(from, body);

  res.sendStatus(200);
});

24-Hour Session Window

Understanding the session window is critical for WhatsApp support:

  • Customer messages you → 24-hour window opens
  • During the window → you can send unlimited free-form replies (text, images, documents)
  • Window closes → you can only send approved templates to re-engage
  • Customer replies again → window resets to a new 24 hours
Cost implication: Service conversations (customer-initiated) are free in many markets. You only pay when you initiate with a template outside the 24-hour window. This makes WhatsApp very cost-effective for reactive support.

Re-opening a closed conversation

If you need to follow up after the 24-hour window closes (e.g., resolved issue, survey), send an approved template:

TEMPLATE: SUPPORT_FOLLOWUP
Hi 1,

Your support request #2 has been resolved.

Is there anything else we can help with? Reply to this message and we'll get right back to you.

Best Practices

  • Reply within 5 minutes during business hours — WhatsApp customers expect near-instant responses
  • Set up auto-reply for after-hours with expected response time
  • Use the portal inbox for simple setups, webhooks for scaling
  • Keep the 24-hour window in mind — reply promptly to avoid needing templates
  • Forward to email as backup so messages don't get lost if your webhook is down
  • Send a follow-up template after resolution to collect feedback
  • Use one WhatsApp number for all support — keeps conversation history unified per customer
  • Add your WhatsApp number to your website, email signatures, and invoices for easy access

FAQ

Can I assign conversations to specific agents?

The DIDfarm portal shows all conversations in a shared inbox. For agent assignment, use the webhook approach and route to your helpdesk system (Zendesk, Freshdesk, etc.) which handles agent assignment natively.

Can I use a chatbot?

Yes. Set up a webhook endpoint that runs your chatbot logic. Process the inbound message through your bot, and reply via the DIDfarm API. If the bot can't handle the query, escalate to a human agent.

What happens if my webhook is down?

Messages are still received and stored in the DIDfarm portal inbox. Set up email forwarding as a backup. DIDfarm also retries webhook delivery with exponential backoff (3 attempts).

Can I send images and documents in replies?

Yes. Within the 24-hour session window, you can send text, images, documents (PDF), audio, and video. Use the type field in the API to specify the media type.

Set up WhatsApp support

Connect your WhatsApp Business Account and start receiving customer messages.

WhatsApp Setup Guide →
© 2026 DIDfarm · didfarm.com
About Blog Partners Coverage API Docs Status Privacy Terms Cookies Help

We use essential cookies to make DIDfarm work. With your consent, we also use analytics cookies to improve our service. Cookie Policy