The assistant journal
Pick up where your last assistant conversation left off.
The journal records what your connected assistants did through n8v and why. Start a new conversation with journal_catch_up to read decisions, work started, work finished and questions waiting for you. Where you keep the Record, the brief also lists what was put on record meanwhile, in each organization's Record you can read and in your own: its records, one per Record that changed, with the counts and the newest lines.
Read at three depths
Settings > Journal shows the same layers. Filter sessions by assistant, organization or period, open a session, then choose a call. The detail view links to its existing audit entry.
A conversation
Call journal_catch_up first, then open a session with one sentence describing the goal. Reuse the returned ID and give each call a purpose. Close the session with what happened.
| MCP tool | Example arguments |
|---|---|
journal_catch_up | {"since":"2026-11-10T09:00:00Z","purpose":"Pick up where we stopped"} |
session_start | {"goal":"Get the login fix ready for review","purpose":"Open this conversation"} |
session_end | {"session":"ses_example01","outcome":"Fix ready for review; tests passed","purpose":"Leave a handoff"} |
journal_sessions | {"assistant":"Claude","limit":20,"session":"ses_example01","purpose":"Find earlier work"} |
journal_session | {"session_id":"ses_earlier01","session":"ses_example01","purpose":"Read the earlier actions"} |
journal_entry | {"entry_id":"call-id","session":"ses_example01","purpose":"Inspect one call"} |
since also accepts a previous session ID. session_id selects the session to read; session identifies the conversation making the request. Journal tools require chats:read. A credential can read only sessions whose recorded scopes it also holds. Repository-restricted keys see only their own sessions.
When no session is supplied, n8v joins the same caller's recent open session or issues one. An implicit session lasts at most 12 hours and stops being reused after 30 quiet minutes. Sessions cannot be shared across credentials. Journal reads are recorded too. Sessions that only read the journal stay out of the session list.
REST parity
All public API operations accept X-Purpose and X-Session-Id. Responses return X-Session-Id when a session is available. MCP returns the ID in _meta["n8v/session"]; ordinary tool results also include session. The journal's own tools preserve their full session object.
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /api/v1/journal/sessions | Open with {"goal":"..."} |
| POST | /api/v1/journal/sessions/{id}/end | Close with {"outcome":"..."} |
| GET | /api/v1/journal/sessions | List and filter sessions |
| GET | /api/v1/journal/sessions/{id} | Read actions |
| GET | /api/v1/journal/entries/{id} | Read one call |
| GET | /api/v1/journal/catch-up | Read the brief |
List filters are assistant, key, organization, repo, from, to, limit and cursor. Use next_cursor for the next page. Session actions accept limit up to 300 and writes=true. Catch-up accepts since; its more field tells you when older sessions were left out.
Summaries and cost
n8v stores a summary when the session closes. A scheduled sweep closes sessions left quiet for two hours, including conversations never explicitly closed. Reads use stored summaries; open sessions show a compact provisional account of their calls.
The configured helper model is Gemini 3.1 Flash-Lite for customer accounts. n8v's internal accounts can use GPT 5.6 Luna through its subscription proxy. If no model answers, a summary written by code remains, at zero model cost. Repeated summary jobs claim the same session snapshot only once.
Each session reports summary_model and summary_cost_usd. Gemini estimates use the rates configured in n8v: $0.25 per million input tokens and $1.50 per million output tokens. For example, 1,000 input and 200 output tokens cost an estimated $0.00055. Proxy calls have no marginal token charge recorded here; that excludes the subscription fee. Actual session estimates depend on token usage.
Privacy and retention
Your journal belongs to your account. An administrator cannot read another account's journal through this feature. Organization activity comes only from organizations you own, with the organization's read permission. What was put on record comes from the Records you can open, with the same permission, read as you.
A call keeps its purpose, target IDs, outcome, input shape, result IDs and counts. The journal does not copy message bodies, transcripts or returned payloads. Credentials in purpose text and target fields are scrubbed. Deeper request detail remains in the existing audit log under its existing rules.
Calls expire after 90 days; sessions after 400 days. The daily sweep caps each account at 100,000 journal calls and 20,000 sessions, removing the oldest journal metadata first. Existing audit retention remains independent. All rows are deleted with the account. Caps may be exceeded between sweeps.
The feature ships behind assistantJournal, off by default. Administrators can enable it globally or for an account in /internal/admin/feature-flags.