
Table of Contents
📌 ¿Qué es este módulo?
Este módulo integra Twilio, la plataforma de comunicaciones en la nube, directamente en Saturn Studio. Permite a los robots enviar y recibir mensajes SMS, mensajes de WhatsApp y realizar llamadas de voz, automatizando la interacción con clientes, empleados o sistemas a través de canales de comunicación directos.
Con esta integración, los flujos de trabajo en Saturn Studio pueden notificar a los usuarios sobre eventos importantes, enviar recordatorios de citas, implementar sistemas de verificación por código, o incluso realizar llamadas automáticas para entregar información crítica, todo de manera programada y eficiente.
📚 Descripción de los comandos
A continuación se detallan los comandos disponibles para la integración con Twilio:
💬 Create a Message
Crea y envía un mensaje (SMS o WhatsApp) a través de Twilio.
Parámetro | Descripción | Ejemplo |
Credential | Credencial de Twilio necesaria para crear un mensaje. | credential |
Send mode | Modo de envío del mensaje. | SMS or WhatsApp |
From | Número de teléfono que enviará el mensaje. | +15005550006 |
To | Número de teléfono que recibirá el mensaje. | +15005550006 |
Message Body | El mensaje que será enviado. | Message |
Assign result to variable | Variable donde se almacenará el resultado. | [{“body”: “Hola, este es un saludo de Saturn Studio”, “numSegments”: “1”, “direction”: “outbound-api”, “from”: “+15005550006”, “to”: “+15005550005”, “dateUpdated”: “2024-12-04T183627.000Z”, “errorMessage”: null, “uri”: “/2010-04-01/Accounts/ACc0a38f96f87ebc57f5a5405bc6a8fe6c/Messages/SM971b134c3a799d1e3865ac663442590b.json”, “accountSid”: “ACc0a38f96f87ebc57f5a5405bc6a8fe6c”, “sid”: “SM971b134c3a799d1e3865ac663442590b”}] |
📂 List Messages
Lista todos los mensajes en Twilio, con opción de filtrado.
Parámetro | Descripción | Ejemplo |
Credential | Credencial de Twilio necesaria para listar mensajes. | credential |
From Phone number | Leer mensajes enviados solo desde este número. | +15005550006 |
To Phone number | Leer mensajes enviados solo a este número. | +15005550006 |
Limit | Limitar el número de mensajes a devolver. | 3 |
Assign result to variable | Variable donde se almacenará el resultado. | [{“id”: “recZX9AJjpJXvsveG”, “createdTime”: “2024-11-22T124734.000Z”, “fields”: {“Direction”: “Washington 412”, “Name”: “John”, “Age”: “1”, “Status”: “In progress”, “Lastname”: “Doe”}}] |
🔍 Get a Message
Obtiene un mensaje específico de Twilio por su ID.
Parámetro | Descripción | Ejemplo |
Credential | Credencial de Twilio necesaria para obtener un mensaje. | credential |
Message ID | El ID del mensaje que se desea obtener. | SMdc0aa16b74f7096f322a6f1f4f94c93f |
Assign result to variable | Variable donde se almacenará el resultado. | {“body”: “Hola, este es un saludo de Saturn Studio”, “numSegments”: “1”, “direction”: “outbound-api”, “from”: “whatsapp+14155238886”, “to”: “whatsapp+14155238886”, “dateUpdated”: “2024-12-04T190343.000Z”, “errorMessage”: null, “uri”: “/2010-04-01/Accounts/AC933390f4bec449eb14882d85c73b8596/Messages/SMc164e584b9d0f83b139e816b13df0051.json”, “accountSid”: “AC933390f4bec449eb14882d85c73b8596”, “sid”: “SMc164e584b9d0f83b139e816b13df0051”} |
🗑️ Delete a Message
Elimina un mensaje en Twilio.
Parámetro | Descripción | Ejemplo |
Credential | Credencial de Twilio necesaria para eliminar un mensaje. | credential |
Message ID | El ID del mensaje que se desea eliminar. | SMdc0aa16b74f7096f322a6f1f4f94c93f |
Assign result to variable | Variable donde se almacenará el resultado (true o false). | true |
📞 Create a Call
Crea una llamada en Twilio.
Parámetro | Descripción | Ejemplo |
Credential | Credencial de Twilio necesaria para crear una llamada. | credential |
From | Número de teléfono que realizará la llamada. | +14173612192 |
To | Número de teléfono que recibirá la llamada. | +14173612192 |
Use TwiML | Usar TwiML para controlar la llamada. | true or false |
URL | La URL que será usada para crear la llamada. | https://demo.twilio.com/welcome/voice/ |
Message Body | El mensaje que será enviado. | Message |
Assign result to variable | Variable donde se almacenará el resultado. | {“sid”: “CA878c4e99ea30c769aa4aaa8980b0170d”, “dateCreated”: null, “dateUpdated”: null, “accountSid”: “AC58011c1dd799a0144ba44be81013f9b0”, “to”: “+14173612192”, “from”: “+14173612192”, “phoneNumberSid”: “PNdc93d68cdcfe37ba043ec872a5c39e46”, “status”: “queued”, “startTime”: null, “endTime”: null, “duration”: null, “direction”: “outbound-api”, “answeredBy”: null, “groupSid”: null, “callerName”: null, “queueTime”: “0”, “bodyMessage”: “Rocketbot call”} |
📂 List Calls
Lista todas las llamadas en Twilio, con opción de filtrado.
Parámetro | Descripción | Ejemplo |
Credential | Credencial de Twilio necesaria para listar llamadas. | credential |
From Phone number | Listar llamadas hechas solo desde este número. | +14173612192 |
To Phone number | Listar llamadas hechas solo a este número. | +14173612192 |
Limit | Limitar el número de llamadas a devolver. | 3 |
Assign result to variable | Variable donde se almacenará el resultado. | [{“id”: “recZX9AJjpJXvsveG”, “createdTime”: “2024-11-22T124734.000Z”, “fields”: {“Direction”: “Washington 412”, “Name”: “John”, “Age”: “1”, “Status”: “In progress”, “Lastname”: “Doe”}}] |
🔍 Get a Call
Obtiene una llamada específica de Twilio por su ID (SID).
Parámetro | Descripción | Ejemplo |
Credential | Credencial de Twilio necesaria para obtener una llamada. | credential |
Call ID (SID) | El ID de la llamada que se desea obtener. | SMdc0aa16b74f7096f322a6f1f4f94c93f |
Assign result to variable | Variable donde se almacenará el resultado. | {“sid”: “CAde0fd68dc4ed3e9c05d875e5478333d9”, “dateCreated”: “2024-12-04T194253.000Z”, “dateUpdated”: “2024-12-04T194307.000Z”, “accountSid”: “AC58011c1dd799a0144ba44be81013f9b0”, “to”: “+14173612192”, “from”: “+14173612192”, “status”: “completed”, “startTime”: “2024-12-04T194301.000Z”, “endTime”: “2024-12-04T194307.000Z”, “duration”: “6”, “direction”: “outbound-api”, “answeredBy”: null, “forwardedFrom”: “+14173612192”, “callerName”: “”, “queueTime”: “0”} |
🗑️ Delete a Call
Elimina una llamada en Twilio.
Parámetro | Descripción | Ejemplo |
Credential | Credencial de Twilio necesaria para eliminar una llamada. | credential |
Call ID (SID) | El ID de la llamada que se desea eliminar. | CAde0fd68dc4ed3e9c05d875e5478333d9 |
Assign result to variable | Variable donde se almacenará el resultado (true o false). | true |
🧪 Ejemplo de uso
- Notificaciones de sistema: Enviar un SMS a un administrador de sistemas cuando un servidor crítico deja de responder.
- Recordatorios de citas: Automatizar el envío de un recordatorio por WhatsApp a los clientes 24 horas antes de su cita agendada.
- Verificación de dos factores (2FA): Crear un robot que, como parte de un proceso de login, genere un código y lo envíe por SMS al usuario para que pueda continuar.
- Encuestas de satisfacción: Realizar una llamada automática a un cliente después de una compra para que califique su experiencia, utilizando TwiML para gestionar las respuestas por tonos.
🧩 Requisitos
- Tener una cuenta de Twilio.
- Disponer del Account SID y el Auth Token de tu cuenta de Twilio. Estos dos valores conforman la credencial necesaria en Saturn Studio.
- Haber adquirido al menos un número de teléfono de Twilio para poder enviar mensajes o realizar llamadas.
- Asegurarse de que el número de destino sea válido y tenga el formato internacional correcto (ej: +15005550006).