En este artículo vamos a explicar como subir las grabaciones de las llamadas de una o mas cuentas a Google Drive en tiempo real utilizando la Funcionalidad WebHooks de Anura y la aplicación en la nube de integración de aplicaciones Zapier
¿ Qué Son los WebHooks ?
Los Webhooks de Anura permiten exportar en tiempo real información de la llamadas en diferentes estados. Mas información aquí
¿ Que es Zapier ?
En pocas palabras, Zapier es un servicio web fácil de usar que te permite automatizar acciones entre diversas aplicaciones web que usas cada día.
En sus propias palabras, "Zapier te permite conectar fácilmente las aplicaciones web que utilizas, haciendo que resulte muy sencillo automatizar tareas tediosas. Puedes esperar a que los desarrolladores de aplicaciones de terceros ofrezcan las integraciones SaaS que necesitas. Puedes contratar a caros programadores autónomos para que desarrollen un programa personalizado solo para ti. O puedes hacerlo tú mismo con Zapier, y luego volver a concentrarte en el trabajo que realmente importa para tu negocio."
Si quieres saber más sobre Zapier, te sugerimos que empieces por aquí.
¿ Cómo funciona la integración ?
No se necesita ser un desarrollador de software para poder realizar esta integración, no se necesita escribir una sola linea de código. Toda la integración se implementa usando tu navegador web.
El flujo de la integración es:
- La central en la nube dispara un WebHook al finalizar la llamada que se configura para que contenga una link para descargar la grabación
- Zapier recibe el WebHook y utiliza el link de la grabación para subirla a Google Drive a una carpeta establecida
Para poder realizar la integración se necesita tener
- Usuario del Panel de Control de Anura.
- Usuario Zapier. Recomendamos tener plan Professional para poder activar re-intentos ante fallas y tener mas de dos pasos disponibles
- Usuario Google
Paso para la integración
1 - Ingresar a Zapier y crear un nuevo Zap
2 - Zapier paso 1 agregar WebHook
Agregar como primer paso un WebHook en Zapier donde recibiremos desde Anura el evento al finalizar la llamada. Al final de este paso obtendremos un link el cual utilizaremos para enviar el evento de llamada finalizada desde Anura
Lo configuramos como tipo catch hook. Esto permite enviar información en tiempo real
No procesamos en JSON, simplemente continue
Obtenemos el link del WebHook.
Ej: https://hooks.zapier.com/hooks/catch/1234567/abdcef/
2 - Configuramos WebHook en el Panel de Control de Anura
Vamos a crear un evento que será enviado al Webhook de Zapier cada vez que termina una llamada. El evento contiene la URL donde esta disponible la grabación que luego será utilizada por Zapier para subirla a Google Drive
Ingresamos al Panel de Control de Anura y seleccionamos opción CONFIGURACION -> Eventos -> Agregar
Agregamos un nuevo evento tipo Personalizado
Configuramos la Petición com los datos de la URL obtenidos en el paso 1
- Protocolo: HTTPS
- Host: hooks.zapier.com
- Port: 443
- Método: POST
- Ruta: final de la URL, para este caso https://hooks.zapier.com/hooks/catch/1234567/abdcef/ es /hooks/catch/1234567/abdcef/
- Tipo de Contenido: aplication/JSON
- Autorización: Sin autorización
Configuramos el contenido JSON que será envia a zapier
En este aso estamos usando
- cdrid: ID único llamada
- file: Link audio para descargar llamada {{ audio_file_mp3 }} . En este caso es formatos mp3, pero existe formatos ogg {{ audio_file_ogg }} y wav {{ audio_file_wav }}. Es importante entender que este link solo es valido por 30 minutos, luego de ese tiempo expira y no se podrá utilizar más. Normalmente la receta de Zapier se ejecutará en menos de este tiempo. Además es posible que el grabación no este disponible en el momento que se envía el evento con lo cual se puede agregar a Zapier un delay/retraso antes de subir a dropbox o activar re-intentos . VER SECCIÓN DELAY y RETRANSMISIONES
Ahora tenemos que activar en qué momento y para cuál cuenta se dispara el evento. Esto lo podemos repetir para todas las cuentas las cuales queremos guardar las grabaciones
Para activar por cuentas vamos a: CONFIGURACÓN -> Cuentas -> Seleccionamos Cuenta -> Modificar
Tab Eventos -> Agregar
Configuramos cuando se dispara el evento
- Nombre: Recording to google drive with Zapier
- Evento: END. Quiere decir que cuando termina la llamada se envía el evento
- Dirección: BOTH. Tanto para llamada entrantes (IN) como salientes (OUT)
- Plantilla: Es el nombre del evento que creamos anteriormente.
- Activo: Si
- Filtros: En este caso no lo usamos pero permite definir casos / estados de la llamada donde se dispara
3 - Enviamos información de ejemplo a Zapier web Hook
Regresamos a la consola de Zapier , presionamos "ok, i did this" ,
hacemos una llamada desde la terminal de la cuenta donde configuramos el evento en el paso 2 y veremos que recibimos una muestra en Zapier.
Recibimos cdrid y el file. Estos campos los vamos a utilizar en el proximo paso para subir la grabación a Google Drive
3 - Agregamos Paso 2 Zapier para subir grabación a Google Drive
Agregamos segundo paso App Google Drive
Seleccionamos subir archivo
Ahora es necesario autorizar a Zapier acceder a Google drive, para ello seleccionamos Connect , nos logueamos a google y autorizamos
Una vez que la cuenta de Google quedo autorizada desde Zapier completamos los campos para que se suba la grabación
- Drive: My Google Drive
- Folder: Carpeta donde quiero subir la grabación. Para este caso hemos creado previamente en Google una llamada "Grabaciones Anura Zapier"
- File: URL la cual Zapier descarga la grabación y luego la sube a Google Drive. Aquí usamos el campo file que recibimos en evento.
Hacemos una prueba y finalizamos grabando y activando el Zap
Prueba
grabo y activo
4 - Verificamos que la grabación este en Google Drive
Ahora cada vez que hacemos una llamada se subirá en tiempo real la grabación a Google Drive
Delay y Retransmisiones
Delay
Cuando Anura dispara el evento hacia Zapier puede ser que la grabación no este disponible inmediatamente con lo cual recomendamos agregar un delay entre que Zapier recibe el evento e intenta subir el recording
Editamos el Zap y agregamos App Delay entre WebHook Y Google Drive.
Para poder agregar una tercera APP al Zap (Multi-step Zaps) debe contar con un plan starter de Zapier
Seleccionamos opción de esperar por un determinado tiempo antes de ejecutar las próximas APPS
Configuramos 1 minuto de espera que es suficiente para la mayoría de los casos. Este valor lo puede incrementar a 5 minutos si posee grabaciones muy largas, por ejemplo 2 horas ya que la misma no estará disponible por procesamiento interno de la plataforma de Anura
Retransmisiones
Ocasionalmente, sus Zaps pueden fallar debido a interrupciones inesperadas de la API o cambios accidentales. Cuando Autoreplay está activado, Zapier volverá a ejecutar las tareas fallidas en segundo plano para que no tenga que preocuparse.
Para que las retransmisiones funcionen en Zapier debe contar con un plan Professional
Conclusión
Con Anura y Zapier podemos integrar aplicaciones sin necesidad de generar una línea de código. Adicionalmente se puede agregar más APP al ZAP.
Por ejemplo podemos
- Agregar un cuarto paso para subir también la grabación a Dropbox
- Guardar en una planilla de Google Sheets el historial de grabaciones. En este caso podemos agregar más campos al evento de Anura como por ejemplo la Hora de la llamada, la duración, precio y mucho más. Ver valores templetizables disponibles aquí