Les rendez-vous manqués coûtent des milliers de dollars par an aux entreprises de services. Un simple rappel par SMS la veille peut réduire les absences de 30 à 50 %. Mais configurer Twilio pour cela semble excessif — et les coûts s'accumulent.

Voici comment créer un système de rappel de rendez-vous ultra-simple en utilisant votre propre téléphone comme passerelle SMS.

Pourquoi ne pas simplement utiliser Twilio ?

Pour une petite clinique ou un salon envoyant 200 rappels/mois, Twilio coûte :

  • Messages : 200 × 0,0079 $ = 1,58 $
  • Surtaxes opérateur : 200 × 0,003 $ = 0,60 $
  • Numéro de téléphone : 1,15 $/mois
  • Enregistrement 10DLC : 2 $/mois + 15 $ une seule fois
  • Temps de configuration : 1-2 heures (SDK, vérification, enregistrement)

Total : ~5,33 $/mois + le casse-tête de la configuration. Et si l'enregistrement est rejeté (fréquent pour les petites entreprises), vous êtes bloqué.

Avec MySMSGate : 200 × 0,03 $ = 6,00 $/mois. Pas d'enregistrement, pas de casse-tête de configuration, opérationnel en 5 minutes. Vos patients voient votre vrai numéro de téléphone — pas un numéro Twilio aléatoire.

Option 1 : Google Sheets + Apps Script (Sans code)

L'approche la plus simple — parfaite si vous suivez déjà vos rendez-vous dans une feuille de calcul.

Configurez votre feuille

Créez une feuille Google avec les colonnes :

A : Nom du patientB : TéléphoneC : DateD : HeureE : Rappelé
Sarah Johnson+120255512342026-03-103:00 PM
Mike Chen+120255556782026-03-104:30 PM

Ajoutez le script

Allez dans Extensions → Apps Script, collez ce code :

function sendReminders() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var tomorrow = new Date();
  tomorrow.setDate(tomorrow.getDate() + 1);
  var tomorrowStr = Utilities.formatDate(tomorrow, "GMT", "yyyy-MM-dd");

  for (var i = 1; i < data.length; i++) {
    var name = data[i][0];
    var phone = data[i][1];
    var date = Utilities.formatDate(new Date(data[i][2]), "GMT", "yyyy-MM-dd");
    var time = data[i][3];
    var reminded = data[i][4];

    if (date === tomorrowStr && !reminded) {
      var message = "Hi " + name + ", reminder: your appointment is tomorrow at " + time + ". Reply YES to confirm or call to reschedule.";

      UrlFetchApp.fetch("https://mysmsgate.net/api/v1/send", {
        method: "post",
        headers: {
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json"
        },
        payload: JSON.stringify({to: phone, message: message})
      });

      sheet.getRange(i + 1, 5).setValue("Yes");
    }
  }
}

Planifiez-le

Dans Apps Script, allez dans Déclencheurs → Ajouter un déclencheur :

  • Fonction : sendReminders
  • Événement : Déclenché par le temps → Minuteur quotidien → 9h-10h

Fait. Chaque matin, le script vérifie les rendez-vous du lendemain et envoie des rappels automatiquement.

Option 2 : Script Python (Développeur)

Si vous avez un système de réservation avec une base de données :

import requests
import sqlite3
from datetime import date, timedelta

API_KEY = "YOUR_API_KEY"
tomorrow = date.today() + timedelta(days=1)

db = sqlite3.connect("bookings.db")
appointments = db.execute(
    "SELECT name, phone, time FROM appointments WHERE date = ? AND reminded = 0",
    (tomorrow.isoformat(),)
).fetchall()

for name, phone, time in appointments:
    message = f"Hi {name}, reminder: your appointment is tomorrow at {time}. Reply YES to confirm."

    response = requests.post(
        "https://mysmsgate.net/api/v1/send",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"to": phone, "message": message}
    )

    if response.json().get("success"):
        db.execute("UPDATE appointments SET reminded = 1 WHERE phone = ? AND date = ?",
                   (phone, tomorrow.isoformat()))

db.commit()

Exécutez avec cron : 0 9 * * * python3 /path/to/reminders.py

Option 3 : Zapier / Make (Sans code)

Si vous utilisez Calendly, Google Calendar ou tout autre outil de réservation avec intégration Zapier :

  1. Déclencheur : « Nouvel événement dans Google Agenda » (ou Calendly, Acuity, etc.)
  2. Action : Retarder jusqu'à 1 jour avant l'événement
  3. Action : Webhooks by Zapier → POST vers https://mysmsgate.net/api/v1/send

Définissez les en-têtes : Authorization: Bearer YOUR_API_KEY

Définissez le corps : {"to": "{{phone}}", "message": "Bonjour {{name}}, rappel : votre rendez-vous est demain à {{time}}."}

Conseils pour des rappels efficaces

  • Envoyez 24 heures avant — cela donne aux patients le temps de reporter
  • Incluez l'heure — « demain à 15h » est mieux que « demain »
  • Demandez une confirmation — « Répondez OUI pour confirmer » augmente l'engagement
  • Soyez concis — 1 segment SMS (160 caractères) est idéal
  • Utilisez le nom de votre entreprise — les patients reconnaissent votre numéro car C'EST votre numéro

Commencez gratuitement — configurez les rappels en moins de 10 minutes.