Multi-provider routing
- Persona decides which model fits
- Calls this provider when its strengths apply
- Falls back to alternatives on rate-limits
47 tools available
Mem0 is an universal, self-improving memory layer for LLM applications.
Connect Mem0 to Definable to route to the best model per task, mix providers in one workflow, fall back on rate-limits. Personas call Mem0's 47 tools directly from chat or scheduled flows. Add it to your persona's available models and route requests to it where it fits best.
Every Mem0 action below is a callable tool any Definable persona can invoke.
Adds an existing user to a project (identified by `project_id` within organization `org_id`), assigning a valid system role.
Stores new memory records from a list of messages, optionally inferring structured content; requires association via `agent_id`, `user_id`, `app_id`, or `run_id`.
Adds a new member, who must be a registered user, to an organization, assigning them a specific role.
Creates a new agent with a unique `agent_id` and an optional `name`; additional metadata may be assigned by the system.
Creates a new agent run in the mem0.ai system.
Creates a new application, allowing metadata to be passed in the request body (not an explicit field in this action's request model); ensure `app_id` is unique to avoid potential errors or unintended updates.
Creates a new organization entry using the provided name and returns its details.
Creates a new user with the specified unique `user_id` and supports associating `metadata` (not part of the request schema fields).
Lists/searches existing memory entries with filtering and pagination; critically, this action retrieves memories and does *not* create new ones, despite its name.
Creates a new project with a given name within an organization that must already exist.
Creates a new webhook for a specific project to receive real-time notifications. Use when you need to set up event-driven integrations that trigger on memory operations.
Permanently deletes an existing organization identified by its unique ID.
Permanently deletes a specific memory by its unique ID; ensure the `memory_id` exists as this operation is irreversible.
Call to permanently and irreversibly hard-delete an existing entity (user, agent, app, or run) and all its associated data, using its type and ID.
Deletes all memories matching specified filter criteria. IMPORTANT: At least one filter (agent_id, user_id, app_id, or run_id) must be provided to prevent accidental deletion of all memories. Requires delete permissions on the organization/project.
Deletes a batch of up to 1000 existing memories, identified by their UUIDs, in a single API call.
Permanently deletes a specific project and all its associated data from an organization; this action cannot be undone and requires the project to exist within the specified organization.
Removes an existing member, specified by email address, from a project, immediately revoking their project-specific access; the user is not removed from the organization.
Deletes a webhook and stops receiving notifications for the specified webhook ID. Use this when you no longer need webhook notifications or want to remove a specific webhook configuration.
Creates a new memory export job with optional entity filters (user_id, agent_id, app_id, run_id). Returns export job ID and confirmation message. Requires org_id and project_id. Uses default schema for memory structure if not specified.
Retrieves a summary list of organizations for administrative oversight; returns summary data (names, IDs), not exhaustive details, despite 'detailed' in the name.
Fetches comprehensive details for an organization using its `org_id`; the `org_id` must be valid and for an existing organization.
Retrieves predefined filter definitions for entities (e.g., by type, creation/modification date); returns definitions only, not filtered entity data.
Fetches detailed information for an existing entity (user, agent, app, or run) identified by its type and unique ID.
Retrieves a single async event by ID to check its current status and results. Use this after operations that return event IDs (e.g., add_new_memory_records) to poll for completion before proceeding with dependent operations.
Tool to retrieve all memories associated with a specific entity (user, agent, app, or run). Use when you need to fetch memories for a known entity type and ID combination.
Retrieves the status and results of a memory export job by its ID. Use this after creating an export job to fetch the processed memory data. The response structure matches the schema defined during export creation.
Fetches a list of members for a specified, existing organization.
Fetches comprehensive details for a specified project within an organization.
Retrieves all members for a specified project within an organization.
Retrieves all projects for a given organization `org_id` to which the caller has access.
Retrieves all webhooks configured for a specific project. Use this to list webhook configurations including their event types, URLs, and active status.
Retrieves a summary of the authenticated user's memory activity, including total memories created, search events, and add events. Note: This endpoint is undocumented in the official mem0 API specification but is functional.
Retrieves a list of entities, optionally filtered by organization or project (prefer `org_id`/`project_id` over deprecated `org_name`/`project_name`), noting results may be summaries and subject to limits.
Searches memories semantically using a natural language query and metadata filters. IMPORTANT: - At least one of 'user_id', 'agent_id', or 'run_id' MUST be provided - A non-empty 'query' string is REQUIRED for semantic search - To retrieve memories without a search query, use 'retrieve_memory_list' action instead
Removes a member, specified by their username, from an existing organization of which they are currently a member.
Retrieves a paginated list of events for the authenticated user, filterable and paginable via URL query parameters. This is a read-only operation that does not modify data. Supported Query Parameters (applied directly to the request URL): - `event_type` (str, optional): Filters events by their type (e.g., 'ADD', 'SEARCH'). - `start_date` (str, optional): Filters events on or after this date (format: YYYY-MM-DD). - `end_date` (str, optional): Filters events on or before this date (format: YYYY-MM-DD). - `page` (int, optional): Specifies the page number for paginated results. - `page_size` (int, optional): Number of events per page (default: 50, max: 100).
Retrieves a chronological list of all memory events (e.g., user inputs, AI responses) from the Mem0 platform, providing interaction history and context for AI assistants.
Retrieves a complete memory entry by its unique identifier; `memory_id` must be valid and for an existing memory.
Retrieves the complete version history for an existing memory, using its unique `memory_id`, to inspect its evolution or audit changes.
Retrieves a list of memories, supporting pagination and diverse filtering (e.g., by IDs, metadata, keywords, date ranges); ensure dates are ISO 8601 and `page`/`page_size` (if used) are positive integers. REQUIRED: At least one of agent_id, user_id, app_id, or run_id must be provided.
Semantically searches memories using structured filters with an optional natural language query. If query is omitted, defaults to '*' (wildcard) for filter-only searches. Offers options to rerank results, select specific fields, and adjust similarity threshold; any provided `org_id` or `project_id` must reference a valid existing entity.
Updates text for up to 1000 memories in a single batch, using their UUIDs.
Updates the text content of an existing memory, identified by its `memory_id`.
Updates the role of an existing member to a new valid role within an existing organization.
Updates a project by `project_id` within an `org_id`, modifying only provided fields (name, description, custom_instructions, custom_categories); list fields are fully replaced (cleared by `[]`), other omitted/null fields remain unchanged.
Updates the role of a specific member within a designated project, ensuring the new role is valid and recognized by the system.
Anything Mem0 exposes through its API. Common artificial intelligence workflows on Definable include route to the best model per task, mix providers in one workflow, fall back on rate-limits. Personas can call any of the 47 Mem0 tools directly, then chain the result into another integration without you writing code.
Mem0 uses API_KEY on Definable. You connect once from the integrations page, scoped to the permissions you choose, and from then on any persona that has the integration enabled can act on your behalf. Tokens are encrypted at rest and rotated automatically.
Yes — every Definable plan, including Starter, includes access to all 47 Mem0 tools. You only need a separate Mem0 subscription if Mem0 itself charges per seat or per API call.
Every call from a persona to Mem0 is logged with the user, persona, prompt, and response. Tokens never leave Definable's secrets vault, scopes are configurable per persona, and you can revoke access at any time from the integration page.
Sign up for Definable, open the integrations page, find Mem0, and connect via OAuth or API key. You can immediately attach Mem0 to any persona and start running workflows. The free Starter plan includes 5,000 credits/month.
Definable exposes all 47 Mem0 actions as callable tools — including `Add member to project`, `Add new memory records`, `Add organization member`, plus 44 more. Each tool gets a typed parameter schema so personas know exactly how to call it.
Wire it up in minutes. No coding required.