> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Toolkit de Notion

> Busque, lea, cree, actualice y agregue contenido a páginas y bases de datos de Notion desde sus agentes y flujos de trabajo.

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

<Tabs>
  <Tab title="Workflow Builder">
    1. En el flujo de trabajo, agregue un paso del toolkit de Notion.
    2. Haga clic en **Conectar con Notion**.
    3. Autorice la conexión en la pantalla de consentimiento de Notion y seleccione qué páginas y bases de datos otorgar acceso.
  </Tab>

  <Tab title="Agent Builder">
    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.
  </Tab>
</Tabs>

<Note>
  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.
</Note>

## 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`.

<Note>
  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.
</Note>

***

### 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":

```json theme={null}
{
  "property": "Status",
  "select": { "equals": "In Progress" }
}
```

Filtro por casilla de verificación:

```json theme={null}
{
  "property": "Done",
  "checkbox": { "equals": false }
}
```

Filtro por fecha — registros con Fecha Límite antes de una fecha específica:

```json theme={null}
{
  "property": "Due Date",
  "date": { "before": "2026-05-26" }
}
```

Filtro combinado con lógica AND:

```json theme={null}
{
  "and": [
    { "property": "Status", "select": { "equals": "In Progress" } },
    { "property": "Done", "checkbox": { "equals": false } }
  ]
}
```

Ordenamiento — más reciente primero:

```json theme={null}
[
  { "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:**

```json theme={null}
// 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:

```json theme={null}
{
  "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:**

```json theme={null}
{
  "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:**

1. Use Consultar Base de Datos para encontrar el registro y obtener su `id`
2. 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:**

```json theme={null}
[
  {
    "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:**

```json theme={null}
[
  {
    "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](/tools/notion-oauth-setup)                                     |
