Ir al contenido
Menú

Conectar Twilio

Conecta Twilio con EspoCRM para los mensajes (SMS/MMS) y, si Twilio es tu sistema telefónico, para las llamadas con un softphone o el teléfono del navegador.

Actualizada el 15 de octubre de 2026 Ver como Markdown

Los mensajes siempre pasan por Twilio. Las llamadas también pueden pasar por Twilio si no usas 3CX. En las direcciones de abajo, cambia https://crm.example.com por tu URL del sitio. Las pantallas de Twilio se indican con sus nombres en inglés.

Conecta la cuenta

  1. Abre Administración → Integraciones → S+M EspoCRM VOIP · Twilio y marca la casilla para activarla.
  2. Completa Account SID de Twilio y Auth Token de Twilio (consola de Twilio → Account → API keys & tokens), y el Código de país predeterminado (1 para Estados Unidos y Canadá).
  3. Guarda. Tus números de Twilio se agregan en Administración → S+M EspoCRM VOIP → Números de Twilio.

Mensajes (SMS/MMS)

Elige quién usa cada número

Abre Números de Twilio. Los números se agregan solos al guardar la configuración de Twilio y una vez al día; nada de lo que configures se sobrescribe. Para cada número:

  • Estado: Inactivo para un número que este CRM no debe usar (sus mensajes se ignoran y nadie puede enviar desde él).
  • Número predeterminado para mensajes nuevos.
  • Usuarios que pueden enviar mensajes y Equipos que pueden enviar mensajes. Los administradores siempre pueden enviar. Todos los que pueden ver un Contacto, Cliente potencial o Cuenta pueden leer sus mensajes.
  • Avisar primero (sin usuario asignado) y Avisar también en cada mensaje (consulta Uso diario).
  • SID del Messaging Service de Twilio (opcional, MG…): envía los mensajes de este número por ese servicio.

Importante

Quien puede enviar desde un número ve todas las conversaciones de ese número, también con personas que no están en el CRM. Elige los usuarios y equipos de cada número teniéndolo en cuenta.

Dirige el número a EspoCRM

  1. En la consola de Twilio, abre Phone Numbers → Manage → Active numbers → tu número → Messaging configuration. Anota adónde van hoy sus mensajes: un número envía sus mensajes a un solo lugar.
  2. En A message comes in, elige Webhook https://crm.example.com/api/v1/SmVoip/twilio/sms, HTTP POST. Guarda.

Los informes de entrega no necesitan nada más: EspoCRM envía su dirección con cada mensaje.

Bajas

Cuando alguien responde STOP (o STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT, REVOKE, OPTOUT), Twilio le contesta y EspoCRM marca el número como Dado de baja: no se le pueden enviar mensajes hasta que responda START (o YES, UNSTOP). Twilio contesta HELP e INFO.

Mensajes desde flujos de trabajo

En Administración → SMS, elige el proveedor de SMS S+M EspoCRM VOIP (Twilio) para que los flujos de trabajo de EspoCRM puedan enviar mensajes, desde el número predeterminado.

Llamadas por Twilio

Sáltate esta parte si tus llamadas pasan por 3CX.

1. Un dominio SIP para los softphones

  1. En la consola de Twilio, Voice → SIP domains → Credential lists: crea una lista (por ejemplo Telefonos empresa) con un usuario y una contraseña segura para cada persona, por ejemplo jperez.
  2. SIP domains → Create SIP Domain, por ejemplo tuempresa.sip.twilio.com:
    • Voice Authentication → Credential lists: tu lista.
    • SIP Registration: Enabled, con la misma lista.
    • A call comes in: el flujo de Studio de salida (paso 3), cuando exista.
    • Call status changes: https://crm.example.com/api/v1/SmVoip/twilio/status, POST.
  3. Si el 911 debe funcionar desde los softphones, configura una dirección de emergencia en Twilio.

En la configuración de Twilio en EspoCRM, completa Dominio SIP e Identificador de llamada para el botón Llamar (tu número de Twilio, por ejemplo +18885551234) y, si quieres, Grabar las llamadas hechas con el botón Llamar. En cada Usuario, completa SIP Username con su usuario del dominio SIP (jperez).

2. Llamadas entrantes: un flujo de Studio

