Cómo conectar Notion Workers con Claude Code en 25 minutos
La nueva plataforma de Notion permite ejecutar lógica propia desde una database. Tutorial paso a paso para conectar Claude Code sin servidor.
Marcos Vega
Tutoriales, automatización y workflows

El lanzamiento de Notion Workers el 13 de mayo cambia el cálculo de "cuándo conviene automatizar". Antes necesitabas un servidor o un Zap. Ahora puedes correr código pequeño dentro de Notion, gratis hasta el 11 de agosto de 2026, y conectarlo directo a Claude Code para que un agente lea tareas, ejecute acciones y devuelva resultados a tu workspace. Lo construimos en 25 minutos.
Qué vamos a montar y qué necesitas
El flujo que vamos a construir: una database de "Tareas" en Notion con una columna "Status". Cuando un usuario marca una tarea como "Listo para revisar IA", un Worker dispara Claude Code, que analiza la tarea, propone mejoras y deja un comentario en la página. Sin servidor propio, sin Zapier.
- OKUna cuenta Notion en cualquier plan (Workers está disponible en todos).
- OKAPI key de Anthropic con acceso a Claude Code.
- OKNotion CLI instalado (instrucciones más abajo).
- OKEditor de código local — VS Code o Cursor sirven igual.
- OK25 minutos de trabajo concentrado.
Qué es un Worker, en una frase
Un Worker es código TypeScript que vive en el sandbox de Notion, se dispara con un evento de la plataforma (cambio de fila, webhook, cron) y tiene acceso de primera clase a la API de Notion sin necesidad de gestionar autenticación OAuth por separado. Es lo más cercano a una Cloud Function de Google o un Lambda de AWS, pero pensado específicamente para el ciclo de vida de un workspace. La diferencia práctica con Zapier: ahí escribes pasos en una UI; aquí escribes código real, con tipos, dependencias npm y testing local.
Los 5 pasos del montaje
- 1
Instalar Notion CLI y crear el proyecto
Desde tu terminal, npm install -g @notion/cli y notion init mi-worker. La CLI crea la estructura del proyecto con un worker.ts vacío y la configuración base.
- 2
Crear la database "Tareas" en Notion
En tu workspace, crea una database con columnas Título (text), Status (select con valores Borrador / Listo para revisar IA / Revisado) y Notas IA (rich text). Copia el ID de la database desde la URL.
- 3
Definir el trigger en el Worker
Edita worker.ts para que escuche cambios en la columna Status. Cuando una página cambie a "Listo para revisar IA", el Worker recoge el contenido y se prepara para llamar a Claude Code.
- 4
Llamar a Claude Code desde el Worker
Añade la lógica de invocación a Anthropic. Pasa el contenido de la tarea como prompt, recibe la respuesta y guárdala en el campo Notas IA de la misma página vía API de Notion.
- 5
Desplegar el Worker y probar
notion deploy publica el Worker en el sandbox de Notion. Cambia el Status de una tarea de prueba y observa cómo aparece la nota generada en menos de 30 segundos.

El código mínimo del Worker
import { defineWorker } from '@notion/workers'
import Anthropic from '@anthropic-ai/sdk'
const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY })
export default defineWorker({
trigger: {
type: 'database.row.updated',
databaseId: process.env.TASKS_DB_ID,
when: { property: 'Status', equals: 'Listo para revisar IA' },
},
async run({ row, notion }) {
const title = row.properties.Title?.title?.[0]?.plain_text ?? ''
const body = await notion.blocks.children.list({ block_id: row.id })
const response = await anthropic.messages.create({
model: 'claude-sonnet-4-5',
max_tokens: 1024,
messages: [{
role: 'user',
content: 'Revisa esta tarea y propon 3 mejoras concretas:\n\n' +
'Título: ' + title + '\n\nContenido:\n' +
JSON.stringify(body.results)
}],
})
const review = response.content[0].type === 'text' ? response.content[0].text : ''
await notion.pages.update({
page_id: row.id,
properties: {
'Notas IA': { rich_text: [{ text: { content: review } }] },
'Status': { select: { name: 'Revisado' } },
},
})
},
})Pequeña recomendación antes de desplegar: prueba el Worker en local con notion dev apuntando a un workspace de staging. Notion CLI permite invocar el trigger manualmente y depurar con console.log en tu terminal. Cinco minutos en local te ahorran veinte en producción.
Otra recomendación operativa: añade un tope de invocaciones por hora en la lógica del Worker durante las primeras dos semanas. Si por error alguien marca cien tareas como "listo para revisión", el Worker disparará cien llamadas a Anthropic. Un simple contador en una propiedad de la database evita facturas inesperadas mientras calibras el patrón de uso real.

Errores que vas a encontrar (y cómo arreglarlos)
¿Por qué el Worker no se dispara cuando cambio el Status?+
¿Cuánto tarda en aparecer la nota?+
¿Esto consume créditos de Notion?+
¿Puedo conectarlo a otro agente que no sea Claude Code?+
¿Cómo evito que el agente modifique tareas que no debería?+
Notion Workers permite correr código dentro del workspace sin servidor propio. Gratis hasta el 11 de agosto de 2026.
El patrón trigger en database → llamar a Claude Code → escribir el resultado es replicable en muchos flujos (revisar PRs, redactar respuestas, sintetizar reuniones).
Restringe el alcance del Worker a una sola database. Cualquier integración con scope amplio es deuda de seguridad.
Comentarios
Dejar un comentario
Siguiente lectura
Relacionados
Cómo conectar Claude API con Google Sheets en 30 minutos sin servidor
Tutorial completo para usar Claude desde una hoja de Google con Apps Script. Sirve para clasificar leads, traducir textos o resumir feedback en lote.
Marcos Vega

Cómo crear un agente IA con n8n y Claude paso a paso en 2026
Monta tu primer agente IA conversacional en n8n conectado a Claude en menos de 30 minutos — sin código de producción. Incluye prompts y plantilla descargable.
Marcos Vega

10 procesos manuales que toda PYME debería automatizar este año
Catorce semanas observando equipos de 5–40 personas. Estos son los 10 procesos que más tiempo recuperan al automatizarlos, con cifras reales de ahorro.
Marcos Vega

Make vs Zapier vs n8n: 30 días testeando los tres en producción
Mismo workflow, tres plataformas, 30 días corriendo. Quién ganó en velocidad, precio, IA nativa y debugging real cuando algo se rompe.
Marcos Vega