Cliqtel
  • المنتجات
    البنية التحتية
    أرقام افتراضيةأرقام محلية، جوال، ومجانية في أكثر من 70 دولة خطوط SIPخطوط SIP باعتمادية المشغّلين لأي نظام PBX بيانات السفر (eSIM)بيانات الجوال في أكثر من 200 دولة، بلا تجوال
    الاتصالات
    المراسلةرسائل SMS ثنائية الاتجاه وقوالب WhatsApp نظام الهاتف السحابيتدفقات اتصال مرئية، IVR، طوابير، وعرض CRM مركز الاتصالتوجيه متقدم وذكاء اصطناعي — وصول مبكر
    الشركاء والذكاء الاصطناعي
    Cliqtel Connectمنصة بعلامة بيضاء لمزوّدي الخدمات AI Access (MCP)اتصالات قابلة للتشغيل بالذكاء الاصطناعي للوكلاء والمساعدين
  • الحلول
    حسب الفريق
    الفرق عن بُعدرقم عمل واحد لفريق موزّع فرق الدعمطوابير، IVR، وصناديق وارد مشتركة للدعم فرق المبيعاتنقرة للاتصال، عرض CRM منبثق، وهوية متصل محلية
    استكشف
    التغطيةأرقام وأسعار في أكثر من 70 دولة التكاملاتاربط نظام PBX، CRM، وأدواتك
  • الأسعار
    الأسعار والخطط
    الأسعارتسعير شفّاف لكل رقم وحسب الاستخدام التغطية والأسعارأسعار المكالمات والأرقام حسب كل دولة الحزمحزم مسبقة الدفع من الأرقام + الدقائق
  • الوثائق
    ابدأ الآن
    البدءأعدّ حسابك وأول رقم لك مرجع APIREST API للأرقام، المكالمات، والمراسلة تدفقات الاتصالابنِ أنظمة IVR والتوجيه بصريًا مركز المساعدةأسئلة شائعة، أدلّة، وحلّ المشكلات
    الأدلّة
    إعداد PBX وSIPاربط 3CX، FreePBX، Asterisk، وTeams أدلّة المراسلةأدلّة تكامل SMS وWhatsApp المتطلبات التنظيميةقواعد تسجيل الأرقام حسب كل دولة
  • من نحن
    الشركة
    عن Cliqtelمن نحن وما الذي نبنيه اتصل بناتحدّث إلى فريق المبيعات أو الدعم الشركاءكن شريكًا أو موزّعًا لـ Cliqtel
    الموارد
    المدونةأخبار المنتج وأدلّة الاتصالات الحالةحالة المنصة والشبكة مباشرةً التكاملاتسوق تكاملات PBX، CRM، والأدوات
English EN Nederlands NL Deutsch DE Français FR Español ES Português PT العربية AR 中文 ZH 日本語 JA हिन्दी HI
تسجيل الدخول اطلب رقمًا
Cliqtel
المنتجات أرقام افتراضيةأرقام محلية، جوال، ومجانية في أكثر من 70 دولة خطوط SIPخطوط SIP باعتمادية المشغّلين لأي نظام PBX بيانات السفر (eSIM)بيانات الجوال في أكثر من 200 دولة، بلا تجوال المراسلةرسائل SMS ثنائية الاتجاه وقوالب WhatsApp نظام الهاتف السحابيتدفقات اتصال مرئية، IVR، طوابير، وعرض CRM مركز الاتصالتوجيه متقدم وذكاء اصطناعي — وصول مبكر Cliqtel Connectمنصة بعلامة بيضاء لمزوّدي الخدمات AI Access (MCP)اتصالات قابلة للتشغيل بالذكاء الاصطناعي للوكلاء والمساعدين
الحلول الفرق عن بُعدرقم عمل واحد لفريق موزّع فرق الدعمطوابير، IVR، وصناديق وارد مشتركة للدعم فرق المبيعاتنقرة للاتصال، عرض CRM منبثق، وهوية متصل محلية التغطيةأرقام وأسعار في أكثر من 70 دولة التكاملاتاربط نظام PBX، CRM، وأدواتك
الأسعار الأسعارتسعير شفّاف لكل رقم وحسب الاستخدام التغطية والأسعارأسعار المكالمات والأرقام حسب كل دولة الحزمحزم مسبقة الدفع من الأرقام + الدقائق
الوثائق البدءأعدّ حسابك وأول رقم لك مرجع APIREST API للأرقام، المكالمات، والمراسلة تدفقات الاتصالابنِ أنظمة IVR والتوجيه بصريًا مركز المساعدةأسئلة شائعة، أدلّة، وحلّ المشكلات إعداد PBX وSIPاربط 3CX، FreePBX، Asterisk، وTeams أدلّة المراسلةأدلّة تكامل SMS وWhatsApp المتطلبات التنظيميةقواعد تسجيل الأرقام حسب كل دولة
من نحن عن Cliqtelمن نحن وما الذي نبنيه اتصل بناتحدّث إلى فريق المبيعات أو الدعم الشركاءكن شريكًا أو موزّعًا لـ Cliqtel المدونةأخبار المنتج وأدلّة الاتصالات الحالةحالة المنصة والشبكة مباشرةً التكاملاتسوق تكاملات PBX، CRM، والأدوات

