Lección 30 de 33Automatizar Reportes con AI

Distribuir reportes automáticamente

Envía reportes por email o Slack automáticamente según cronograma.

10 minutos

Introducción: El Último Eslabón

Tienes los datos recolectados. Tienes reportes narrativos generados por IA. Pero si nadie los ve, no sirven de nada.

El problema común:

Lunes 8am: Reporte generado automáticamente ✓
Lunes 10am: Nadie lo ha leído
Martes: "Oye, ¿dónde está el reporte semanal?"
Miércoles: Alguien lo encuentra en una carpeta olvidada
Jueves: Ya es información vieja

La solución: Distribución proactiva

El reporte correcto → A la persona correcta → En el momento correcto → En el formato correcto


Canales de Distribución

1. Email (Formal, Archivable)

Mejor para:

  • Reportes ejecutivos
  • Documentación oficial
  • Audiencias externas (clientes, inversionistas)
  • Contenido que necesita ser archivado

Formato ideal:

  • HTML bien formateado
  • Resumen en primeros 2 párrafos
  • Datos clave destacados
  • CTA claro ("Ver dashboard completo")

2. Slack (Rápido, Colaborativo)

Mejor para:

  • Alertas inmediatas
  • Resúmenes cortos del equipo
  • Métricas diarias
  • Discusión en tiempo real

Formato ideal:

  • Mensaje corto (3-5 bullets)
  • Emojis para contexto visual
  • Link a detalle si es necesario
  • Thread para discusión

3. Dashboard (Interactivo, Self-Service)

Mejor para:

  • Exploración de datos
  • Drill-down en métricas
  • Audiencias técnicas
  • Datos en tiempo real

Formato ideal:

  • Looker Studio / Tableau
  • Link en email o Slack
  • Filtros para personalizar

4. PDF (Permanente, Compartible)

Mejor para:

  • Reportes mensuales formales
  • Presentaciones a board
  • Documentación de cumplimiento
  • Compartir externamente

Zap 1: Email Automático Profesional

Configuración Básica

Trigger: Schedule o completion de generación

App: Schedule by Zapier
Trigger: Every Week
Day: Monday
Time: 8:30 AM

Acción: Gmail - Send Email

App: Gmail
Action: Send Email

To: marketing-team@empresa.com
CC: cmo@empresa.com
BCC: analytics@empresa.com

Subject: Reporte Marketing Semanal - {{fecha_semana}}

Body Type: HTML

Personalización por Destinatario

Usar Paths para diferentes audiencias:

Path A: Equipo de Marketing
- Detalle completo
- Métricas por canal
- Recomendaciones tácticas

Path B: Liderazgo Ejecutivo
- Resumen de 100 palabras
- Solo KPIs principales
- Sin jerga técnica

Path C: Equipo de Ventas
- Focus en leads y MQLs
- Quality score de leads
- Pipeline projection

Zap 2: Notificación en Slack

Resumen Diario en Canal

App: Slack
Action: Send Channel Message
Channel: #marketing-metrics

Message:
"""
:chart_with_upwards_trend: *Métricas de Ayer - {{fecha}}*

*Leads:* {{leads}} ({{leads_change}} vs día anterior)
*Sesiones:* {{sesiones}}
*Gasto Ads:* ${{gasto}}
*Conversiones:* {{conversiones}}

{{#if alerta}}
:warning: *Alerta:* {{alerta}}
{{/if}}

<{{dashboard_url}}|Ver dashboard completo>
"""

Unfurl Links: No
Bot Name: Marketing Bot
Bot Icon: :bar_chart:

Alerta Urgente (DM)

App: Slack
Action: Send Direct Message
User: {{responsable_email}}

Message:
"""
:rotating_light: *Alerta de Marketing*

{{descripcion_alerta}}

*Métrica:* {{metrica_afectada}}
*Valor actual:* {{valor_actual}}
*Umbral:* {{umbral}}
*Desviación:* {{desviacion}}%

Requiere atención inmediata.

<{{link_detalle}}|Ver detalle>
"""

Thread para Discusión

App: Slack
Action: Send Channel Message (Thread)
Channel: #marketing-metrics
Thread TS: {{mensaje_principal_ts}}

