Mem0 integration for AI Flowi Workflow
For Mem0-backed conversations, AI Flowi Workflow exposes Mem0 Chat Memory to retrieve and store chat messages. Its interface separates an incoming message, a search query and a user identifier, and returns both a Memory object and JSON search results.
Mem0 Chat Memory, Chat Input and Chat Output in the proposed ingestion and retrieval trials are documented in the catalogue; not production-tested by Ai Flowi. This page uses the 1.9.2 catalogue exported 9 October 2026, whose Mem0 entry describes it as Retrieves and stores chat messages using Mem0 memory storage.
All eight Mem0 Chat Memory inputs
On a small screen, scroll the Mem0 field table horizontally to inspect its connection types and configuration notes.
| Input | Field type | Required | Connection types | Configuration boundary |
|---|---|---|---|---|
existing_memory | other | Optional | Memory | An existing Memory connection; no merge or replacement rule is supplied. |
ingest_message | str | Optional | Message | Message input for ingestion; duplicate handling is undocumented. |
mem0_api_key | str | Optional | Empty list | Mem0 credential field; determine authentication requirements for the selected backend. |
mem0_config | NestedDict | Optional | Data, JSON | NestedDict configuration accepting Data or JSON; its key schema is absent. |
metadata | dict | Optional | Not specified | Dictionary field; no filtering syntax or access-control meaning is defined. |
openai_api_key | str | Optional | Empty list | Separately named model credential; its necessity depends on configuration to verify. |
search_query | str | Optional | Message | Message-compatible query input; ranking and matching rules are not exported. |
user_id | str | Optional | Message | Message-compatible user identifier; authorization rules are not described. |
Optional is the validation flag on all eight Mem0 inputs; it supplies neither a default identity nor an authentication-free setup. “Empty list” records explicit empty connection metadata; “Not specified” means the accepted-type property is absent. Neither tells you that arbitrary connected values will work.
Ingested message and search query have separate roles
ingest_message and search_query each have field type str and accept Message connections. Supply the content to store and the question used for retrieval deliberately. A question should not accidentally become the memory item merely because both fields accept the same connection type.
The export has no separate operation selector and does not describe the order of ingestion and search when both inputs are populated. Inspect that behaviour before designing a “save, then immediately recall” path. Repeating an ingestion request also needs a duplicate check; no idempotency contract is present.
User identity, metadata and nested configuration
user_id is the named identity input, while metadata is a dictionary. Assign user_id from the application identity record; generated text is unsuitable for choosing whose Mem0 records to retrieve. The exported string/Message contract does not specify authorization checks for that identifier. A metadata label should remain a descriptive value unless a verified backend contract gives it a filtering or permission role.
mem0_config uses NestedDict, with Data and JSON accepted as connections. Its nested keys, storage choices and filter notation are unspecified. Obtain the configuration structure supported by your Mem0 service before filling this field; a plausible object can still contain keys that the node cannot interpret.
existing_memory accepts Memory and is distinct from both configuration JSON and search-result JSON. The field name suggests supplying an existing memory object, but precedence between that object and the other fields is unspecified. Keep that boundary separate from the first ingestion/search trial.
Related: Zep memory integration for AI Flowi Workflow.
Memory and search results are different outputs
| Entry | Output | What the interface establishes |
|---|---|---|
| Mem0 Chat Memory | memory / Mem0 Memory / Memory | A reusable memory handle; choose a receiving port typed Memory. |
| Mem0 Chat Memory | search_results / Search Results / JSON | A JSON result to inspect; the record schema is not exported. |
| Mem0 in Composio | dataFrame / Table / Table | A separate connector contract, not a substitute Memory port. |
The native component identifier is mem0.mem0_chat_memory. The catalogue also lists composio.ComposioMem0APIComponent with display name Mem0, a required api_key, an empty action_button options list and Table output. Its description is empty. This page’s storage and retrieval example uses the native component; the separate entry does not document available Mem0 actions.
Message History documents a Memory-compatible input if you need an external-memory consumer. Follow that reference for its modes and message outputs. Do not send memory directly to a display field expecting JSON or Message simply because it represents conversation information.
Credentials and a bounded starting point
Supply API credentials from your own Mem0 account and, if selected by the configuration, your OpenAI account through the credential mechanisms guide; each provider bills its usage separately.
Prepare a fictional user identifier and a short fictional preference for the Mem0 inspection. Keep credential values out of those messages. The separate mem0_api_key and openai_api_key fields identify two credential slots, not a promise that both are mandatory or that either can be omitted from your chosen backend.
Inspect ingestion and retrieval as separate trials
example configuration, not a recorded test
- In Chat Input, place “The fictional workspace label is Cedar.” in
input_value. Route itsmessageoutput into Mem0 Chat Memory.ingest_message; this connection carries the statement to be stored. - Set Mem0 Chat Memory
user_idtosynthetic-cedar-user, configuremem0_api_keywith your credential and supply only service-supportedmem0_config. Addopenai_api_keyonly if the selected configuration needs it. Leaveexisting_memorydisconnected for this initial inspection. - Inspect an ingestion trial and verify the stored synthetic item using the service’s available inspection method. Do not count a returned Memory object as proof that the particular sentence was saved.
- For retrieval, remove the ingestion connection. Give Chat Input the question “What is the fictional workspace label?” through
input_value, then route itsmessageoutput into Mem0search_query. Retain the reviewed identity and backend settings so this trial changes the requested operation. - For JSON display, use Chat Output with
input_valuefed by Mem0search_results. Compare the returned content with the stored Cedar statement before including retrieved material in a later prompt.
The expected inspection artifact is the actual JSON returned by the search output, with any matching content reviewed manually. This page supplies no invented records, scores, memory identifiers or success response. Empty results, unexpected content and failed service calls need distinct notes in your trial record.
Retain the spelling of the fictional label in your source note. If returned JSON contains a reformulation, distinguish a changed representation from a different stored preference; without a published result schema you cannot assume which JSON member holds the source text. If you cannot identify the retrieved content, pause prompt assembly instead of passing the whole response as though every property were part of the preference.
Resolve Mem0 configuration precedence before reuse
Use the agent memory isolation exercise for the shared access-scope checks.
Suppose a later graph supplies existing_memory from an earlier node while also filling mem0_config. Which object determines the backend for ingestion and search? This export does not answer that question. Keep the working configuration and its observed search response as a baseline before introducing the Memory connection. Review the actual service destination when that connection is added; matching JSON content alone would not identify which backend supplied it. If precedence cannot be established, keep the two configurations separate rather than combining them in a graph whose storage destination you cannot explain.
Record the identity, query and configuration alongside the observed JSON. If results differ after a configuration change, inspect that change before attributing the difference to memory learning. The catalogue supplies no durable-learning claim, search-result schema, retention period or deletion operation for this node.
When should I use a smaller memory path than Mem0?
Use Mem0 Chat Memory when the Mem0-specific ingestion, user, search or configuration contract is part of your requirement. If you only need the documented stored-message modes already covered by Message History, start with that reference. The agent memory glossary explains the broader concept; this integration page owns the native Mem0 fields and two output types.
Do not choose this configuration on the assumption that it exposes graph queries, deletion controls or a proven retention policy. Those capabilities are not established by this exported interface. Browse the integration hub for the other documented connection categories.
By Ai Flowi · Published
Official source: Mem0 documentation
Workflow usage
Plans: Go from USD8/month billed yearly (USD10 monthly), Plus from USD16 (USD20 monthly), Pro 100 from USD80 (USD100 monthly), Pro 200 from USD160 (USD200 monthly) and Pro 500 from USD400 (USD500 monthly), with 5,000 to 250,000 Flowi Tokens/month and top-ups; 1 token per node run; third-party API and model usage is not included.