Automatizar las comunicaciones es clave para cualquier negocio en crecimiento, y la capacidad de enviar SMS desde Google Sheets puede desbloquear flujos de trabajo potentes para marketing, notificaciones y servicio al cliente. Esta guía completa te llevará a través del proceso, aprovechando el poder de Google Apps Script y la pasarela SMS fiable y rentable de MySMSGate para convertir tu hoja de cálculo en un potente centro de comunicación.
Ya sea que estés enviando recordatorios de citas, actualizaciones de pedidos o mensajes de marketing personalizados, descubrirás lo fácil y asequible que es automatizar SMS directamente desde tus datos de Google Sheets, sin necesidad de infraestructura compleja o servicios de terceros costosos.
Paso 1: Entiende lo básico – ¿Por qué automatizar SMS desde Google Sheets?
Google Sheets es más que una simple hoja de cálculo; es una base de datos versátil para muchas pequeñas empresas y startups. Integrar el envío de SMS directamente desde tus hojas ofrece numerosas ventajas:
- Eficiencia: Automatiza tareas repetitivas como el envío de notificaciones masivas o mensajes personalizados.
- Comunicación basada en datos: Utiliza los datos de clientes existentes en tus hojas para activar SMS dirigidos.
- Rentabilidad: Evita el envío manual, reduce errores y elige una pasarela SMS asequible como MySMSGate.
- Accesibilidad: Gestiona tus contactos y comunicaciones desde una plataforma familiar y ampliamente disponible.
- Casos de uso: Recordatorios de citas, notificaciones de entrega, campañas de marketing, OTPs, alertas internas, seguimientos de atención al cliente y más.
Al conectar Google Sheets con una pasarela SMS como MySMSGate, transformas tus datos en comunicación accionable, directamente desde tu navegador.
Paso 2: Empieza con MySMSGate: Tu pasarela SMS asequible
Antes de sumergirnos en la codificación, necesitarás una pasarela SMS que pueda gestionar tus mensajes. MySMSGate ofrece una solución única y altamente rentable al convertir tus teléfonos Android existentes en potentes dispositivos de envío de SMS. Este enfoque evita los costosos agregadores de SMS tradicionales y elimina la necesidad de registros de remitente complejos como 10DLC.
- Crea tu cuenta: Dirígete a MySMSGate.net y regístrate para obtener una cuenta gratuita. El proceso es rápido y no requiere tarjeta de crédito por adelantado.
- Conecta tu teléfono Android: Una vez que hayas iniciado sesión, encontrarás un código QR en tu panel de control. Descarga la aplicación MySMSGate Android desde Google Play Store en el teléfono Android que elijas. Abre la aplicación y escanea el código QR desde tu panel de control. Tu teléfono se conectará instantáneamente, listo para enviar y recibir mensajes. Puedes conectar un número ilimitado de teléfonos a una cuenta, utilizando el soporte de doble SIM si es necesario.
- Localiza tu clave API: Para que Google Apps Script se comunique con MySMSGate, necesitarás tu clave API única. Puedes encontrar esta clave en tu panel de control de MySMSGate bajo la sección 'API'. Mantenla segura, ya que autentica tus solicitudes.
- Financia tu cuenta: MySMSGate opera con un modelo de pago por uso sin tarifas mensuales ni contratos. Los mensajes SMS cuestan solo $0.03 por SMS, con paquetes disponibles (por ejemplo, 100 SMS por $3, 500 SMS por $12, 1000 SMS por $20). Añade saldo a tu cuenta para garantizar un envío sin interrupciones. Los SMS fallidos se reembolsan automáticamente.
MySMSGate se destaca como una de las APIs de SMS más baratas para pequeñas empresas, proporcionando una robusta API REST para desarrolladores y un panel de control web fácil de usar para usuarios no técnicos.
Paso 3: Prepara tu Google Sheet para el envío de SMS
La estructura de tu Google Sheet es crucial. Necesitarás columnas para el número de teléfono del destinatario y el contenido del mensaje. Considera añadir más columnas para personalización o seguimiento.
Vamos a configurar una hoja simple con tres columnas:
- Número de teléfono: El número internacional completo del destinatario (por ejemplo, +12345678900).
- Mensaje: El contenido de texto del SMS.
- Estado: Una columna para rastrear si el SMS se envió correctamente (opcional, pero muy recomendable para depuración y seguimiento).
Aquí tienes un ejemplo de cómo podría verse tu hoja:
| Número de teléfono | Mensaje | Estado |
|---|---|---|
| +12345678900 | Hola Juan, tu cita es mañana a las 2 PM. | |
| +19876543210 | Recordatorio: Tu factura vence el 20 de marzo. | |
| +11122334455 | ¡Oferta especial solo para ti! Usa el código SAVE10. |
Asegúrate de que tus números de teléfono estén formateados correctamente con el código de marcación internacional (por ejemplo, +1, +44, +91), ya que esto es esencial para una entrega fiable.
Paso 4: Accede a Google Apps Script
Google Apps Script es una plataforma basada en JavaScript que te permite extender aplicaciones de Google Workspace como Sheets, Docs y Forms. Es donde escribiremos el código para conectar tu hoja con MySMSGate.
- Abre tu Google Sheet.
- Ve a la barra de menú y haz clic en Extensiones > Apps Script.
- Se abrirá una nueva pestaña del navegador, mostrando el editor de Google Apps Script. Probablemente verás un archivo predeterminado llamado
Code.gscon una función vacía,myFunction().
Aquí es donde escribiremos nuestro código JavaScript personalizado.
Paso 5: Escribe el código de Google Apps Script
Ahora, escribamos el código JavaScript que leerá los datos de tu Google Sheet y los enviará a la API de MySMSGate. Crearemos una función que itera a través de las filas, construye la solicitud API y envía el mensaje.
function sendSmsFromSheet() {
const SHEET_NAME = 'Sheet1'; // Replace with your sheet name
const API_KEY = 'YOUR_MY_SMS_GATE_API_KEY'; // Replace with your MySMSGate API Key
const API_ENDPOINT = 'https://mysmsgate.net/api/v1/send';
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
const dataRange = sheet.getDataRange();
const values = dataRange.getValues();
// Assuming headers are in the first row, start from the second row
for (let i = 1; i < values.length; i++) {
const row = values[i];
const phoneNumber = row[0]; // Phone number from the first column
const messageText = row[1]; // Message from the second column
let statusCell = sheet.getRange(i + 1, 3); // Status in the third column (row index + 1, column index)
// Skip if phone number or message is empty, or if status is already 'Sent'
if (!phoneNumber || !messageText || statusCell.getValue() === 'Sent') {
continue;
}
try {
const payload = {
'api_key': API_KEY,
'number': phoneNumber,
'message': messageText
// 'device_id': 'YOUR_DEVICE_ID' // Optional: Specify a connected Android device ID
// 'sim_slot': 1 // Optional: Specify SIM slot (1 or 2) if dual SIM
};
const options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(API_ENDPOINT, options);
const responseData = JSON.parse(response.getContentText());
if (responseData.success) {
statusCell.setValue('Sent');
Logger.log('SMS sent successfully to ' + phoneNumber);
} else {
statusCell.setValue('Failed: ' + responseData.message);
Logger.log('Failed to send SMS to ' + phoneNumber + ': ' + responseData.message);
}
} catch (e) {
statusCell.setValue('Error: ' + e.message);
Logger.log('Error sending SMS to ' + phoneNumber + ': ' + e.message);
}
// Optional: Add a small delay to avoid hitting API rate limits if sending many messages
// Utilities.sleep(1000);
}
}
Explicación del código:
SHEET_NAME: Asegúrate de que coincida con el nombre exacto de tu pestaña de Google Sheet (por ejemplo, 'Sheet1', 'Lista SMS').API_KEY: IMPORTANTE: Reemplaza'YOUR_MY_SMS_GATE_API_KEY'con tu clave API real de tu panel de control de MySMSGate.API_ENDPOINT: Este es el endpoint de la API de MySMSGate para enviar mensajes.sheet.getDataRange().getValues(): Esto recupera todos los datos de tu hoja activa.- Recorrido de las filas: El bucle
forcomienza desdei = 1para omitir la fila de encabezado. phoneNumberymessageText: Estas variables extraen datos de la primera (índice 0) y segunda (índice 1) columnas de cada fila. Ajusta estos índices si tus columnas son diferentes.statusCell: Esto obtiene una referencia a la celda en la tercera columna (índice 2) de la fila actual, donde actualizaremos el estado.payload: Este objeto JSON contiene los datos requeridos por la API de MySMSGate: tuapi_key, elnumbery elmessage. Opcionalmente puedes incluirdevice_idysim_slotsi tienes varios dispositivos o teléfonos con doble SIM conectados y quieres especificar cuál usar.UrlFetchApp.fetch(): Este es el método de Google Apps Script para realizar solicitudes HTTP. Estamos enviando una solicitud POST con una carga útil JSON.- Manejo de respuestas: El script analiza la respuesta de la API y actualiza la columna 'Estado' en consecuencia, indicando 'Enviado' o 'Fallido' con un mensaje de error.
Para más detalles sobre los parámetros de la API, consulta la documentación de la API de MySMSGate.
Paso 6: Configura y prueba tu remitente de SMS
Después de pegar el código en tu editor de Apps Script, necesitas guardarlo y otorgar los permisos necesarios.
- Guarda el script: Haz clic en el icono del disquete (Guardar proyecto) o en Archivo > Guardar.
- Selecciona la función: En la barra de herramientas encima del editor de código, hay un menú desplegable (podría decir 'myFunction' o 'sendSmsFromSheet'). Selecciona
sendSmsFromSheet. - Ejecuta el script: Haz clic en el icono 'Ejecutar' (un triángulo apuntando a la derecha).
- Autoriza los permisos: La primera vez que ejecutas un script que accede a servicios externos o a tu hoja de cálculo, Google te pedirá autorización. Sigue estos pasos:
- Haz clic en 'Revisar permisos'.
- Selecciona tu cuenta de Google.
- Revisa los permisos solicitados (por ejemplo, 'Ver, editar, crear y eliminar todas tus hojas de cálculo de Google Sheets', 'Conectarse a un servicio externo').
- Haz clic en 'Permitir'.
- Verifica tu hoja: Después de una autorización exitosa, el script se ejecutará. Vuelve a tu Google Sheet. Deberías ver la columna 'Estado' actualizada con 'Enviado' para los mensajes entregados correctamente o 'Fallido' con un mensaje de error.
- Verifica tu teléfono: Confirma que tu teléfono Android conectado envió los mensajes.
Si encuentras errores, revisa la pestaña 'Ejecuciones' en el editor de Apps Script para ver los registros y detalles del error. Los problemas comunes incluyen una clave API incorrecta, números de teléfono mal formados o un mensaje vacío.
Paso 7: Automatiza el envío de SMS con activadores (Triggers)
Ejecutar el script manualmente está bien para las pruebas, pero el verdadero poder de la automatización de SMS desde Google Sheets viene con los activadores. Puedes configurar tu script para que se ejecute automáticamente basándose en varios eventos:
- Basado en el tiempo: Ejecuta el script cada hora, día, semana, etc., para procesar nuevas filas.
- Al enviar un formulario: Si tu hoja se rellena mediante un formulario de Google, envía un SMS inmediatamente después de una nueva entrada del formulario.
- Al editar: Activa el script cuando se edita una celda o un rango específico.
Así es como se configura un activador basado en el tiempo:
- En el editor de Apps Script, haz clic en el icono 'Activadores' (un reloj) en la barra lateral izquierda.
- Haz clic en '+ Añadir activador' en la esquina inferior derecha.
- Configura el activador:
- Elige qué función ejecutar:
sendSmsFromSheet - Elige la implementación a ejecutar:
Head - Selecciona la fuente del evento:
Controlado por tiempo - Selecciona el tipo de activador basado en tiempo: Por ejemplo,
Temporizador de horas - Selecciona el intervalo de horas: Por ejemplo,
Cada hora
- Elige qué función ejecutar:
- Haz clic en 'Guardar'.
Ahora, tu Google Sheet comprobará automáticamente si hay nuevos mensajes para enviar en el intervalo especificado, haciendo que tus campañas de SMS sean verdaderamente automáticas. También puedes integrar MySMSGate con herramientas como Zapier, Make.com o n8n para flujos de trabajo de automatización más complejos, como se detalla en nuestras guías de integración.
Paso 8: Consejos avanzados y casos de uso
Una vez que domines los conceptos básicos de cómo enviar SMS desde Google Sheets, considera estos consejos avanzados para maximizar tu automatización:
- Personalización: Añade más columnas a tu hoja (por ejemplo, Nombre del cliente, Número de pedido) e insértalas dinámicamente en el texto de tu mensaje dentro del script.
- Comunicación bidireccional: MySMSGate reenvía automáticamente todos los SMS entrantes a tu panel de control web. Luego puedes responder usando la interfaz de Conversaciones Web, lo que te brinda una experiencia similar a la de un chat directamente desde tu navegador.
- Manejo de errores y registro: Mejora tu script para registrar mensajes de éxito/fallo más detallados, quizás en una hoja de 'Registros' separada, para una mejor monitorización.
- Gestión de costos: Con la tarificación transparente de MySMSGate de $0.03/SMS, puedes calcular fácilmente los costos. En comparación con competidores como Twilio ($0.05-$0.08/SMS más tarifas adicionales por números de teléfono y registro 10DLC), MySMSGate ofrece ahorros significativos, especialmente para pequeñas empresas o aquellas que envían grandes volúmenes.
- Dispositivos/SIMs dedicados: Si tienes varios teléfonos Android conectados a MySMSGate, puedes especificar qué
device_idosim_slotusar para enviar ciertos mensajes, lo que permite la gestión de múltiples sucursales o identidades de remitente distintas. - Programar mensajes: Aunque los activadores de Google Apps Script pueden programar, para una programación más precisa, podrías gestionar las colas de mensajes en tu hoja y hacer que el script envíe mensajes solo cuando se cumpla su hora programada.
Al aprovechar estas capacidades, tu Google Sheet puede convertirse en una potente plataforma de comunicación integrada para tu negocio.
Preguntas frecuentes
¿Puedo enviar SMS personalizados desde Google Sheets?
¡Sí, absolutamente! Al añadir columnas para datos personalizados (como nombres de clientes, números de pedido o fechas específicas) en tu Google Sheet, puedes modificar fácilmente el Google Apps Script para insertar dinámicamente esta información en tu mensaje SMS. Esto permite una comunicación altamente relevante y atractiva con tus destinatarios.
¿Es caro enviar SMS desde Google Sheets?
El costo depende de la pasarela SMS que utilices. Con MySMSGate, enviar SMS desde Google Sheets es muy asequible, costando solo $0.03 por SMS sin tarifas mensuales ni contratos. Esto es significativamente más barato que muchas APIs de SMS tradicionales como Twilio, que a menudo cobran $0.05-$0.08 por SMS más tarifas adicionales por números de teléfono y cumplimiento. El modelo de MySMSGate de usar tus propios teléfonos Android ayuda a mantener los costos bajos.
¿Necesito habilidades de programación para automatizar SMS desde Google Sheets?
Para el método descrito en este tutorial, una familiaridad básica con copiar y pegar código y entender variables simples en JavaScript (Google Apps Script) es útil. No necesitas ser un desarrollador experto. El fragmento de código proporcionado está listo para usar con modificaciones menores (clave API, nombre de la hoja). Para usuarios no técnicos, MySMSGate también ofrece un panel de control web para enviar SMS directamente, o integraciones sin código con Zapier, Make.com y n8n, que pueden conectarse a Google Sheets sin escribir código personalizado.
¿Cómo puedo rastrear el estado de entrega de SMS desde Google Sheets?
En este tutorial, hemos incluido una columna 'Estado' en tu Google Sheet que se actualiza con 'Enviado' o 'Fallido' directamente después de que la API de MySMSGate responde. Para un seguimiento de entrega en tiempo real más detallado, MySMSGate ofrece webhooks que pueden enviar actualizaciones del estado de entrega a tus propios sistemas, los cuales un Google Apps Script más avanzado podría procesar y actualizar en tu hoja u otra base de datos.
¿Cuáles son las alternativas a MySMSGate para el envío de SMS desde Google Sheets?
Aunque MySMSGate ofrece una solución única y rentable, otras alternativas incluyen APIs de SMS tradicionales como Twilio, Vonage o Plivo, que también pueden integrarse con Google Apps Script. Sin embargo, estas a menudo conllevan costos por mensaje más altos, tarifas mensuales y requieren procesos de cumplimiento como el registro 10DLC en EE. UU. El uso de tus propios teléfonos Android por parte de MySMSGate elimina estas complejidades y costos, lo que la convierte en una alternativa superior a Twilio para muchas pequeñas empresas y desarrolladores.
Comments (0)
Be the first to comment!