Arquitectura del flujo: tres ramas, un destino
El flujo tiene tres ramas paralelas que convergen en el mismo módulo de clasificación con ChatGPT. Cada rama vigila una fuente diferente de archivos: Gmail, WhatsApp Business y Slack. Cuando detecta un adjunto, lo pasa al módulo de IA, que devuelve los metadatos (tipo, proyecto, fecha), y el archivo se sube a la carpeta correcta de Google Drive.
Antes de empezar, necesitas tener activas estas cuentas:
- AMake — plan Core (~9€/mes) o superior. El flujo consume ~150–300 operaciones/mes.
- BChatGPT Business/Enterprise o acceso a la OpenAI API con clave de API. Para uso con datos corporativos, verifica que tienes DPA (Data Processing Agreement (Acuerdo de Tratamiento de Datos)) firmado con OpenAI. ChatGPT Business/Enterprise y la API de OpenAI son productos distintos: la API es la opción recomendada para automatizaciones con Make.
- CGoogle Workspace — cuenta con acceso a Gmail, Drive y Sheets.
- DWhatsApp Business API — a través de un proveedor como 360dialog o Twilio (opcional para la primera versión).
Crea la estructura de carpetas en Google Drive antes de configurar el flujo. Ejemplo para la empresa:
Módulo Gmail: detectar adjuntos entrantes
En Make, crea un nuevo escenario y añade el módulo Gmail → Watch Emails como trigger.
- 1Conecta tu cuenta de Google y autoriza el acceso a Gmail.
- 2En Criteria, selecciona "All emails" o añade un filtro:
has:attachmentpara procesar solo emails con adjuntos. - 3En Maximum number of results, pon
10para procesar hasta 10 emails por ejecución. - 4Añade un módulo Gmail → Get an Email Attachment para descargar el archivo binario del adjunto.
- 5Añade un módulo Tools → Set Variable para guardar el nombre del archivo y el remitente (los usarás como contexto para ChatGPT).
Clasificación inteligente con OpenAI API
Este es el módulo central. Añade OpenAI → Create a Completion
chat/completions por compatibilidad con Make. Para nuevos proyectos o integraciones más avanzadas, OpenAI recomienda la Responses API. Adapta el módulo HTTP según disponibilidad en tu versión de Make.
- 1Modelo:
gpt-4o-mini(suficiente para clasificación, mucho más barato que gpt-4o). - 2En el campo User message, pega el prompt de clasificación (ver abajo).
- 3Añade como variables dinámicas:
{{filename}}(nombre del archivo) y{{sender}}(remitente del email). - 4En Response Format, selecciona "JSON object" para que la respuesta sea parseable directamente.
Prompt de clasificación (copia y pega en Make):
Añade un módulo JSON → Parse JSON después del módulo OpenAI para extraer los campos tipo, proyecto, fecha y descripcion como variables separadas.
Subida automática a Google Drive
Añade el módulo Google Drive → Upload a File y configura la ruta dinámica basada en la respuesta de ChatGPT.
- 1En Folder, selecciona la carpeta raíz "Archivo Inteligente" y añade dinámicamente la subcarpeta:
/la empresa/Archivo Inteligente/{{tipo}} - 2En File name, usa el formato:
{{fecha}}_{{proyecto}}_{{descripcion}}.{{extension}}para que los archivos sean buscables por fecha y proyecto. - 3En File data, conecta la salida del módulo de descarga del adjunto (el binario del archivo).
- 4Activa Convert to Google Docs format solo para archivos .docx y .xlsx (para que sean editables directamente en Drive).
tipo = "otro": en lugar de subir automáticamente, envía un email de notificación pidiendo clasificación manual.
El nombre del archivo resultante en Drive tendrá este aspecto:
Índice de documentos en Google Sheets
El índice en Sheets es lo que permite recuperar cualquier documento en menos de 30 segundos. Crea una hoja llamada "Índice de Archivo" con estas columnas:
- 1Añade el módulo Google Sheets → Add a Row después del módulo de subida a Drive.
- 2Mapea cada columna con las variables del flujo:
{{fecha}},{{tipo}},{{proyecto}},{{descripcion}}, "Gmail",{{sender}},{{driveFileUrl}},{{now}}. - 3Activa el filtro de Google Sheets para poder buscar por proyecto, tipo o fecha en segundos.
- 4Opcional: añade una columna "Estado" (Archivado / Pendiente revisión) para documentos que requieren acción.
Añadir ramas de WhatsApp Business y Slack
Una vez funciona la rama de Gmail, duplica el escenario para añadir WhatsApp Business y Slack. El módulo de clasificación con ChatGPT y el de subida a Drive son exactamente los mismos — solo cambia el trigger.
Rama WhatsApp Business:
- 1Usa el módulo WhatsApp Business Cloud → Watch Messages (requiere cuenta Meta Business y número verificado).
- 2Filtra mensajes con
type = "document"otype = "image". - 3Añade el nombre del remitente (número de teléfono o nombre del contacto) como contexto para ChatGPT.
Rama Slack:
- 1Usa el módulo Slack → Watch Files o Watch Events con filtro de tipo "file_shared".
- 2Añade el nombre del canal y el usuario que compartió el archivo como contexto para ChatGPT.
- 3Opcional: envía una confirmación al canal de Slack con el enlace de Drive cuando el archivo se archive correctamente.
Prueba end-to-end y activación
Antes de activar el flujo en producción, prueba con estos 5 tipos de documentos:
- 1Envíate un email con un PDF de contrato (nombre: "Contrato_ProveedorX_2026.pdf"). Verifica que va a la carpeta "Contratos".
- 2Envíate un email con un Excel de presupuesto. Verifica que va a "Presupuestos".
- 3Envíate un archivo con nombre ambiguo ("documento.pdf"). Verifica que ChatGPT lo clasifica como "otro" y se envía la notificación de revisión manual.
- 4Verifica que el índice de Sheets se actualiza con cada archivo archivado.
- 5Verifica que el nombre del archivo en Drive sigue el formato fecha_proyecto_descripcion.
Una vez validado, configura el scheduler en Make para ejecutar el flujo cada 15 minutos. Activa el escenario con el botón "ON".
Costes mensuales y ROI
| Servicio | Plan | Coste/mes |
|---|---|---|
| Make | Core (10.000 ops) | ~9€ |
| OpenAI API | gpt-4o-mini (~500 clasificaciones) | ~1€ |
| Google Workspace | Business Starter (ya existente) | 0€ adicional |
| Total | ~10€/mes |
Resolución de errores frecuentes
| Error | Causa | Solución |
|---|---|---|
| 401 Unauthorized (Google) | Token de Google expirado | En Make → Connections, reconecta la cuenta de Google Drive/Gmail |
| JSON parse error | ChatGPT devuelve texto antes del JSON | Añade en el prompt: "Devuelve SOLO el JSON, sin texto adicional ni markdown" |
| File not found (Drive) | La carpeta de destino no existe | Usa el módulo "Create a Folder" con la opción "Skip if exists" antes del Upload |
| Rate limit (OpenAI) | Demasiadas llamadas simultáneas | Añade un módulo "Sleep" de 1 segundo entre llamadas o reduce el batch a 5 emails |
| Clasificación incorrecta | Nombre de archivo ambiguo | Añade ejemplos concretos al prompt: "Ejemplo: `Contrato_Obra_2026.pdf' → tipo: contrato" |
Resumen del escenario Make
| Módulo | Tipo | Función |
|---|---|---|
| Gmail → Watch Emails | Trigger | Detecta emails con adjuntos cada 15 min |
| Gmail → Get Attachment | Acción | Descarga el archivo binario del adjunto |
| OpenAI → Chat Completion | IA | Clasifica el documento y extrae metadatos |
| JSON → Parse JSON | Transformación | Extrae los campos tipo, proyecto, fecha, descripcion |
| Google Drive → Upload File | Acción | Sube el archivo a la carpeta correcta |
| Google Sheets → Add Row | Acción | Actualiza el índice de documentos |
| Router (opcional) | Control | Gestiona los casos "tipo: otro" con notificación manual |
Antes de activar este flujo en producción, define quién puede desactivarlo y cómo:
- Responsable: Define una persona (no un cargo) que pueda pausar el escenario en Make en menos de 5 minutos.
- Cómo pausar: En Make, ve a Scenarios → [nombre del escenario] → Toggle OFF. El flujo deja de ejecutarse inmediatamente.
- Cuándo pausar: Si recibes outputs incorrectos 2 semanas seguidas, si cambia la estructura de los datos de entrada, o si hay un incidente de privacidad.
- Revisión periódica: Revisa el historial de ejecuciones mensualmente y valida que los outputs siguen siendo correctos cada trimestre.