Message:
"""
*Detalle adicional:*

*Por canal:*
- Orgánico: {{leads_organico}} leads
- Paid Social: {{leads_paid_social}} leads
- SEM: {{leads_sem}} leads
- Email: {{leads_email}} leads

*Top campañas:*
1. {{campana_1}} - {{leads_1}} leads, ${{cpl_1}} CPL
2. {{campana_2}} - {{leads_2}} leads, ${{cpl_2}} CPL
3. {{campana_3}} - {{leads_3}} leads, ${{cpl_3}} CPL
"""

Zap 3: Distribución Condicional

Solo Enviar Si Hay Cambios Significativos

Lógica:

  • Si variación > 15%, enviar alerta
  • Si variación < 15%, no enviar (evitar ruido)
Paso 1: Calcular variación
App: Formatter
Action: Numbers > Perform Math
Formula: ABS(({{actual}} - {{anterior}}) / {{anterior}}) * 100
Output: variacion_porcentaje

Paso 2: Filter
App: Filter by Zapier
Only continue if:
  {{variacion_porcentaje}} (Number) Greater than 15

Paso 3: Enviar solo si pasa filtro
App: Slack / Gmail
(Mensaje de alerta)

Enviar Solo Si Métrica Está Fuera de Rango

Paso 1: Filter
App: Filter by Zapier
Condition A: {{cpl}} (Number) Greater than {{cpl_maximo}}
OR
Condition B: {{leads}} (Number) Less than {{leads_minimo}}

Paso 2: Si pasa, enviar alerta
App: Slack
Message: ":warning: Métrica fuera de rango: {{descripcion}}"

Diferentes Reportes Según Día

Paso 1: Paths by Zapier

Path A: Lunes
  Condition: {{day_of_week}} = Monday
  Action: Enviar reporte semanal completo

Path B: Viernes
  Condition: {{day_of_week}} = Friday
  Action: Enviar preview de fin de semana

Path C: Otros días
  Condition: (default)
  Action: Solo enviar si hay alertas

Escalar Alertas Según Severidad

Paso 1: Determinar severidad
App: Formatter
Action: Lookup Table

Input: {{tipo_alerta}}
Lookup Table:
  - "cpl_alto" → "media"
  - "leads_bajo" → "alta"
  - "conversion_caida" → "alta"
  - "gasto_excedido" → "critica"

Output: severidad

Paso 2: Paths según severidad

Path A: Severidad = "critica"
  - DM a CMO + VP Marketing
  - Email urgente
  - Llamada telefónica (via Twilio)

Path B: Severidad = "alta"
  - DM a Marketing Manager
  - Post en #marketing-alerts

Path C: Severidad = "media"
  - Solo post en canal general
  - Incluir en reporte diario

Path D: Severidad = "baja"
  - Solo registrar en log
  - Incluir en reporte semanal

Programación Inteligente

Horarios Óptimos por Tipo de Reporte

REPORTES EJECUTIVOS:
- Lunes 8:00 AM - Inicio de semana, mente fresca
- Evitar: Viernes PM, fines de semana

ALERTAS URGENTES:
- Inmediato (cualquier hora)
- Incluir en-demand phone call si es crítico

REPORTES DE EQUIPO:
- Martes-Jueves 9:00 AM
- Después de stand-ups matutinos

REPORTES MENSUALES:
- Primer día hábil del mes
- 10:00 AM (después de que llegue el equipo)

MÉTRICAS DIARIAS:
- 6:00-7:00 AM (antes de que empiece el día)
- O 6:00 PM (resumen del día)

Respetar Zonas Horarias

App: Schedule by Zapier
Timezone: Configurar según audiencia

Si equipo distribuido:
- Reportes globales: Usar UTC
- Reportes regionales: Zona local de la oficina principal

Ejemplo:
- Reporte LATAM: America/Mexico_City (9 AM)
- Reporte USA: America/New_York (9 AM)
- Reporte Europa: Europe/Madrid (9 AM)

Evitar Notificaciones Fuera de Horario

Paso 1: Check hora actual
App: Formatter
Action: Date/Time > Format
To Format: HH (hora en 24h)
Output: hora_actual

Paso 2: Filter
Only continue if:
  {{hora_actual}} Greater than or equal to 8
  AND
  {{hora_actual}} Less than 19

(Solo enviar entre 8am y 7pm)

Excepción: Alertas críticas ignoran este filtro

Configurar Lista de Distribución

Gestión Dinámica de Destinatarios

Opción A: Google Sheets como fuente

