Consultas perdidas custam a empresas de serviços milhares de dólares por ano. Um simples lembrete por SMS no dia anterior pode reduzir as ausências em 30-50%. Mas configurar o Twilio para isso parece um exagero — e os custos se acumulam.

Veja como construir um sistema de lembretes de agendamento super simples usando seu próprio telefone como gateway de SMS.

Por Que Não Usar Apenas o Twilio?

Para uma pequena clínica ou salão que envia 200 lembretes/mês, os custos do Twilio são:

  • Mensagens: 200 × $0.0079 = $1.58
  • Sobretaxas da operadora: 200 × $0.003 = $0.60
  • Número de telefone: $1.15/mês
  • Registro 10DLC: $2/mês + $15 uma única vez
  • Tempo de configuração: 1-2 horas (SDK, verificação, registro)

Total: ~$5.33/mês + dor de cabeça na configuração. E se o registro for rejeitado (comum para pequenas empresas), você fica sem solução.

Com MySMSGate: 200 × $0.03 = $6.00/mês. Sem registro, sem dor de cabeça na configuração, funcionando em 5 minutos. Seus pacientes veem seu número de telefone real — não um número aleatório do Twilio.

Opção 1: Google Sheets + Apps Script (Sem Código)

A abordagem mais simples — perfeita se você já acompanha os agendamentos em uma planilha.

Configure Sua Planilha

Crie uma Google Sheet com as colunas:

A: Nome do PacienteB: TelefoneC: DataD: HoraE: Lembrete Enviado
Sarah Johnson+120255512342026-03-103:00 PM
Mike Chen+120255556782026-03-104:30 PM

Adicione o Script

Vá para Extensões → Apps Script, cole este código:

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 = "Olá " + name + ", lembrete: seu agendamento é amanhã às " + time + ". Responda SIM para confirmar ou ligue para reagendar.";

      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");
    }
  }
}

Agende a Execução

No Apps Script, vá para Gatilhos → Adicionar Gatilho:

  • Função: sendReminders
  • Evento: Acionado por tempo → Temporizador diário → 9h–10h

Pronto. Todas as manhãs, o script verifica os agendamentos para o dia seguinte e envia lembretes automaticamente.

Opção 2: Script Python (Desenvolvedor)

Se você tem um sistema de agendamento com um banco de dados:

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"Olá {name}, lembrete: seu agendamento é amanhã às {time}. Responda SIM para confirmar."

    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()

Execute com cron: 0 9 * * * python3 /path/to/reminders.py

Opção 3: Zapier / Make (Sem Código)

Se você usa Calendly, Google Calendar ou qualquer ferramenta de agendamento com integração Zapier:

  1. Gatilho: "Novo evento no Google Calendar" (ou Calendly, Acuity, etc.)
  2. Ação: Atrasar até 1 dia antes do evento
  3. Ação: Webhooks by Zapier → POST para https://mysmsgate.net/api/v1/send

Defina os cabeçalhos: Authorization: Bearer YOUR_API_KEY

Defina o corpo: {"to": "{{phone}}", "message": "Olá {{name}}, lembrete: seu agendamento é amanhã às {{time}}."}

Dicas para Lembretes Eficazes

  • Envie 24 horas antes — dá tempo aos pacientes para reagendar
  • Inclua o horário — "amanhã às 15h" é melhor do que "amanhã"
  • Peça confirmação — "Responda SIM para confirmar" aumenta o engajamento
  • Mantenha-o curto — 1 segmento de SMS (160 caracteres) é ideal
  • Use o nome da sua empresa — os pacientes reconhecem seu número porque É o seu número

Comece gratuitamente — configure lembretes em menos de 10 minutos.