El Toolkit de Notion permite a agentes y flujos de trabajo interactuar con páginas y bases de datos de Notion. Soporta búsqueda de contenido, consulta y actualización de registros de bases de datos, lectura y anexión de contenido de páginas, y creación de nuevas páginas.
Prerrequisitos
- Una cuenta de Notion (el plan gratuito es suficiente)
- Un espacio de trabajo de Notion (cada cuenta tiene uno por defecto)
Crear una Conexión
Workflow Builder
Agent Builder
- En el flujo de trabajo, agregue un paso del toolkit de Notion.
- Haga clic en Conectar con Notion.
- Autorice la conexión en la pantalla de consentimiento de Notion y seleccione qué páginas y bases de datos otorgar acceso.
En el chat, se le solicitará conectarse a su cuenta de Notion a través de OAuth cuando se invoque el toolkit por primera vez.
El toolkit solo puede acceder a páginas y bases de datos que hayan sido compartidas explícitamente con la conexión. Para compartir contenido, abra la página o base de datos en Notion, haga clic en ··· → Conexiones, y agregue su integración. El contenido en el mismo espacio de trabajo que no haya sido compartido no es visible.
Herramientas Disponibles
| Herramienta | Descripción |
|---|
| Buscar | Busque en todas las páginas y bases de datos compartidas por título |
| Listar Bases de Datos | Devuelva todas las bases de datos a las que puede acceder la conexión |
| Obtener Base de Datos | Devuelva el esquema (nombres de columnas y tipos) de una base de datos específica |
| Consultar Base de Datos | Recupere registros de una base de datos con filtros y ordenamiento opcionales |
| Obtener Página | Recupere los valores de propiedad y metadatos de una página o registro de base de datos |
| Crear Página | Cree un nuevo registro de base de datos o sub-página |
| Actualizar Página | Actualice propiedades de una página existente, o archívela |
| Obtener Contenido de Página | Lea el texto del cuerpo (bloques de contenido) de una página |
| Agregar Contenido | Agregue nuevos bloques de contenido al final de una página |
Buscar
Busca en todas las páginas y bases de datos compartidas, devolviendo coincidencias por título.
Entradas principales:
| Entrada | Descripción |
|---|
| Consulta | El texto a buscar |
| Tipo de Filtro | Opcionalmente restrinja a page o database. Deje en blanco para buscar ambos. |
| Tamaño de Página | Número de resultados a devolver (predeterminado: 10, máximo: 100) |
Referencia de resultados en pasos posteriores:
- ID del primer resultado:
{{ step.output.results[0].id }}
Ejemplo de caso de uso: Antes de crear un nuevo registro de cliente, busque por el nombre del cliente. Si count es mayor a 0, el cliente ya existe — use el id del registro existente en lugar de crear un duplicado.
Acciones de Base de Datos
Listar Bases de Datos
Devuelve todas las bases de datos a las que puede acceder la conexión, con sus nombres e IDs.
Entradas principales:
| Entrada | Descripción |
|---|
| Tamaño de Página | Número de bases de datos a devolver (predeterminado: 20, máximo: 100) |
Cuándo usarlo: Ejecute esto una vez en un flujo de trabajo de prueba para descubrir sus IDs de base de datos. Copie el id de la base de datos que desee y códíguelo de forma fija en pasos posteriores.
Obtener Base de Datos
Devuelve el esquema de una base de datos específica — sus nombres de columnas y tipos de propiedad.
Entradas principales:
| Entrada | Descripción |
|---|
| ID de Base de Datos | El ID de la base de datos — de Listar Bases de Datos, o de la URL de Notion: el segmento antes del ?v= |
Cuándo usarlo: Ejecute esto antes de escribir pasos de Crear Página o Actualizar Página. Le indica los nombres exactos de las propiedades (distingue mayúsculas) y sus tipos, lo que determina el formato JSON a usar en el campo Propiedades.
Obtener Base de Datos muestra tipos y nombres de propiedades pero no los valores de opciones disponibles para campos de Selección. Para ver las opciones de selección válidas, abra la base de datos directamente en Notion.
Consultar Base de Datos
Recupera registros de una base de datos con filtrado y ordenamiento opcionales.
Entradas principales:
| Entrada | Descripción |
|---|
| ID de Base de Datos | Qué base de datos consultar |
| Filtro | Un objeto de filtro JSON (vea ejemplos más abajo). Deje en blanco para devolver todos los registros. |
| Ordenamientos | Un arreglo JSON de reglas de ordenamiento (vea ejemplos más abajo) |
| Tamaño de Página | Número de registros a devolver (predeterminado: 20, máximo: 100) |
Ejemplos de filtro:
Filtro simple — registros donde Estado es igual a “En Progreso”:
{
"property": "Status",
"select": { "equals": "In Progress" }
}
Filtro por casilla de verificación:
{
"property": "Done",
"checkbox": { "equals": false }
}
Filtro por fecha — registros con Fecha Límite antes de una fecha específica:
{
"property": "Due Date",
"date": { "before": "2026-05-26" }
}
Filtro combinado con lógica AND:
{
"and": [
{ "property": "Status", "select": { "equals": "In Progress" } },
{ "property": "Done", "checkbox": { "equals": false } }
]
}
Ordenamiento — más reciente primero:
[
{ "property": "Created time", "direction": "descending" }
]
Referencia de resultados en pasos posteriores:
- ID del primer resultado:
{{ step.output.results[0].id }}
- Estado del primer resultado:
{{ step.output.results[0].properties.Status }}
- Título del primer resultado:
{{ step.output.results[0].title }}
Acciones de Página
Obtener Página
Recupera los valores de propiedad y metadatos de una página o registro de base de datos específica.
Entradas principales:
| Entrada | Descripción |
|---|
| ID de Página | El ID de la página — de la URL de Notion, o de los resultados de Consultar Base de Datos o Buscar |
Referencia de valores en pasos posteriores:
- Estado:
{{ step.output.page.properties.Status }}
- Título:
{{ step.output.page.title }}
- ID de Página:
{{ step.output.page.id }}
Ejemplo de caso de uso: Un activador se dispara con un ID de página. Use Obtener Página para leer el Estado actual del registro. Si el Estado es “Pendiente”, continúe el flujo de trabajo — de lo contrario deténgase.
Crear Página
Crea una nueva página — ya sea como un registro dentro de una base de datos (nueva fila) o como una sub-página bajo otra página.
Entradas principales:
| Entrada | Descripción |
|---|
| ID Padre | El ID de la base de datos (para una nueva fila) o ID de página (para una sub-página) |
| Tipo Padre | database_id para agregar una fila de base de datos, page_id para agregar una sub-página. Predeterminado: database_id |
| Título | El título de la página o registro como texto plano |
| Propiedades | Objeto JSON opcional para valores de campos adicionales. Las claves deben coincidir exactamente con los nombres de propiedad de su base de datos — use Obtener Base de Datos para confirmarlos. |
Formato de Propiedades por tipo de campo:
// Campo de Selección
{ "Status": { "select": { "name": "To Do" } } }
// Campo de Estado (tipo de estado integrado de Notion)
{ "Status": { "status": { "name": "In Progress" } } }
// Campo de Fecha
{ "Due Date": { "date": { "start": "2026-06-01" } } }
// Campo de Casilla
{ "Done": { "checkbox": false } }
// Campo Numérico
{ "Priority Score": { "number": 8 } }
// Campo de Texto Enriquecido
{ "Notes": { "rich_text": [{ "text": { "content": "Needs review before sending." } }] } }
Ejemplo completo — creación de una fila de tarea:
Título: Seguimiento con cliente
Propiedades:
{
"Status": { "select": { "name": "To Do" } },
"Due Date": { "date": { "start": "2026-06-01" } },
"Done": { "checkbox": false }
}
El id devuelto puede pasarse a pasos posteriores para actualizar o enlazar a la nueva página.
Actualizar Página
Actualiza las propiedades de una página existente, o la archiva.
Entradas principales:
| Entrada | Descripción |
|---|
| ID de Página | La página a actualizar — de Consultar Base de Datos, Obtener Página o Buscar |
| Propiedades | Objeto JSON con solo los campos que desea cambiar (mismo formato que Crear Página). Los campos no incluidos se mantienen sin cambios. |
| Archivada | Establezca en true para archivar (eliminar suavemente) la página |
Ejemplo — marcar una tarea como completada:
{
"Status": { "select": { "name": "Done" } },
"Done": { "checkbox": true },
"Completed On": { "date": { "start": "2026-05-26" } }
}
Ejemplo — archivar un registro: Deje Propiedades vacías y establezca Archivada en true. El registro desaparece de la vista de la base de datos pero puede restaurarse desde la papelera de Notion.
Patrón típico:
- Use Consultar Base de Datos para encontrar el registro y obtener su
id
- Pase ese
id a Actualizar Página para cambiar sus campos
Acciones de Contenido
Obtener Contenido de Página
Recupera los bloques de contenido dentro de una página de Notion — párrafos, encabezados, listas con viñetas, etc. Esto es separado de las propiedades de la página (campos de base de datos). Use esto para leer el texto del cuerpo de un documento.
Entradas principales:
| Entrada | Descripción |
|---|
| ID de Página | La página de la cual leer contenido |
| Tamaño de Página | Número de bloques a devolver (predeterminado: 50, máximo: 100) |
Referencia de valores en pasos posteriores:
- Texto del primer bloque:
{{ step.output.blocks[0].text }}
- Todos los bloques:
{{ step.output.blocks }}
Ejemplo de caso de uso: Obtenga el contenido de la página, pase todos los bloques de texto a un paso de IA para generar un resumen, luego envíe ese resumen por correo electrónico o Telegram.
Agregar Contenido
Agrega nuevos bloques de contenido al final de una página de Notion existente.
Entradas principales:
| Entrada | Descripción |
|---|
| ID de Página | La página a la cual agregar contenido |
| Hijos | Un arreglo JSON de objetos de bloque de Notion a agregar |
Ejemplo — agregar un encabezado y un párrafo:
[
{
"object": "block",
"type": "heading_2",
"heading_2": {
"rich_text": [{ "type": "text", "text": { "content": "Ejecución de Flujo de Trabajo — 26 de Mayo" } }]
}
},
{
"object": "block",
"type": "paragraph",
"paragraph": {
"rich_text": [{ "type": "text", "text": { "content": "3 registros procesados. 1 error encontrado." } }]
}
}
]
Ejemplo — agregar un elemento de lista con viñetas:
[
{
"object": "block",
"type": "bulleted_list_item",
"bulleted_list_item": {
"rich_text": [{ "type": "text", "text": { "content": "Nuevo lead: Jane Doe — jane@example.com" } }]
}
}
]
Ejemplo de caso de uso: Un flujo de trabajo se ejecuta cada mañana, procesa datos y agrega una entrada de registro de una línea a una página de “Registro Diario” — construyendo un rastro de auditoría continuo sin crear una nueva página cada vez.
Solución de Problemas
| Síntoma | Causa Probable | Solución |
|---|
401 Unauthorized | Token revocado o faltante | Re-authorice a través del flujo OAuth |
404 Not Found en página o base de datos | Contenido no compartido con la conexión | Comparta la página a través de ··· → Conexiones |
| Resultados de búsqueda o consulta vacíos | Nada compartido con la conexión | Comparta al menos una página o base de datos |
| Actualización de propiedad ignorada silenciosamente | Nombre de propiedad con diferencia de mayúsculas | Use Obtener Base de Datos para confirmar los nombres exactos de las propiedades — distinguen mayúsculas |
Error oauth_not_configured | ID secreto/cliente no guardado en Super Admin | Consulte Configuración OAuth de Notion |