Flowise
Add a GoodMem Tool node to Flowise's visual builder so agents and flows can store, retrieve, and manage memories.
This integration lives in a fork of Flowise and is still being finalized. The fork's top-level README is the upstream Flowise README; the GoodMem-specific documentation is the node's own README. Check the fork for the current status: PAIR-Systems-Inc/igoodmem_flowise.
Overview
Flowise is an open-source visual builder for LLM apps and agents.
This fork adds a GoodMem Tool node to Flowise's node palette so that agents and flows can use
GoodMem — a memory layer that handles semantic storage, vector retrieval, and LLM-powered
summarization — without writing code. The node is registered under the Tools category and,
when connected to an agent, exposes a set of goodmem_* tools the agent can call to manage spaces
and memories.
The GoodMem addition sits on top of upstream Flowise as a GoodMem Tool node (node version 2.0,
built on the official @pairsystems/goodmem
SDK) and a GoodMem API credential.
Installation
There is no published package for this integration yet. It ships inside the fork, so you run Flowise from source:
git clone https://github.com/PAIR-Systems-Inc/igoodmem_flowise.git
cd igoodmem_flowise
pnpm install
pnpm build
pnpm startThe GoodMem node and credential are bundled in the flowise-components package
(packages/components/nodes/tools/GoodMem and
packages/components/credentials/GoodMemApi.credential.ts). Once Flowise is running, the GoodMem
node appears in the Tools section of the node palette.
Configuration
Configuration is done through a GoodMem API credential in the Flowise UI (Credentials → add new → GoodMem API), not through environment variables. The credential exposes these fields:
| Field | Credential key | Description |
|---|---|---|
| Base URL | goodMemBaseUrl | Base URL of your GoodMem API server, e.g. https://your-goodmem-server.example.com. |
| API Key | goodMemApiKey | API key issued by GoodMem. Sent as the X-API-Key header. |
| Verify SSL | goodMemVerifySsl | Verify the server's TLS certificate (default true). Disable only for self-signed local installs. |
Quick start
- Start the fork (see Installation) and open the Flowise UI.
- Create a GoodMem API credential with your Base URL and API key.
- Drag the GoodMem node from the Tools palette onto a flow and connect the credential.
- Pick a Default Space (the dropdown is loaded live from your server). Optionally use the Actions field to change which tools are exposed — the defaults expose reading and writing memories and nothing destructive — and set a Reranker, Metadata Filter, Minimum Score, or Upload Directory.
- Connect the GoodMem node to an agent node. The agent can now call the GoodMem tools.
Operations
When attached to an agent, the node exposes the following tools (each can be toggled on or off individually via the node's Actions field; destructive ones are off until you switch them on):
| Tool | Operation | Enabled by default |
|---|---|---|
goodmem_search | Semantic similarity search (query, top_k) | yes |
goodmem_remember | Store text as a new memory | yes |
goodmem_list_memories | List memories in a space | yes |
goodmem_get_memory | Fetch a memory by ID, optionally including its content | yes |
goodmem_list_spaces | List all spaces accessible to the API key | yes |
goodmem_get_space | Fetch a space by ID | yes |
goodmem_list_embedders | List available embedder models | yes |
goodmem_upload_file | Store a file from the configured upload directory | no — needs an Upload Directory |
goodmem_create_space | Create a new space | no |
goodmem_update_space | Rename a space | no — destructive |
goodmem_delete_space | Permanently delete a space and all its memories | no — destructive |
goodmem_delete_memory | Permanently delete a memory and its chunks/embeddings | no — destructive |
The Default Space is the space the tools read and write, and the Default Embedder is used when a space has to be created. Anything that changes what a search means — the reranker, the metadata filter, the score threshold, the upload directory — is node configuration, not a tool argument, and every id must be a UUID; anything else is refused before a request is sent.
Documentation for this integration is being finalized. For the current node behavior, supported operations, and setup, refer to the source on GitHub: PAIR-Systems-Inc/igoodmem_flowise.