5
Pasos automatizados
12
Elementos capturados
3.2s
Tiempo total ejecución
→
Pipeline de automatización
Integración n8n → agent-browser CDP → Notion
⏰
Cron n8n
Lun 08:00
▶
🖥️
Slack Desktop
:9222 CDP
▶
🔍
Snapshot UI
12 elementos
▶
📋
Extraer datos
Mensajes + métricas
▶
📄
Notion
:9226 CDP
▶
✅
Informe semanal
Auto-generado
1
Lanzar Slack con CDP habilitado
Reiniciar la app con el flag de depuración remota
01_launch_slack.sh
PASO 1
1# ── 1. Cerrar Slack si ya está corriendo ──────────────────────
2pkill -a -i "Slack" || true
3sleep 1
4
5# ── 2. Relanzar con puerto CDP 9222 ───────────────────────────
6open -a "Slack" --args --remote-debugging-port=9222
7sleep 3 # Esperar inicialización del webview
8
9# ── 3. Verificar que CDP responde ─────────────────────────────
10curl -s http://localhost:9222/json/version | jq '.webSocketDebuggerUrl'
Terminal — verificación CDP
$ curl -s http://localhost:9222/json/version | jq '.webSocketDebuggerUrl'
"ws://localhost:9222/devtools/browser/a3f8e12b-4c91-4d02-b6e7-1f5a8cd9e031"
$ curl -s http://localhost:9222/json | jq '.[].title'
"Slack - CULTIVA IA"
"Slack Notifications Webview"
✓ CDP activo en ws://localhost:9222 — 2 targets detectados
"ws://localhost:9222/devtools/browser/a3f8e12b-4c91-4d02-b6e7-1f5a8cd9e031"
$ curl -s http://localhost:9222/json | jq '.[].title'
"Slack - CULTIVA IA"
"Slack Notifications Webview"
✓ CDP activo en ws://localhost:9222 — 2 targets detectados
2
Conectar y capturar snapshot de la UI
Descubrir los elementos interactivos con agent-browser
02_connect_snapshot.sh
PASO 2
1# Conectar al puerto CDP de Slack
2agent-browser connect 9222
3
4# Listar ventanas/webviews disponibles
5agent-browser tab
6
7# Navegar al canal #reportes-clientes
8agent-browser tab --url "*app.slack.com*"
9
10# Capturar snapshot interactivo de todos los elementos
11agent-browser snapshot -i > snapshot_slack.json
# reportes-clientes — Métricas semanales automáticas de todos los clientes
Resultado de agent-browser snapshot -i — elementos interactivos detectados:
| Ref | Rol | Nombre / Descripción | Estado |
|---|---|---|---|
| @e1 | textbox | Buscar en Slack | enfocable |
| @e2 | link | # general | navegable |
| @e3 | link | # campañas-meta | navegable |
| @e4 | link | # reportes-clientes ← activo | seleccionado |
| @e5 | article | Mensaje: Agente-Monitor — FreshBox S.L. ROAS 4.2× | texto |
| @e6 | article | Mensaje: Agente-Monitor — Clínica Vitalys ROAS 1.8× | alerta |
| @e7 | article | Mensaje: Agente-Monitor — ModoRoam Travel ROAS 5.1× | texto |
| @e8 | textbox | Redactar un mensaje | editable |
| @e9 | button | Enviar mensaje | clickable |
3
Extraer métricas de los mensajes
Leer texto de cada elemento y volcar a JSON estructurado
03_extract_metrics.sh
PASO 3
1# Extraer texto de cada mensaje de métricas
2agent-browser get text @e5 > msg_freshbox.txt
3agent-browser get text @e6 > msg_vitalys.txt
4agent-browser get text @e7 > msg_mooroam.txt
5
6# Volcar estado completo de la UI a JSON
7agent-browser snapshot --json > slack_state.json
8
9# Captura de pantalla del canal
10agent-browser screenshot --full reportes-lunes.png
JSON extraído — slack_state.json:
{
"timestamp": "2026-06-16T08:03:14Z",
"app": "Slack 4.42 / Electron 32",
"canal_activo": "#reportes-clientes",
"clientes": [
{
"nombre": "FreshBox S.L.",
"roas": 4.2,
"cpm_eur": 8.30,
"conversiones": 142,
"alerta": false,
"ref_elemento": "@e5"
},
{
"nombre": "Clínica Vitalys",
"roas": 1.8,
"cpm_eur": 14.20,
"conversiones": 31,
"alerta": true,
"ref_elemento": "@e6"
},
{
"nombre": "ModoRoam Travel",
"roas": 5.1,
"cpm_eur": 6.90,
"conversiones": 204,
"alerta": false,
"ref_elemento": "@e7"
}
],
"screenshot": "reportes-lunes.png",
"total_elementos": 12,
"cdp_port": 9222
}
"timestamp": "2026-06-16T08:03:14Z",
"app": "Slack 4.42 / Electron 32",
"canal_activo": "#reportes-clientes",
"clientes": [
{
"nombre": "FreshBox S.L.",
"roas": 4.2,
"cpm_eur": 8.30,
"conversiones": 142,
"alerta": false,
"ref_elemento": "@e5"
},
{
"nombre": "Clínica Vitalys",
"roas": 1.8,
"cpm_eur": 14.20,
"conversiones": 31,
"alerta": true,
"ref_elemento": "@e6"
},
{
"nombre": "ModoRoam Travel",
"roas": 5.1,
"cpm_eur": 6.90,
"conversiones": 204,
"alerta": false,
"ref_elemento": "@e7"
}
],
"screenshot": "reportes-lunes.png",
"total_elementos": 12,
"cdp_port": 9222
}
4
Rellenar búsqueda y navegar programáticamente
Usar fill + press para buscar conversaciones por cliente
04_search_client.sh
PASO 4
1# Buscar conversaciones de 'Clínica Vitalys' (cliente con alerta)
2agent-browser click @e1 # Foco en buscador
3agent-browser fill @e1 "Clínica Vitalys"
4agent-browser press Enter
5agent-browser wait 1500 # Esperar resultados
6
7# Re-snapshot para ver resultados de búsqueda
8agent-browser snapshot -i
9
10# Captura del resultado de búsqueda
11agent-browser screenshot --annotate busqueda-vitalys.png
12
13# Forzar dark mode para capturas consistentes
14AGENT_BROWSER_COLOR_SCHEME=dark agent-browser screenshot dark-vitalys.png
Terminal — búsqueda interactiva
$ agent-browser fill @e1 "Clínica Vitalys"
✓ filled @e1 ← "Clínica Vitalys"
$ agent-browser press Enter
✓ key pressed: Enter
$ agent-browser snapshot -i
@e11 [listitem] "Clínica Vitalys — #reportes-clientes"
@e12 [listitem] "Clínica Vitalys — MDs con Pablo"
@e13 [listitem] "Clínica Vitalys — briefing Q3 2026"
$ agent-browser screenshot --annotate busqueda-vitalys.png
✓ screenshot saved → busqueda-vitalys.png (1440×900)
✓ filled @e1 ← "Clínica Vitalys"
$ agent-browser press Enter
✓ key pressed: Enter
$ agent-browser snapshot -i
@e11 [listitem] "Clínica Vitalys — #reportes-clientes"
@e12 [listitem] "Clínica Vitalys — MDs con Pablo"
@e13 [listitem] "Clínica Vitalys — briefing Q3 2026"
$ agent-browser screenshot --annotate busqueda-vitalys.png
✓ screenshot saved → busqueda-vitalys.png (1440×900)
5
Volcar el informe a Notion Desktop vía segunda sesión CDP
Multisesión — controlar dos apps Electron simultáneamente
05_dump_notion.sh
PASO 5
1# ── Sesión paralela: Slack + Notion ───────────────────────────
2agent-browser --session slack connect 9222
3
4# Abrir Notion con depuración remota
5open -a "Notion" --args --remote-debugging-port=9226
6sleep 3
7agent-browser --session notion connect 9226
8
9# Navegar a la página "Informe Semanal Clientes" en Notion
10agent-browser --session notion snapshot -i
11agent-browser --session notion fill @n1 "Informe Semanal Clientes"
12agent-browser --session notion press Enter
13agent-browser --session notion click @n3 # Abrir página
14
15# Insertar bloque de métricas
16agent-browser --session notion fill @n8 \
17 "## Semana 2026-06-16\nFreshBox 4.2× ✅ | Vitalys 1.8× ⚠️ | ModoRoam 5.1× 🚀"
18agent-browser --session notion screenshot notion-informe.png
Terminal — sesiones paralelas Slack + Notion
$ agent-browser --session slack connect 9222
✓ [slack] Connected to ws://localhost:9222
$ agent-browser --session notion connect 9226
✓ [notion] Connected to ws://localhost:9226
— Ambas sesiones activas simultáneamente —
$ agent-browser --session notion screenshot notion-informe.png
✓ [notion] screenshot saved → notion-informe.png (2560×1440)
═══════════════════════════════════════════
✓ Pipeline completado en 3.2s
✓ 3 clientes procesados | 1 alerta detectada
✓ Informe volcado en Notion
✓ 2 screenshots generados
═══════════════════════════════════════════
✓ [slack] Connected to ws://localhost:9222
$ agent-browser --session notion connect 9226
✓ [notion] Connected to ws://localhost:9226
— Ambas sesiones activas simultáneamente —
$ agent-browser --session notion screenshot notion-informe.png
✓ [notion] screenshot saved → notion-informe.png (2560×1440)
═══════════════════════════════════════════
✓ Pipeline completado en 3.2s
✓ 3 clientes procesados | 1 alerta detectada
✓ Informe volcado en Notion
✓ 2 screenshots generados
═══════════════════════════════════════════
✓
Resumen del workflow
Qué consigue este script cada lunes a las 08:00h
Apps automatizadas
💬
Slack 4.42
CDP :9222 — extracción métricas
✓
CDP :9222 — extracción métricas
📄
Notion Desktop
CDP :9226 — volcado informe
✓
CDP :9226 — volcado informe
⚙️
n8n workflow
Cron lun 08:00 — orquestación
✓
Cron lun 08:00 — orquestación
Métricas extraídas esta semana
| Cliente | ROAS | Estado |
|---|---|---|
| FreshBox S.L. | 4.2× | OK |
| Clínica Vitalys | 1.8× | ALERTA |
| ModoRoam Travel | 5.1× | TOP |