Spreadsheet: Configuracion_Reportes
Worksheet: Destinatarios

| Reporte | Email | Slack_ID | Rol | Activo |
|---------|-------|----------|-----|--------|
| Semanal | cmo@empresa.com | U123456 | CMO | TRUE |
| Semanal | marketing@empresa.com | U234567 | Manager | TRUE |
| Diario | analytics@empresa.com | U345678 | Analyst | TRUE |
| Alertas | vp@empresa.com | U456789 | VP | TRUE |

Zap consulta esta hoja y envía a todos los activos.

Opción B: Airtable para más control

Base: Marketing Operations
Table: Report Distribution

Fields:
- Nombre
- Email
- Slack User ID
- Reportes (multiple select: Semanal, Diario, Alertas)
- Nivel (Executive, Manager, Analyst)
- Timezone
- Activo (checkbox)
- Notas

Zap filtra por reporte y nivel, envía personalizado.

Opt-out Automático

Incluir en cada email:
"¿No quieres recibir estos reportes? <link>Click aquí</link>"

Link va a Google Form que:
1. Registra solicitud de baja
2. Trigger Zap que actualiza Sheets/Airtable
3. Próximo envío ya no incluye a esa persona

Ejemplo Completo: Sistema de 3 Reportes

Reporte 1: Daily Pulse (Todos los días 7am)

TRIGGER: Schedule - Daily at 7:00 AM

ACCIONES:
1. Get yesterday's metrics from Sheets
2. Calculate day-over-day changes
3. Generate 3-bullet summary with GPT
4. Post to #general-metrics Slack
5. If any metric >20% change, DM to responsible owner
6. Log to Reportes_Enviados sheet

Reporte 2: Weekly Deep Dive (Lunes 8:30am)

TRIGGER: Schedule - Monday at 8:30 AM

ACCIONES:
1. Get week's metrics from Sheets
2. Get previous week for comparison
3. Generate full narrative report with GPT
4. Format as HTML email
5. Send to marketing-team@ email list
6. Post summary to #marketing Slack
7. Save PDF copy to Google Drive
8. Log to Reportes_Enviados sheet

Reporte 3: Executive Summary (Lunes 10am)

TRIGGER: Schedule - Monday at 10:00 AM

ACCIONES:
1. Get consolidated KPIs from Sheets
2. Generate 100-word executive summary with GPT
3. Send short email to leadership@
4. DM to CEO and CFO in Slack
5. Log to Reportes_Enviados sheet

Bonus: Alerta Crítica (En tiempo real)

TRIGGER: Sheets - New Row in Alertas_Criticas

ACCIONES:
1. Determine severity from alert type
2. If critical:
   a. Send SMS to CMO (via Twilio)
   b. DM to VP Marketing
   c. Post to #marketing-alerts
   d. Create incident in PagerDuty
3. If high:
   a. DM to Marketing Manager
   b. Post to channel
4. Log response time to Alertas_Log

Resumen de la Lección

Aprendiste a:

  1. Elegir el canal correcto - Email, Slack, Dashboard, PDF
  2. Crear emails profesionales - HTML, métricas destacadas, CTAs
  3. Configurar Slack efectivo - Canales, DMs, threads
  4. Implementar distribución condicional - Solo si hay cambios relevantes
  5. Programar inteligentemente - Horarios óptimos, zonas horarias
  6. Gestionar destinatarios - Listas dinámicas, opt-out

Checklist de Implementación

□ Definir tipos de reportes necesarios
□ Identificar audiencia para cada uno
□ Elegir canales (email, Slack, ambos)
□ Crear templates HTML para emails
□ Configurar mensajes de Slack
□ Establecer horarios de envío
□ Configurar filtros condicionales
□ Crear lista de destinatarios en Sheets
□ Probar con destinatario de prueba
□ Activar y monitorear primera semana

Próximos Pasos

Has completado el módulo de Automatización de Reportes. Ahora sabes:

  • Recolectar datos de múltiples fuentes
  • Generar narrativas con IA
  • Distribuir automáticamente

En el siguiente módulo (Proyecto Final), aplicarás todo lo aprendido para crear tu propia automatización personalizada de principio a fin.


Un reporte que nadie lee es peor que ningún reporte. La distribución proactiva convierte datos en decisiones.

¿Completaste esta lección?

Marca esta lección como completada. Tu progreso se guardará en tu navegador.