اللغة
EN NL DE FR ES PT AR ZH JA HI
تسجيل الدخول ابدأ مجانًا
← Help Center
On this page
Overview Reminder Flow 1 — Create Template 2 — Send Reminder 3 — Handle Replies Quick Reply Buttons Scheduling Logic Best Practices FAQ

Appointment Reminders via WhatsApp

Messaging · 10 min read Reminders WhatsApp 2-way
What this guide covers: How to send automated appointment reminders via WhatsApp with quick reply buttons for confirm/reschedule. Includes template setup, scheduling logic, inbound reply handling, and cancellation flows.

Overview

No-shows cost healthcare, hospitality, and professional services an estimated 20-30% of revenue. WhatsApp reminders dramatically reduce no-shows because:

  • 98% open rate — vs. 20% for email reminders
  • Quick reply buttons — patients tap "Confirm" or "Reschedule" with one tap
  • 2-way conversation — patients can ask questions or request changes in the same thread
  • Read receipts — you know the patient saw the reminder

Reminder Flow

  1. Appointment booked → schedule 2 reminders (24h before + 2h before)
  2. 24h reminder sent → patient receives WhatsApp with Confirm/Reschedule buttons
  3. Patient replies → your webhook receives the response
  4. Auto-update booking → mark confirmed, or open reschedule flow
  5. 2h reminder sent → final reminder with location/time details

Step 1 — Create a Reminder Template

1Create a utility template with quick reply buttons

In Meta Business Manager → Message Templates, create a utility template:

TEMPLATE: APPOINTMENT_REMINDER
Hi 1,

This is a reminder for your appointment:

Date: 2
Time: 3
Location: 4
Provider: 5

Please confirm or reschedule below.

Add two quick reply buttons:

  • Button 1: Confirm
  • Button 2: Reschedule
Quick reply buttons appear as tappable pills below the message. When the patient taps one, their reply is sent as a standard text message that your webhook receives. The payload includes a button.text field with the button label.

Step 2 — Send the Reminder

2Send the template with appointment details
NODE.JS
async function sendReminder(appointment) {
  const response = await fetch('https://cliqtel.com/api/v1/whatsapp/messages', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      account_id: 1,
      to: appointment.patientPhone,
      type: 'template',
      template: {
        name: 'appointment_reminder',
        language: { code: 'en' },
        components: [{
          type: 'body',
          parameters: [
            { type: 'text', text: appointment.patientName },
            { type: 'text', text: appointment.date },
            { type: 'text', text: appointment.time },
            { type: 'text', text: appointment.location },
            { type: 'text', text: appointment.providerName },
          ]
        }]
      }
    }),
  });

  return response.json();
}

Step 3 — Handle Replies

