Back to Nodes

Petals Memory

Last updated Aug 12, 2026

n8n node to ingest documents, files, transcripts, and metrics into your Petals assistant memory, and to chat with your assistant

4 Weekly Downloads
21 Monthly Downloads

Included Nodes

Petals Memory

Description

n8n-nodes-petals

An n8n community node for the whole Petals
API: ingest content into your assistant memory, read your metrics back out, and
chat with your assistant.

Installation

In n8n: Settings → Community Nodes → Install, then enter n8n-nodes-petals.

Credentials

Create a Petals API credential with an API key from your Petals account
(Settings → API Keys). The key authenticates as you; the proxy derives your user
from it. Self-hosters can override the Base URL.

Operations

The node maps each operation to one Petals proxy endpoint:

| Resource | Operation | Endpoint |
|—|—|—|
| Assistant | Get Many | GET /api/assistants |
| Model | Get Many | GET /api/models |
| Chat | Create | POST /api/create-chat |
| Chat | Get Status | GET /api/chat/status |
| Chat | Completion | POST /api/chat/completions |
| Document | Ingest | POST /api/memory/ingest/document |
| File | Ingest | POST /api/memory/ingest/file |
| Transcript | Ingest | POST /api/memory/ingest/transcript |
| Metric | Record Observation | POST /api/memory/metrics/observations |
| Metric | Record Observations (Bulk) | POST /api/memory/metrics/observations/bulk |
| Metric | List Definitions | POST /api/memory/metrics/list |
| Metric | Get Series | POST /api/memory/metrics/series |
| Metric | Get Summary | POST /api/memory/metrics/summary |

Picking a chat operation

Two operations send a message to your assistant, and they behave very
differently:

| | Chat → Create | Chat → Completion |
|—|—|—|
| Returns | Immediately, at status: "queued" | When the answer is ready |
| The answer | Arrives later, via Chat → Get Status | Is in the response |
| Shape | Petals chat (chatId, messageId) | OpenAI chat-completion |
| Good for | Long turns, fire-and-forget automations, anything you want to see in the Petals UI | Getting an answer inside the same run, and OpenAI-shaped tooling |

Completion is synchronous but never streams: the endpoint rejects
stream: true with a 400, so the node always asks for the whole answer at once
and there is no streaming toggle to find.

Chatting with your assistant

Chat → Create posts your message and returns as soon as it is queued:

{ "success": true, "userId": "…", "chatId": "…", "messageId": "…", "status": "queued" }

The assistant’s turn runs in a background queue, so the reply is not in that
response. To pick it up, poll Chat → Get Status with the chatId:

  • status is queued or running — still working, poll again
  • status is completed — the assistant’s answer is the last messages entry
  • with role: "assistant" (messages come oldest first, capped at the last 200)

  • status is failed — error says why
  • status is unknown — the run record aged out (they are kept for 24 hours);
  • judge from messages

    The node deliberately does not wait for the reply itself: compose the wait in the
    workflow with a Wait node between Create and Get Status, and loop back with an
    If node while the status is still queued or running. That keeps the poll
    interval yours, and keeps a long assistant turn from occupying a node execution.

    Set Hidden on Create to keep your message out of the Petals chat UI while
    still sending it to the model — handy for automation prompts you don’t want
    cluttering the conversation.

    Chat → Completion takes the OpenAI shape instead: an assistant in
    Assistant, a Messages list built from fields, and the usual optional knobs
    (temperature, tools, response_format, …) under Additional Fields.
    Switch Messages Input to JSON to pass a raw OpenAI messages array when you
    need content parts, tool calls, or tool results. To pin a specific model, set the
    assistant field by expression to assistantId@modelId.

    Assistants and models

    Assistant → Get Many and Model → Get Many list what you can chat with,
    one n8n item per row. The same two endpoints back the Assistant and Model
    dropdowns on Chat → Create and Chat → Completion, so you pick a name in the
    editor instead of hunting for a UUID. Both fields still accept an expression when
    the ID is computed upstream.

    Reading metrics back

    Metrics are readable as well as writable, which is what makes
    “read the trend → decide → act” workflows possible:

  • Metric → List Definitions returns every definition with its stats
  • (observationCount, latestValue, …). Its id (mdef_…) is what the other
    two read operations take — and it also backs their Metric dropdowns, so you
    pick definitions by label there too. Filter by active, needs-review, or a
    search string.

  • Metric → Get Series returns points for one or more definitions over a
  • range. Bucket rolls them up by hour/day/week/month; None returns the raw
    observations. Aggregation overrides the metric’s own aggregation hint.

  • Metric → Get Summary returns one metric’s latest value, its 7d/30d/90d

windows, and a trend of up, down, or flat.

Keeping this node in tandem with the API

The table above is the source of truth for the proxy-endpoint ↔ node-operation
pairing, and it currently covers the documented Petals API surface end to end.
When the proxy gains a new end-user-relevant capability — ingestion, metrics,
chat, or discovery — add the matching Resource/Operation here in the same change.
The capability chain is Memory SDK/MCP → Petals proxy → this node.

License

MIT

From our network Other tools and sites we build