Reline

Busca y lee tus notas de reuniones, transcripciones y elementos de acción, y crea notas.

Servidor MCP alojado

npx add-mcp 'https://mcp.reline.so/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Crea tus propias notas de reunión.

Tres superficies, una sola credencial: una API REST para notas y carpetas, webhooks firmados para eventos de notas y elementos de acción, y un servidor MCP con el que tus herramientas de IA pueden hablar directamente.

Autenticación

curl https://api.reline.so/api/zapier/me \
  -H "Authorization: Bearer rlk_your_key_here"

# X-API-Key: rlk_your_key_here works too

Lo que una clave puede alcanzar

Una clave actúa como el administrador que la creó, dentro de ese espacio de trabajo. Cada lectura y escritura pasa por las mismas verificaciones de permisos que esa persona tiene en la aplicación, por lo que una clave nunca llega a una nota privada que su propietario no pudiera abrir.

Revocar una clave

Revocar bloquea la clave en la siguiente solicitud y elimina cada suscripción de webhook que creó, por lo que los oyentes dejan de recibir eventos en el mismo momento. No hay período de gracia que esperar.

REST

Seis endpoints sobre notas y carpetas.

Las respuestas son JSON. Los fallos devuelven un estado 4xx y un campo de error que describe lo que salió mal.

https://api.reline.so

MétodoEndpointQué hace
GET/api/zapier/meResuelve la clave a un espacio de trabajo y un usuario. Úsalo para verificar una credencial.
GET/api/zapier/notesNotas recientes que puedes ver, las más nuevas primero. Limita a una carpeta con folderId.
POST/api/zapier/notesCrea una nota, opcionalmente dentro de una carpeta que puedas editar.
GET/api/zapier/foldersCarpetas que puedes ver. Pasa level=edit para las que puedes escribir.
POST/api/zapier/subscribeRegistra una suscripción de webhook para un evento, opcionalmente limitada a una carpeta.
DELETE/api/zapier/subscribeElimina una suscripción por el id devuelto cuando se creó.
curl -X POST https://api.reline.so/api/zapier/notes \
  -H "Authorization: Bearer rlk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"title":"Kickoff call","description":"Agenda + owners"}'

# 201 -> { "id": "...", "title": "Kickoff call", "url": "https://..." }

El objeto de nota

La misma forma vuelve del endpoint de notas y viaja dentro de cada payload de webhook, por lo que un campo que mapeas una vez se mapea en todas partes. Los campos de resumen y elementos de acción viajan junto con los eventos que los llevan.

{
  "id": "j57...",
  "noteId": "j57...",
  "title": "Kickoff call",
  "url": "https://app.reline.so/acme/notes/j57...",
  "folderId": "k21..." | null,
  "folderName": "Clients" | null,
  "isArchived": false,
  "createdAt": 1788302403777,
  "updatedAt": 1788302911204
}

Webhooks

Eventos

note.created

Se creó una nota, por una persona, el calendario o la API.

note.summarized

Un resumen terminó de generarse. Editar un resumen más tarde no lo vuelve a disparar.

note.archived

Una nota se movió a la papelera. Solo la nota actuada directamente, nunca una cascada.

note.restored

Una nota volvió de la papelera.

action_items.extracted

Se extrajeron elementos de acción para una nota, entregados como un lote que lleva la lista completa actual.

action_item.completed

Alguien marcó un elemento de acción como completado.

La entrega

Tres encabezados viajan con el cuerpo: el nombre del evento, un id de entrega único y la firma.

POST https://your-endpoint.example.com
X-Reline-Event:     note.summarized
X-Reline-Delivery:  9f3c...
X-Reline-Signature: t=1788302403,v1=6b8a...

{
  "id": "9f3c...",
  "event": "note.summarized",
  "occurredAt": 1788302403777,
  "workspace": { "id": "w1...", "slug": "acme", "name": "Acme" },
  "data": { "noteId": "j57...", "summary": "# Kickoff\n..." }
}

Verificar una entrega

La firma es un HMAC-SHA256 sobre la marca de tiempo y el cuerpo crudo, unidos por un punto, con la clave del secreto de firma mostrado cuando se creó la suscripción. Calcúlalo sobre los bytes que recibiste, antes de cualquier análisis JSON, y compara en tiempo constante.

import crypto from 'node:crypto'

// \`raw\` is the request body as received — verify BEFORE JSON.parse.
function verify(raw: string, header: string, secret: string): boolean {
  const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')))
  const expected = crypto
    .createHmac('sha256', secret)
    .update(\`${parts.t}.${raw}\`)
    .digest('hex')
  if (typeof parts.v1 !== 'string' || parts.v1.length !== expected.length) return false
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1))
}

Cuando un receptor falla

Las entregas se reintentan, y una suscripción que sigue fallando se apaga automáticamente en lugar de reintentarse para siempre. El último estado y error de cada hook es visible en Configuración.

MCP

Apunta una herramienta de IA a tu espacio de trabajo.

El servidor habla el Protocolo de Contexto de Modelo sobre HTTP, por lo que funciona en claude.ai, ChatGPT, Claude Code, Cursor y cualquier otra cosa que soporte el protocolo. Inicia sesión a través de OAuth, o envía la misma clave de API del espacio de trabajo como token de portador.

https://mcp.reline.so/mcp

claude mcp add --transport http reline https://mcp.reline.so/mcp

# or authenticate a plain HTTP client with the same workspace key:
#   Authorization: Bearer rlk_your_key_here

Las herramientas que pagan devuelven un cursor. Una página corta no significa el final; solo un cursor nulo lo hace.

Lectura

  • search
  • fetch
  • get_note
  • get_transcript
  • list_notes
  • count_notes
  • list_meetings
  • list_recent_meetings
  • list_folders
  • list_people
  • list_calendar_events
  • list_action_items
  • list_workspaces
  • get_workspace_info

Escritura

  • create_note
  • append_to_note
  • update_note
  • create_folder
  • complete_action_item

Límites

120 solicitudes por minuto

Contadas por clave en una ventana fija de un minuto. Excederlo te da un 429 hasta que la ventana se reinicie.

10 claves activas por espacio de trabajo

Las claves revocadas no cuentan. Emite una por integración para que puedas retirarlas una a la vez.

Solo administradores

Crear y revocar claves requiere el rol de administrador. Los miembros pueden usar una integración construida sobre una clave, pero no pueden emitir una.

Una clave por espacio de trabajo

Una clave nunca cruza a otro espacio de trabajo. Trabajar en varios significa una clave para cada uno.

¿Construyendo algo con esto?

Cuéntanos qué estás conectando y qué falta. La superficie crece donde la gente realmente empuja.

Ponte en contacto