Si capturas ideas, links o tareas a lo largo del día y quieres que aterricen en una base de datos de Notion sin abrir la app, esta guía te deja un Atajo de Apple que lo hace con un tap desde la pantalla de inicio. Te muestra cómo obtener las credenciales correctas, armar la petición a la API y, sobre todo, evitar los dos errores que rompen el flujo casi siempre.
Lo que vas a necesitar
- Un iPhone con la app Atajos (viene instalada).
- Una cuenta de Notion con la base de datos a la que quieres escribir.
- Acceso a notion.so/my-integrations para crear una integración.
- Cinco minutos.
No necesitas saber programar.
Paso 1: Crea la integración y copia el token
Ve a notion.so/my-integrations y crea una New integration de tipo Internal. Dale un nombre (por ejemplo “Atajo iPhone”) y asóciala a tu workspace.
Cuando se cree, copia el Internal Integration Secret (o Access Token). Es un texto largo que empieza con ntn_. Ese es el token que autentica cada petición.
Paso 2: Dale acceso a tu base de datos
Este es el paso que casi todos saltan, y sin él nada funciona. Crear la integración no le da acceso automático a tus páginas. Tienes que conectarla a la base de datos específica, a mano.
Abre tu base de datos en Notion como página completa, entra al menú ··· (arriba a la derecha), busca Conexiones y añade la integración que acabas de crear.
Paso 3: Obtén el Database ID
Abre la base de datos como página y mira la URL. El Database ID son los 32 caracteres que están después del último /y antes del ?:
https://www.notion.so/workspace/DATABASE_ID?v=VIEW_ID
El VIEW_ID (lo que va después de v=) no lo necesitas. La API también acepta el ID en formato UUID con guiones, pero el de 32 caracteres seguidos funciona igual.
Un tip rápido: Si no estas seguro de cual es el ID, envíale la URL completa a Claude y le preguntas cual es el ID de la database :)
Paso 4: Vamos con el Atajo en tu iPhone
Antes de armar nada, un contexto:
Yo construí este atajo para una base de datos personal donde gestiono mis ideas de contenido. Tiene una propiedad de título, un campo de URL para guardar la inspiración y un select para clasificar el formato.
Lo que viene está armado sobre esa estructura, pero la lógica es idéntica para cualquier base de datos: cambias los nombres de las propiedades por los tuyos y ya. Si tu DB tiene otros campos, el patrón se repite tal cual.
En la app Atajos, crea un atajo nuevo. Para capturar lo que vas a guardar, usa la acción Pedir entrada (una por cada dato: el título, un link, lo que necesites).
Después agrega una acción Texto con el cuerpo de la petición. Este es el JSON. En mi caso la propiedad principal se llama Title, tengo un campo Inspiration URL de tipo URL y un campo Format de tipo select.
Tú reemplazas esos nombres por los de tu base de datos:
json
{
"parent": { "database_id": "TU_DATABASE_ID" },
"properties": {
"Title": {
"title": [{ "text": { "content": "VARIABLE_TITULO" } }]
},
"Inspiration URL": { "url": "VARIABLE_URL" },
"Format": {
"select": { "name": "VARIABLE_FORMAT" }
}
}
}
Donde dice VARIABLE_TITULO, VARIABLE_URL y VARIABLE_FORMAT no escribas texto: inserta las variables del Atajo (las de “Pedir entrada” y la del menú, que viene en el siguiente paso).
Dos reglas que importan más de lo que parece. El nombre de cada propiedad en el JSON tiene que coincidir exacto con el de Notion: mayúsculas, tildes y espacios incluidos. Si en tu base de datos la columna se llama Nombre en lugar de Title, eso es lo que va en el JSON. Y el tipo también: title, url, number, select con {"name": "valor"}, date con {"start": "2026-06-19"}, checkbox, etc. Solo la propiedad de tipo Title es obligatoria; el resto es opcional, así que incluye únicamente los campos que de verdad uses.
Paso 5: Agrega un menú desplegable para el campo select
En mi base de datos, Format clasifica cada idea por tipo (post, carrusel, video corto, lo que sea). Si tu base de datos tiene un campo select parecido y quieres elegir el valor desde una lista en vez de escribirlo, usa la acción Elegir de un menú antes de armar el JSON. Pones una opción por cada valor posible (con el nombre idéntico al de Notion), y dentro de cada rama una acción Texto que setea una variable Format con ese nombre. Al cerrar el menú, esa variable es la que insertas en el JSON.
El valor que mandes en select.name tiene que existir ya como opción en Notion. Si mandas uno que no existe, Notion no falla: crea una opción nueva. Así es como terminas con duplicados tipo “Short video” y “Short Video”.
Paso 6: Envía la petición
Agrega la acción Obtener contenido de URL apuntando a:
https://api.notion.com/v1/pages
Configúrala con:
- Método: POST
-
Encabezados:
Authorization: Bearer TU_TOKEN
Content-Type: application/json
Notion-Version: 2022-06-28
- Cuerpo de la solicitud: tipo Archivo (File), apuntando a la variable de la acción Texto que tiene el JSON.
Ese último punto del cuerpo es el que más se equivoca. Si lo dejas en “Formulario” (Form) en lugar de Archivo, Notion recibe datos mal formados y responde con un error 400.
Cómo verificar que funciona
Ejecuta el Atajo. Si todo está bien, Notion responde con un objeto cuyo "object" es "page", y verás la fila nueva aparecer en tu base de datos al instante.
Para ponerlo en la pantalla de inicio: en la app Atajos, mantén pulsado el atajo, entra a Detalles y elige Añadir a pantalla de inicio.
Errores comunes
object not found (404). Olvidaste el Paso 2. La integración existe pero no tiene acceso a la base de datos. Abre la DB, menú ···, Conexiones, y añádela.
API token is invalid (401). El header Authorization está mal. Lo más común: falta la palabra Bearer con un espacio antes del token, o el token se cortó al copiar, o regeneraste el secret y quedó el viejo. El valor tiene que ser exactamente Bearer seguido del token. Para aislar si el problema es el token o el header, prueba el token suelto:
curl https://api.notion.com/v1/users/me \
-H "Authorization: Bearer TU_TOKEN" \
-H "Notion-Version: 2022-06-28"
Si eso responde con tu usuario, el token sirve y el problema está en cómo quedó escrito el header dentro del Atajo.
Error 400 al enviar. Casi siempre es el cuerpo configurado como Formulario en vez de Archivo, o un nombre de propiedad que no coincide con el de Notion. Revisa que cada clave del JSON sea idéntica a la columna en tu base de datos.
Se crean opciones duplicadas en un select. El valor que mandas no coincide exacto con una opción existente y Notion crea una nueva. Cuida mayúsculas y espacios en los nombres del menú.
Y si no quieres armarlo desde cero
Ya tienes todo lo que necesitas para construirlo tú mismo, pero también lo dejé listo para usar.
Envíame la palabra ATAJO por DM a mi Instagram @nicolay.cz y te paso el Atajo ya hecho. Solo tienes que llenar tus datos: tu token, tu Database ID y los nombres de tus propiedades. El resto ya está armado.’