New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceCore BlocksData & Memory
Block

Memory Storage Block

Persistent data management system

Advanced memory management system for storing, retrieving, and managing persistent data across workflow executions. Supports conversation history, data caching, and intelligent retrieval with filtering options — reach for it whenever a workflow needs to remember state between runs or across turns of a multi-step interaction.

Overview

PropertyValue
Typememory
Categoryblocks
Color#F64F9E

When to Use

  • Store conversation messages (user, assistant, or system) keyed by a session or thread identifier so an agent can recall prior turns
  • Retrieve a single named record with optional limit and sort direction to feed history into a prompt
  • Pull all records for a workflow at once, optionally filtered by role type, for auditing or batch processing
  • Remove a specific record when a session ends or data must be cleared
  • Cache intermediate results between workflow runs to avoid re-computing expensive operations
  • Build multi-turn chatbot experiences where context must persist across separate workflow executions

Configuration

Memory Operation

Selects which storage action to perform. Every other field is conditional on this choice.

Labelid
Store New Dataadd
Retrieve All RecordsgetAll
Fetch Specific Recordget
Remove Recorddelete

Default: add.

add — Store New Data

Appends a new message entry to the record identified by id. If a record with that identifier already exists the new data is appended to it.

Sub-blockidTypeRequiredNotes
Record Identifieridshort-inputYesUnique key for the record
Message RoleroledropdownYesSee role options below
Data Contentcontentlong-inputYesText to persist

Role options:

Labelid
Human Inputuser
AI Responseassistant
System Instructionsystem

get — Fetch Specific Record

Retrieves one named record by its identifier, with optional limit and sort controls.

Sub-blockidTypeRequiredNotes
Record Identifieridshort-inputYesKey of record to fetch
Retrieval Limitlimitslider (1–100)NoMax messages to return; default 10
Sort OrdersortOrderdropdownNoSee sort options below

Sort order options:

Labelid
Newest Firstdesc
Oldest Firstasc

getAll — Retrieve All Records

Returns every record stored for the current workflow, with optional limit, sort, and role filter.

Sub-blockidTypeRequiredNotes
Retrieval Limitlimitslider (1–100)NoMax messages per record; default 10
Sort OrdersortOrderdropdownNoSee sort options below
Filter by TypefilterTypedropdownNoSee filter options below

Sort order options:

Labelid
Newest Firstdesc
Oldest Firstasc

Filter type options:

Labelid
All Typesall
Human Input Onlyuser
AI Response Onlyassistant
System Instructions Onlysystem

delete — Remove Record

Permanently removes a specific record by identifier.

Sub-blockidTypeRequiredNotes
Record Identifieridshort-inputYesKey of record to remove

Inputs & Outputs

Inputs:

  • operation (string) — Memory operation type to execute (add, get, getAll, delete)
  • id (string) — Unique record identifier (required for add, get, delete)
  • role (string) — Message role classification (user, assistant, system; required for add)
  • content (string) — Data content to store (required for add)
  • limit (number) — Maximum number of messages per record to retrieve (used with get and getAll)
  • sortOrder (string) — Sort direction for retrieved records (asc or desc; used with get and getAll)
  • filterType (string) — Filter records by message role type (all, user, assistant, system; used with getAll)

Outputs:

  • memories (json) — Retrieved memory records with metadata
  • id (string) — Processed record identifier
  • count (number) — Number of records processed
  • success (boolean) — Operation completion status

Tools

Store New Data (memory_add) — POSTs a new message entry (role + content) under the given key for the current workflow. If a record with the same key already exists the entry is appended to it. Required params: id, role, content.

Fetch Specific Record (memory_get) — GETs a single record by key for the current workflow. Supports optional limit (default 10) and sortOrder (asc/desc, default desc) query parameters.

Retrieve All Records (memory_get_all) — GETs all records for the current workflow. Supports optional limit, sortOrder, and filterType query parameters. Returns an array of record objects each containing key, type, data, createdAt, and updatedAt.

Remove Record (memory_delete) — DELETEs a record by key for the current workflow. Permanently removes all entries stored under that identifier.

YAML Example

memory_1:
  type: memory
  name: "Memory Storage"
  inputs:
    operation: "add"
    id: "{{starter.sessionId}}"
    role: "user"
    content: "{{starter.message}}"
  connections:
    outgoing:
      - target: agent_1