Las citas perdidas cuestan a los negocios de servicios miles de dólares al año. Un simple recordatorio por SMS el día anterior puede reducir las ausencias entre un 30% y un 50%. Pero configurar Twilio para esto parece excesivo, y los costos se acumulan.
Aquí te mostramos cómo construir un sistema de recordatorios de citas extremadamente sencillo usando tu propio teléfono como puerta de enlace SMS.
¿Por qué no usar simplemente Twilio?
Para una pequeña clínica o salón que envía 200 recordatorios al mes, los costos de Twilio son:
- Mensajes: 200 × $0.0079 = $1.58
- Recargos del operador: 200 × $0.003 = $0.60
- Número de teléfono: $1.15/mes
- Registro 10DLC: $2/mes + $15 una vez
- Tiempo de configuración: 1-2 horas (SDK, verificación, registro)
Total: ~$5.33/mes + el dolor de cabeza de la configuración. Y si el registro es rechazado (común para pequeñas empresas), te quedas atascado.
Con MySMSGate: 200 × $0.03 = $6.00/mes. Sin registro, sin dolores de cabeza de configuración, funcionando en 5 minutos. Tus pacientes verán tu número de teléfono real, no un número aleatorio de Twilio.
Opción 1: Google Sheets + Apps Script (Sin Código)
El enfoque más sencillo, perfecto si ya llevas un seguimiento de las citas en una hoja de cálculo.
Configura tu Hoja de Cálculo
Crea una Google Sheet con las siguientes columnas:
| A: Nombre del Paciente | B: Teléfono | C: Fecha | D: Hora | E: Recordado |
|---|---|---|---|---|
| Sarah Johnson | +12025551234 | 2026-03-10 | 3:00 PM | |
| Mike Chen | +12025555678 | 2026-03-10 | 4:30 PM |
Añade el Script
Ve a Extensiones → Apps Script, pega 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 = "Hola " + name + ", recordatorio: tu cita es mañana a las " + time + ". Responde SÍ para confirmar o llama para reprogramar.";
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");
}
}
}
Prográmalo
En Apps Script, ve a Triggers → Añadir Disparador:
- Función:
sendReminders - Evento: Basado en tiempo → Temporizador diario → 9am–10am
Listo. Cada mañana, el script verifica las citas del día siguiente y envía recordatorios automáticamente.
Opción 2: Script de Python (Desarrollador)
Si tienes un sistema de reservas con una base de datos:
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"Hola {name}, recordatorio: tu cita es mañana a las {time}. Responde SÍ 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()
Ejecutar con cron: 0 9 * * * python3 /path/to/reminders.py
Opción 3: Zapier / Make (Sin Código)
Si usas Calendly, Google Calendar o cualquier herramienta de reservas con integración Zapier:
- Disparador: "Nuevo evento en Google Calendar" (o Calendly, Acuity, etc.)
- Acción: Retrasar hasta 1 día antes del evento
- Acción: Webhooks by Zapier → POST a
https://mysmsgate.net/api/v1/send
Configura los encabezados: Authorization: Bearer YOUR_API_KEY
Configura el cuerpo: {"to": "{{phone}}", "message": "Hola {{name}}, recordatorio: tu cita es mañana a las {{time}}."}
Consejos para Recordatorios Efectivos
- Envía 24 horas antes — da tiempo a los pacientes para reprogramar
- Incluye la hora — "mañana a las 3 PM" es mejor que "mañana"
- Pide confirmación — "Responde SÍ para confirmar" aumenta el compromiso
- Mantenlo corto — 1 segmento SMS (160 caracteres) es ideal
- Usa el nombre de tu negocio — los pacientes reconocen tu número porque ES tu número
Empieza gratis — configura recordatorios en menos de 10 minutos.
Comments (0)
Be the first to comment!