Ir al contenido

Notion - Consultar base de datos

↩ Parte de la integración Notion.

Este módulo consulta una base de datos de Notion con POST /databases/{id}/query. Acepta un filtro y un array de orden en el formato propio de Notion, y devuelve las páginas que coinciden.

A diferencia del resto de nodos de Notion, el data de salida es el array de páginas (results), de modo que el nodo siguiente puede iterarlo directamente.

CampoTipoObligatorioDescripción
credentials_idcredentialsSíCredencial de Notion
database_idtextSíID de la base de datos
filterjsonNoFiltro en formato Notion
sortsjsonNoArray de orden en formato Notion
page_sizenumberNoMáximo de resultados (1-100)

Este módulo requiere una credencial de tipo Notion.

CampoDescripción
tokenInternal Integration Secret de notion.so/my-integrations
notion_versionOpcional. Valor de la cabecera Notion-Version (por defecto 2022-06-28)
{
"nextModule": null,
"data": [
{
"object": "page",
"id": "8b9c0d1e-2f3a-4b5c-6d7e-8f9a0b1c2d3e",
"url": "https://www.notion.so/8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e",
"properties": {
"Name": { "type": "title", "title": [ { "plain_text": "Acme S.A." } ] },
"Status": { "type": "select", "select": { "name": "Nuevo" } }
}
}
],
"_meta": {
"moduleVersion": "1.0.0",
"success": true,
"count": 1,
"has_more": false,
"next_cursor": null,
"totalMs": 221
}
}

Leads abiertos, del más nuevo al más viejo

Sección titulada «Leads abiertos, del más nuevo al más viejo»
{
"credentials_id": 12,
"database_id": "1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d",
"filter": {
"property": "Status",
"select": { "equals": "Nuevo" }
},
"sorts": [
{ "property": "Creado", "direction": "descending" }
],
"page_size": 50
}
{
"credentials_id": 12,
"database_id": "1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d",
"filter": {
"and": [
{ "property": "Status", "select": { "equals": "Nuevo" } },
{ "property": "Importe", "number": { "greater_than": 1000 } }
]
}
}

Buscar una página por email antes de crearla

Sección titulada «Buscar una página por email antes de crearla»
{
"credentials_id": 12,
"database_id": "1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d",
"filter": {
"property": "Email",
"email": { "equals": "{{data.email}}" }
},
"page_size": 1
}
  • Sin filtro, el nodo devuelve la base entera por tandas, limitada por page_size.
  • Notion limita page_size a 100. Cuando hay más filas, _meta.has_more vale true y _meta.next_cursor trae el cursor de la tanda siguiente.
  • La forma del filtro depende del tipo de columna: select, multi_select, rich_text, number, date, checkbox y demás. Un filtro dirigido al tipo equivocado devuelve 400.
  • Si filter o sorts no son JSON válido, el valor se ignora en silencio y la consulta se ejecuta sin él: revisá la traza si obtenés más filas de las esperadas.
  • La base tiene que estar compartida con la integración (··· → Add connections); si no, la llamada devuelve 404.