Entwickler

Bauen Sie auf Ihren eigenen
Meeting-Notizen.

Drei Oberflächen, ein Zugang: eine REST-API für Notizen und Ordner, signierte Webhooks für Ereignisse rund um Notizen und Aufgaben, und ein MCP-Server, mit dem Ihre KI-Tools direkt sprechen.

Authentifizierung

Ein Schlüssel, erstellt in den Einstellungen.

Ein Workspace-Admin erstellt einen Schlüssel unter Einstellungen, dann Integrationen, dann Ausgehende Webhooks. Der Schlüssel wird nur einmal bei der Erstellung angezeigt und ausschließlich als Hash gespeichert, eine verlorene Kopie lässt sich also nicht wiederherstellen. Senden Sie ihn als Bearer-Token oder im Header X-API-Key.

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

# X-API-Key: rlk_your_key_here works too

Worauf ein Schlüssel zugreift

Ein Schlüssel handelt im Namen des Admins, der ihn erstellt hat, und nur in diesem einen Workspace. Jeder Lese- und Schreibvorgang durchläuft dieselben Berechtigungsprüfungen wie in der App, ein Schlüssel erreicht also nie eine private Notiz, die seine Besitzerin oder sein Besitzer nicht ohnehin öffnen könnte.

Einen Schlüssel widerrufen

Ein Widerruf sperrt den Schlüssel ab der nächsten Anfrage und löscht jedes Webhook-Abonnement, das er angelegt hat. Empfänger erhalten im selben Moment keine Ereignisse mehr, es gibt keine Übergangsfrist.

REST

Sechs Endpunkte für Notizen und Ordner.

Antworten kommen als JSON. Fehlschläge kommen mit einem 4xx-Status und einem Feld, das beschreibt, was schiefgelaufen ist.

https://api.reline.so

MethodeEndpunktFunktion
GET/api/zapier/meLöst den Schlüssel zu einem Workspace und einer Person auf. Damit prüfen Sie einen Zugang.
GET/api/zapier/notesAktuelle Notizen, die Sie sehen dürfen, neueste zuerst. Mit folderId auf einen Ordner eingrenzen.
POST/api/zapier/notesErstellt eine Notiz, optional in einem Ordner, den Sie bearbeiten dürfen.
GET/api/zapier/foldersOrdner, die Sie sehen dürfen. Mit level=edit nur jene, in die Sie schreiben dürfen.
POST/api/zapier/subscribeRegistriert ein Webhook-Abonnement für ein Ereignis, optional auf einen Ordner begrenzt.
DELETE/api/zapier/subscribeEntfernt ein Abonnement anhand der id, die beim Anlegen zurückkam.
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://..." }

Das Notiz-Objekt

Dieselbe Struktur liefert der Notizen-Endpunkt, und sie steckt in der Nutzlast jedes Webhooks. Ein Feld, das Sie einmal zuordnen, passt überall. Felder für Zusammenfassung und Aufgaben reisen bei den Ereignissen mit, die sie tragen.

{
  "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

Sechs Ereignisse, signiert beim Versand.

Abonnieren Sie in den Einstellungen oder über die API. Jede Zustellung ist ein POST mit genau einem Ereignis. Begrenzen Sie ein Abonnement auf einen Ordner, um einzugrenzen, was es auslöst.

Ereignisse

note.created
Eine Notiz wurde erstellt, von einer Person, dem Kalender oder der API.
note.summarized
Eine Zusammenfassung wurde fertig erzeugt. Späteres Bearbeiten löst das Ereignis nicht erneut aus.
note.archived
Eine Notiz wanderte in den Papierkorb. Nur die direkt betroffene Notiz, nie eine ganze Kaskade.
note.restored
Eine Notiz kam aus dem Papierkorb zurück.
action_items.extracted
Für eine Notiz wurden Aufgaben extrahiert, zugestellt als ein Paket mit der vollständigen aktuellen Liste.
action_item.completed
Jemand hat eine Aufgabe abgehakt.

Die Zustellung

Drei Header begleiten den Rumpf: der Ereignisname, eine eindeutige Zustell-ID und die Signatur.

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..." }
}

Eine Zustellung prüfen

Die Signatur ist ein HMAC-SHA256 über Zeitstempel und Rumpf, verbunden durch einen Punkt, mit dem Signaturgeheimnis aus dem Moment der Erstellung. Berechnen Sie ihn über die empfangenen Bytes, bevor Sie JSON parsen, und vergleichen Sie in konstanter Zeit.

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))
}

Wenn ein Empfänger ausfällt

Zustellungen werden wiederholt, und ein Abonnement, das dauerhaft scheitert, wird automatisch abgeschaltet statt endlos erneut versucht. Status und letzter Fehler jedes Hooks stehen in den Einstellungen.

MCP

Richten Sie ein KI-Tool auf Ihren Workspace.

Der Server spricht das Model Context Protocol über HTTP und funktioniert daher in claude.ai, ChatGPT, Claude Code, Cursor und überall sonst, wo das Protokoll unterstützt wird. Melden Sie sich per OAuth an oder senden Sie denselben Workspace-Schlüssel als Bearer-Token.

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

Tools mit Seitenaufteilung geben einen Cursor zurück. Eine kurze Seite bedeutet nicht das Ende, nur ein leerer Cursor tut das.

Lesen

  • 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

Schreiben

  • create_note
  • append_to_note
  • update_note
  • create_folder
  • complete_action_item
Grenzen

Die Zahlen, die man kennen sollte.

120 Anfragen pro Minute

Gezählt pro Schlüssel in einem festen Fenster von einer Minute. Darüber kommt ein 429, bis das Fenster weiterrückt.

10 aktive Schlüssel pro Workspace

Widerrufene zählen nicht mit. Legen Sie einen pro Integration an, dann können Sie sie einzeln stilllegen.

Nur für Admins

Erstellen und Widerrufen erfordert die Admin-Rolle. Mitglieder dürfen eine darauf gebaute Integration nutzen, aber selbst keinen Schlüssel anlegen.

Ein Workspace pro Schlüssel

Ein Schlüssel wechselt nie in einen anderen Workspace. Wer über mehrere hinweg arbeitet, braucht je einen.

Bauen Sie etwas darauf?

Erzählen Sie uns, was Sie verdrahten und was fehlt. Die Oberfläche wächst dort, wo Menschen tatsächlich dagegen drücken.

Kontakt aufnehmen