3Process quick reply button taps via webhook
NODE.JS — WEBHOOK HANDLER
app.post('/webhooks/whatsapp-inbound', (req, res) => {
  const { from, body, button } = req.body;

  // Quick reply buttons send the button text
  const reply = (button?.text || body || '').toLowerCase().trim();

  switch (reply) {
    case 'confirm':
      markAppointmentConfirmed(from);
      // Send confirmation in the open 24h session (no template needed)
      sendFreeformReply(from, 'Your appointment is confirmed. See you then!');
      break;

    case 'reschedule':
      markAppointmentPendingReschedule(from);
      sendFreeformReply(from,
        'No problem. Please reply with your preferred date and time, ' +
        'or call us at +31 20 123 4567.'
      );
      break;

    default:
      // Free-text reply within 24h session window
      forwardToStaff(from, body);
      sendFreeformReply(from,
        'Thanks for your message. Our team will get back to you shortly.'
      );
  }

  res.sendStatus(200);
});
24-hour window: After the patient replies, a 24-hour session window opens. During this window, you can send free-form text replies without needing a template. After the window closes, you must use an approved template to re-initiate contact.

Quick Reply Buttons

Quick reply buttons are the most effective way to get patient confirmations. Key benefits:

  • One-tap response — no typing required
  • Higher response rate — 60-70% of patients respond to button prompts vs. 20-30% for text-only
  • Structured data — you receive the exact button text, making automated processing reliable
  • Maximum 3 buttons per template (e.g., Confirm / Reschedule / Cancel)

Scheduling Logic

Use your application's job scheduler to send reminders at the right time.

PSEUDO-CODE — REMINDER SCHEDULING
// When appointment is booked
function onAppointmentBooked(appointment) {
  const appointmentTime = new Date(appointment.datetime);

  // Schedule 24-hour reminder
  scheduler.schedule({
    job: 'send-reminder',
    data: { appointmentId: appointment.id, type: '24h' },
    runAt: new Date(appointmentTime - 24 * 60 * 60 * 1000),
  });

  // Schedule 2-hour reminder
  scheduler.schedule({
    job: 'send-reminder',
    data: { appointmentId: appointment.id, type: '2h' },
    runAt: new Date(appointmentTime - 2 * 60 * 60 * 1000),
  });
}

// Job handler
async function handleSendReminder({ appointmentId, type }) {
  const appt = await getAppointment(appointmentId);

  // Skip if already cancelled or rescheduled
  if (appt.status !== 'scheduled') return;

  await sendReminder(appt);
}
Timezone tip: Always schedule reminders based on the patient's local timezone, not your server timezone. A 24-hour reminder for a 9 AM appointment in Berlin should be sent at 9 AM Berlin time the day before.

Best Practices

  • Send two reminders: 24 hours and 2 hours before the appointment
  • Include location, date, time, and provider name in every reminder
  • Use quick reply buttons (Confirm / Reschedule) for highest response rates
  • Respect quiet hours — don't send reminders between 9 PM and 8 AM local time
  • Skip confirmed — if the patient confirmed after the 24h reminder, don't send the 2h reminder
  • Add a "Cancel" button if your business allows last-minute cancellations
  • Track read receipts — if a reminder is read but not confirmed, flag it for staff follow-up
  • Keep an SMS fallback for patients who don't have WhatsApp

FAQ

What if the patient doesn't respond?

If no response after the 24h reminder, the 2h reminder still sends. If still no response, flag the appointment for manual follow-up (phone call). Consider sending an SMS fallback if WhatsApp delivery failed.

Can patients reschedule via WhatsApp?

Yes. When they tap "Reschedule", the 24-hour session window opens. You can send free-form messages asking for their preferred time, or direct them to an online booking link. Your webhook handler processes the conversation.

How many reminders can I send per appointment?

There's no hard limit, but each template message outside the 24-hour window costs a conversation fee. The standard pattern is 2 reminders (24h + 2h). More than that can feel spammy.

Start reducing no-shows

Connect your WhatsApp account and create your first reminder template.

WhatsApp Setup Guide →
© 2026 Cliqtel · cliqtel.com
من نحن المدونة الشركاء التغطية وثائق API الحالة الخصوصية الشروط ملفات تعريف الارتباط المساعدة بحث
يتم تشغيل cliqtel.com بواسطة Cliqtel B.V.، المسجلة في زايست، هولندا · KVK 42033793 · VAT NL869402468B01 · SBI 62.09

نستخدم ملفات تعريف الارتباط الأساسية لتشغيل Cliqtel. وبموافقتك، نستخدم أيضًا ملفات تعريف الارتباط التحليلية لتحسين خدمتنا. سياسة ملفات تعريف الارتباط