Aprende cómo automatizar la creación de presentaciones en Gamma a partir de los resúmenes de tus reuniones de Zoom usando Make o n8n.
La automatización escucha cuándo se termina de procesar el resumen nativo de una reunión en Zoom, lo recoge mediante un webhook en Make/n8n y envía el contenido a Gamma a través de su API para generar una presentación automáticamente.
Para poder escuchar los eventos de Zoom, necesitamos una app interna que envíe los datos al webhook de nuestra automatización.
Account ID,
Client ID y Client Secret.
Meeting summary has been completed. Añadir la URL del Webhook de Make/n8n.
meeting_summary:read:admin.Crear un módulo Custom webhook, copiar su URL y pegarla en Zoom. Al capturar
el payload, llegarán campos vitales como payload.object.meeting_host_email o
payload.object.summary_content.
Filtro recomendado: Usa un filtro tras el webhook (por ejemplo,
meeting_topic contains WEBINAR) para solo generar presentaciones de ciertas
reuniones.
Añadir un nodo HTTP (Make a request) para autenticarse:
https://zoom.us/oauth/token?grant_type=account_credentials&account_id=TU_ACCOUNT_ID
Módulo HTTP para enviar datos a la API de Gamma
(https://public-api.gamma.app/v1.0/generations):
X-API-KEY: tu_api_key_de_gammainputText,
additionalInstructions, format: presentation,
cardOptions: Collection -> dimensions: 16x9.
Gamma no devuelve la presentación finalizada al instante. Primero entrega un identificador de generación y luego hay que consultar su estado dependiendo del número de diapositivas puede tardar 1-3 minutos.
Añade un nodo Sleep con un retraso de 60 segundos para darle tiempo inicial a Gamma a crear la presentación.
Este paso realiza el primer polling consultando el estado con el id generado previamente.
Añade un módulo HTTP GET a la URL:
https://public-api.gamma.app/v1.0/generations/{{generationId}}.
No olvides añadir en el header X-API-KEY: tu API key de Gamma.
Los estados devueltos esperados serán pending (Gamma todavía está generando) o
completed (lista).
Después del nodo de comprobación de estado, añadir un Router con dos ramas mediante filtros de status = completed o status = pending:
{{gammaUrl}}
(link online) y {{exportUrl}} (link de descarga PDF).En la rama completed del router, añade un módulo de email (Outlook o Gmail) y mapea directamente las URLs devueltas por Gamma en el nodo que comprobó el estado.
El cuerpo del email quedará por tanto con información útil incluyendo
{{gammaUrl}} y {{exportUrl}}.
cardOptions.dimensions = 16x9.generationId no se ha mapeado bien en la URL.
completed.meeting_summary:read:admin.