---
title: "eve Memory Agent"
description: "Build a Slack assistant that remembers personal preferences and channel conventions, with automatic recall and private Blob storage."
url: "https://vercel.com/templates/eve/eve-memory-agent"
links:
  repository: "https://github.com/vercel-labs/eve-memory-agent-template"
  deploy: "https://vercel.com/new/clone?demo-title=eve+Memory+Agent&demo-description=Build+a+Slack+assistant+that+remembers+personal+preferences+and+channel+conventions%2C+with+automatic+recall+and+private+Blob+storage.&project-name=eve-memory-agent&repository-name=eve-memory-agent&repository-url=https%3A%2F%2Fgithub.com%2Fvercel-labs%2Feve-memory-agent-template&connect=%5B%7B%22type%22%3A%22slack%22%2C%22env%22%3A%22SLACK_CONNECTOR%22%2C%22triggers%22%3Atrue%2C%22triggerPath%22%3A%22%2Feve%2Fv1%2Fslack%22%7D%5D&stores=%5B%7B%22type%22%3A%22blob%22%2C%22access%22%3A%22private%22%7D%5D&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5tAtt4xb2mpkO3JwILFvnQ%2F6e7c591e2aa168bb7f45e9fc8ac3116c%2Feve-memory-agent-3x.png"
---

# eve Memory Agent

Build a Slack assistant that remembers personal preferences and channel conventions, with automatic recall and private Blob storage.

# eve Memory Agent

[eve Memory Agent](https://github.com/vercel-labs/eve-memory-agent-template) is a Slack AI agent that saves personal preferences and shared channel conventions separately. A person's preferred response style can follow them across conversations, while a channel keeps its own defaults. Deployed memory persists in private Vercel Blob, and eve recalls the applicable preferences before each response.

## What can you build with this template?

Build a Slack assistant that remembers how people want to work with it. Someone can ask for shorter answers or a preferred language, while a team can state a convention for the whole channel. The agent's instructions reserve channel memory for explicitly shared preferences and give a person's own preferences priority when the two conflict.

The [memory definitions](https://github.com/vercel-labs/eve-memory-agent-template/tree/main/agent/memory/) give personal and channel preferences separate scopes and tools. User memory follows one verified Slack user across channels and direct messages. Channel memory applies to the current shared channel; one-to-one DMs use only user memory.

You can build AI agents by changing what each memory stores, who shares it, and when the agent saves a preference. Response style and model settings are also configurable.

## Why use this template?

Artificial intelligence agents can reuse a person's preferred answer format without making it the default for everyone in a channel. This template connects that distinction to verified Slack identities and separate storage scopes.

When choosing the best AI agent memory design, separate preferences people state in conversation from reference documents the team maintains. The included memory suits short preferences. The optional [Drives customization](https://github.com/vercel-labs/eve-memory-agent-template/blob/main/CUSTOMIZATION.md#give-the-agent-shared-reference-files) adds longer documents, such as runbooks, as read-only snapshots that the agent can search.

## Why use eve on Vercel?

The eve AI agent framework handles recall before each turn and supplies save and remove tools for each memory. Vercel Connect provides the Slack integration, and [private Vercel Blob storage](https://vercel.com/docs/vercel-blob) persists deployed preferences.

The memory scope comes from verified session identity. A name or identifier typed into a message does not choose whose memory to load. In Slack, profile lookups add names and images as conversational context, without including email addresses.

## What should you know before deploying?

The setup flow creates a repository and Vercel project, connects a Slack app, and configures private Blob storage. After deployment, invite the app to a channel and mention it. The [customization guide](https://github.com/vercel-labs/eve-memory-agent-template/blob/main/CUSTOMIZATION.md) explains how to change memory definitions, scope, and behavior or connect an existing project.

Local development uses Node.js 24 and pnpm. Memory stays in the development process, and all local conversations share one user memory and one channel memory. Restarting the server clears both. Local sessions use `just-bash` instead of Vercel Sandbox and skip profile lookups, so verify separate users and channels through the deployed Slack app.

Use `SLACK_IDENTITY_EXCLUDED_USER_IDS` to skip profile lookups for selected accounts. Saving behavior belongs in the agent's instructions; the default template does not add a mandatory approval step for each preference change.

## Frequently asked questions

### What is the difference between user and channel memory?

User memory stores one person's preferences wherever they speak to the Slack agent. Channel memory holds conventions shared by the people in that channel. If they conflict, the template instructs the agent to follow the individual's preference for that person.

### Do I have to ask the agent to recall saved preferences?

No. eve loads relevant saved memory before each response. Both personal and channel preferences are available in shared channels, while a one-to-one DM uses personal memory alone.

### How do I save or remove a preference?

Tell the agent what to remember about you, or ask it to remove a saved preference. State explicitly when a convention should apply to the entire channel. The agent uses the appropriate memory's tools, and its instructions tell it to notify you when it saves or deletes an entry.

### Will local memories survive a development-server restart?

No. Local memory resets when the development server stops, and local conversations use shared development scopes. On Vercel, the connected private Blob store persists the scoped memories. Test identity separation in Slack rather than treating local conversations as different users.

### Can a message select another Slack user's memory?

The template derives scope from authenticated Slack session details, not IDs supplied in message text. Personal memory belongs to the verified user, and shared memory uses the verified workspace and channel. Profile names and images provide context without determining that scope.

## Related resources

- [Choose an eve memory provider](https://vercel.com/kb/guide/choose-an-eve-memory-provider)
- [Memory-agent instructions and saving policy](https://github.com/vercel-labs/eve-memory-agent-template/blob/main/agent/instructions.md)

## Related Templates

### [eve Mem0 Agent](https://vercel.com/templates/eve/eve-mem0-agent)

Build an eve agent with Mem0 memory to save user facts and preferences, recall relevant context, and scope memory by user.

### [eve Marketing Team](https://vercel.com/templates/eve/eve-marketing-team)

Coordinate a marketing lead and five specialist agents in Slack, with Notion drafts, Typefully posts, and Resend email campaigns.

### [eve Software Factory](https://vercel.com/templates/eve/eve-software-factory)

Turn GitHub and Linear issues into reviewed draft pull requests with specialist eve agents and human approval before shipping.

---

## Additional documentation

The [Vercel Knowledge Base](https://vercel.com/kb) contains guides and answers to common questions about Vercel, including deployment, framework configuration, domains, caching, and troubleshooting.
