--- title: "Memory integrations for Zapier, n8n and AI frameworks" description: "past.dev memory integrations are live for Zapier, n8n, the Vercel AI SDK, CrewAI, LlamaIndex and Dify. What each one does, with an example." canonical: https://past.dev/blog/memory-integrations date: 2026-10-28 category: Announcements authors: The past.dev team --- # Memory integrations for Zapier, n8n and AI frameworks past.dev now has six integrations: an app on Zapier, a community node for n8n, packages for the Vercel AI SDK, CrewAI and LlamaIndex, and a plugin on the Dify Marketplace. Each one brings the same three operations from the Memory API into a tool you already use. This post covers what each of these memory integrations lets you do, with one example for each. ![The past.dev mark, with Ingest, Recall and Delete data point under it, is joined by lines to six integrations: Zapier, an app on Zapier; n8n, a community node; the Vercel AI SDK, an npm package; CrewAI, a PyPI package; LlamaIndex, two PyPI packages; and Dify, a Marketplace plugin.](/blog/memory-integrations/integrations.svg) ## What every memory integration does The three operations are the same in all six: - **Ingest** saves one piece of text, such as an email, a ticket or a chat message, with the date it happened, the person who wrote it and your own source id. - **Recall** returns the memories that answer a question for one person, ranked, each with its date and the excerpts it came from. - **Delete data point** removes one piece of text by its source id, together with the memory made from it. They also share one rule: your app or your workflow sets the identity, and the model never chooses it. Recall returns only what that identity can read, so a model that could pick the identity could be prompted into reading someone else's memory. In every integration the identity is a setting, a constructor argument or a mapped field, and no tool exposes it to the model. Each one needs a project key from the past.dev console. The [pricing page](/pricing) lists what Ingest and Recall cost. ## Zapier: memory in any Zap The past.dev app is [public on Zapier](https://zapier.com/apps/past-dev/integrations). It adds two actions, Ingest Data Point and Delete Data Point, and one search, Recall Memory. Recall Memory also returns a Context field: the results as plain text, ready to put in the prompt of an AI step. Example: a Zap that answers support email with the customer's history. When an email arrives, a Recall Memory step searches with the email as the query and the sender's address as the identity. An AI step drafts the reply with that step's Context in its prompt. Then an Ingest Data Point step saves the email with its date and its message id, so the next reply to that customer can use it. [Memory for Zapier](/integrations/zapier) has the setup and every field. ## n8n: long-term memory for the AI Agent node `n8n-nodes-pastdotdev` is a [community node on npm](https://www.npmjs.com/package/n8n-nodes-pastdotdev). You install it on a self-hosted n8n instance under Settings › Community Nodes. It has the three operations, and the AI Agent node can use it as a tool. Example: give an AI Agent node memory that lasts between runs. Add the past.dev node under the agent's Tools and choose Recall. Let the model write the query with `$fromAI()`, and set the identity with an expression from the trigger, such as the user id in the webhook body. Add a second past.dev tool with Ingest, so the agent can save what a user tells it and read it back in a later run. n8n's own memory nodes keep chat history per session, so keep them for the flow of one conversation. [Memory for n8n](/integrations/n8n) has the install steps and the identity settings. ## Vercel AI SDK: tools and a recall middleware `@pastdotdev/ai-sdk` is [a package on npm](https://www.npmjs.com/package/@pastdotdev/ai-sdk) for AI SDK 7. `pastTools({ identity })` gives the model `recall` and `ingest` tools. `pastRecallMiddleware({ identity })` wraps a model so that each call starts with the memories that match the last user message. Example: a chat app where the assistant can use what each user said in earlier chats. In your route handler, wrap the model with `wrapLanguageModel` and `pastRecallMiddleware({ identity: user.id })`, where `user` is the signed-in user. Each `streamText` call then gets a short block of that user's memories, and the model needs no tool call to see them. [Memory for the Vercel AI SDK](/integrations/vercel-ai-sdk) covers the tools, the middleware's limits and the client. ## CrewAI: crew memory with dates and sources `crewai-pastdotdev` is [a package on PyPI](https://pypi.org/project/crewai-pastdotdev/). Pass `PastDevMemory(identity=...)` as `memory=` to a Crew, and CrewAI recalls before each task and saves each task's result to past.dev. For an agent that should decide when to look things up, use `PastDevRecallTool` and `PastDevIngestTool`. Example: a crew that writes a weekly report for each customer. With `PastDevMemory` set to the customer's id, the crew recalls earlier reports and the customer's preferences before it writes, and saves this week's report when it's done. If the customer changed their preferred format in March, recall marks the earlier format as replaced. CrewAI's default memory is stored in files in the project folder. With past.dev, a crew on another machine reads the same history. [Memory for CrewAI](/integrations/crewai) has both setups. ## LlamaIndex: a memory block and a tool spec Two packages are on PyPI. `llama-index-memory-pastdotdev` adds `PastDevMemoryBlock` for LlamaIndex's `Memory` class, and `llama-index-tools-pastdotdev` adds `PastDevToolSpec` with `recall` and `ingest` tools. Example: a `FunctionAgent` that keeps a user's history across sessions. Add `PastDevMemoryBlock(identity=current_user.id)` to the agent's `Memory`. Before each answer, the block recalls with the latest user message and puts the results in the system message. When `Memory` flushes old messages, the block saves them to past.dev. A new session with the same identity starts with that history. [Memory for LlamaIndex](/integrations/llamaindex) shows both packages. ## Dify: a plugin for Workflow, Chatflow and Agent apps The past.dev plugin is on the [Dify Marketplace](https://marketplace.dify.ai/plugins/pastdotdev/pastdotdev). It adds Ingest, Recall and Delete data point tools. The identity is a tool setting that only the app builder can change, and it can be the Dify end-user ID, so each person who uses your app gets their own memory. Example: a Chatflow for returning users. Put Recall before the LLM node, with the user's message as the query and the Dify end-user ID as the identity, and insert its text output in the prompt. Put Ingest after the LLM node. Dify's own memory ends with each conversation, and Recall in the next conversation returns what the user said in this one. [Memory for Dify](/integrations/dify) has the setup. ## Get started 1. Sign up and create a project key under **Build › API keys** in the console. The [quickstart](/docs/memory-api/quickstart) shows each step. 2. Open the page for your tool and follow its install steps. 3. Ingest a few data points, then recall as one identity. The six pages: - [Memory for Zapier](/integrations/zapier) - [Memory for n8n](/integrations/n8n) - [Memory for the Vercel AI SDK](/integrations/vercel-ai-sdk) - [Memory for CrewAI](/integrations/crewai) - [Memory for LlamaIndex](/integrations/llamaindex) - [Memory for Dify](/integrations/dify) Every package's source is public under [github.com/pastdotdev](https://github.com/pastdotdev), and the [benchmarks](/benchmarks) show how recall is measured.