En Studio → Flows, crea un flujo (por ejemplo Entrantes) desde cero. Desde la salida Incoming Call del disparador:

  1. Make HTTP Request crm_ringing: POST, Form URL Encoded, URL https://crm.example.com/api/v1/SmVoip/twilio/ringing, con los parámetros CallSid = {{trigger.call.CallSid}}, From = {{trigger.call.From}}, To = {{trigger.call.To}} y SipUser = jperez. Conecta Success y Fail al siguiente widget, para que las llamadas sigan sonando aunque el CRM no responda.
  2. Connect Call To ring_user: SIP Endpoint sip:jperez@tuempresa.sip.twilio.com (usuario y contraseña vacíos), Caller ID {{trigger.call.From}}, un tiempo de espera como 30 segundos y Record Call activado si quieres grabaciones.
  3. Split Based On answered, desde Connected Call Ended, sobre {{widgets.ring_user.DialCallStatus}}: si es Equal To completed, un Say/Play de despedida; si no, un Say/Play de saludo y luego Record Voicemail (duración máxima de 120 segundos).
  4. Publish.

Después, en la Voice configuration del número: A call comes in → Studio Flow → tu flujo, y Call status changes → https://crm.example.com/api/v1/SmVoip/twilio/status, HTTP POST.

3. Llamadas salientes: un segundo flujo de Studio

Crea un flujo (por ejemplo Salientes). Desde la salida Incoming Call del disparador (una llamada desde un softphone llega al dominio SIP como llamada entrante):

  1. Make HTTP Request como crm_ringing, sin SipUser. Success y Fail → siguiente.
  2. Connect Call To: Single Number con el valor de abajo y tu número de Twilio como Caller ID.
  3. Publish, y elige este flujo como A call comes in del dominio SIP.
{{trigger.call.To | remove: "sip:" | split: "@" | first}}

Marca desde el softphone como +1XXXXXXXXXX. El registro de llamadas de Twilio muestra dos filas por llamada; EspoCRM registra una sola Llamada.

4. El softphone

En Zoiper (o cualquier softphone SIP), agrega una cuenta SIP: dominio tuempresa.sip.twilio.com, el usuario y la contraseña de la persona, transporte UDP. Debe mostrar Registered. En un ordenador, hazlo la app predeterminada para los enlaces de teléfono.

Advertencia

En un móvil, usa un softphone con notificaciones push (por ejemplo Zoiper Pro). Las apps gratuitas se duermen en segundo plano y las llamadas van directo al buzón de voz.

5. El teléfono del navegador (opcional)

Contesta y haz llamadas dentro de EspoCRM con el micrófono del ordenador.

  1. Consola de Twilio → Account → API keys & tokens → Create API key (tipo Standard). Copia el SID (SK…) y el Secret (se muestra una sola vez) en API Key SID (teléfono del navegador) y API Key Secret (teléfono del navegador).
  2. Voice → Manage → TwiML apps → Create: Voice Request URL = la dirección webhook de tu flujo de salida (haz clic en el disparador del flujo para verla), POST; Status callback URL = https://crm.example.com/api/v1/SmVoip/twilio/status. Copia su SID (AP…) en TwiML App SID (teléfono del navegador).
  3. Para que suenen a la vez el navegador y el softphone: en el flujo de entrada, agrega un widget TwiML Redirect, POST, URL https://crm.example.com/api/v1/SmVoip/twilio/dial?user=jperez&timeout=30&record=1&flow=FW… (FW… es el SID del flujo; record=0 para no grabar). Conecta crm_ringing a él en lugar de a ring_user, conecta su salida Return al split answered y cambia el split a {{widgets.<nombre del widget>.DialCallStatus}}. Publica.

Luego cada persona lo activa en EspoCRM: Llamadas en la barra superior → Activar el teléfono del navegador, y permite el micrófono.

Prueba

  1. Escribe al número de Twilio desde tu móvil: en segundos aparece Nuevo mensaje de …. Responde desde EspoCRM.
  2. Responde STOP: EspoCRM muestra Dado de baja. Responde START para deshacerlo.
  3. Con llamadas por Twilio: llama al número desde un teléfono que esté en el CRM; suena el softphone y la ventana emergente muestra el registro. Cuelga: se registra una "llamada entrante" realizada.

Si no pasa nada, consulta Solución de problemas.

¿Te resultó útil esta página?

Agregar un comentario (opcional)

Guardamos tu respuesta y tu comentario, nada sobre quién los envió.