Save to the notebook
notebook_saveKeep something in the user's RelayLink notebook: an idea, a task, a journal entry, a report, an email draft they are not sending yet, a project, a working preference, a lesson from something they tried, a decision, a routine, or where the work has got to for whichever assistant picks it up next. Only body is required — an unfiled thought stays unfiled, and a title is taken from the first line when you do not give one. Pass parentId to add to an entry that already exists (a reflection on a journal entry, a second take on an idea, an outcome on a decision): the original is never rewritten. Text only — no files, no attachments; a link is stored as text and never fetched. Save what the user asked to keep, not the surrounding conversation, and use source "ai_suggested" for anything you inferred rather than heard, so it is offered rather than recorded as theirs. This is the user's RelayLink notebook, for material they are keeping: use it when they name RelayLink or their notebook, when they are continuing work already kept here, or when they pick a RelayLink entry. A durable fact ABOUT them — how they like to be worked with, what they are working on — is memory_add's instead, and a project-scoped preference or one with an end date is this notebook's. A bare "add a task" or "save this note" may be meant for another connected app, and a destination they name outright is always the destination. If more than one place is plausible and nothing settles it, ask once, then stay with the answer for the rest of the task.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"body": "<body>"
},
"name": "notebook_save"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| due | No | When a task or a decision review falls due: 2026-09-11 for a day, or 2026-09-11T17:00 for a time in their zone. Work out which day "Friday" is before calling; this server does not read it. | |
| body | Yes | The content, in full and in the user's own words where they gave them. Up to 50,000 characters; it is refused, never truncated. | |
| kind | No | note | task | journal | report | email_draft | project | handoff | preference | lesson | routine | decision | exploration | outcome | reflection. Defaults to note. | |
| tags | No | Tags, lowercase, no spaces. Optional. | |
| title | No | What to call it. Optional — taken from the first line of the body when absent. | |
| detail | No | Kind-specific fields as JSON: a decision takes choice/rationale/expectation/reviewWhen, a lesson tried/happened/stopped/reconsiderIf, a handoff goal/progress/constraints/nextStep, a routine purpose/steps/output/gather, an email draft to/subject. Anything else is refused with the list. | |
| source | No | user_stated (their words), user_confirmed (yours, they agreed) or ai_suggested (your inference, offered not adopted). Defaults to user_stated — use it only for what they actually said. | |
| project | No | A project name to file it under, created on first mention. Optional. | |
| parentId | No | The entry_id this is an addition to. Required for exploration, outcome and reflection. | |
| priority | No | normal | low | high. Tasks only, and normal unless the user says otherwise. | |
| reviewAt | No | A date to review it (2026-10-01). Saved for review — nothing is scheduled and nothing is delivered. | |
| entryDate | No | The day a journal entry is FOR (2026-09-11), which may not be today. Journal entries only. | |
| expiresAt | No | When a preference stops applying (2026-12-01). Use it for anything temporary, so a passing constraint does not become a permanent rule. | |
| relatesTo | No | An entry_id this one relates to, linked without either owning the other. | |
| relationType | No | How it relates: related | led_to | supersedes | answers | bears_on. Defaults to related. | |
| resurfaceCue | No | Why or when to bring this back, in the user's words: "when I'm working on marketing". A note on a row, not a notification. |