Skip to content
New Project

eve Vercel Drives Starter

An eve agent that reads and saves your team's files on a Vercel Drive.

DeployView Demo

eve goes for a drive.

An eve agent that reads and saves your team's files on a Vercel Drive. Each session gets a read-only snapshot of the Drive to search with shell commands, and the agent can save new notes and documents back to it. Talk to it in Slack or in your terminal.

Getting started

Vercel's project setup flow creates a repository in your Git account and a Vercel project. You'll create and install a Slack app via Vercel Connect, and no environment variables will need to be manually defined.

The upload script and the agent's save_to_drive tool create the Drive the first time they write to it. Sessions can't mount a Drive that has never been written to, so /drive is missing until you upload files or the agent saves one. Once you've deployed the agent, upload some files, add the agent to a Slack channel, and @mention it to start your first conversation.

Tech stack

LayerTechnology
Agent frameworkeve
File storageVercel Drives
Agent workspaceVercel Sandbox
Slack integrationVercel Connect

How it works

A session is one Slack thread, or one chat started with pnpm dev. When a session first uses its sandbox, the sandbox mounts a read-only snapshot of the Drive at /drive. The agent explores the files with shell commands such as ls, find, and grep, and reads them with read_file. The sandbox has no network access, and the template turns off eve's web_fetch and web_search tools so the agent can't send file contents to outside URLs.

To save a file, the save_to_drive tool runs in the app rather than the sandbox. It starts a short-lived sandbox that mounts the Drive read-write, writes the file, and stops. Only one sandbox can mount a Drive read-write at a time, so when another save or upload holds the read-write mount, the tool reports drive_busy and the agent offers to retry. A snapshot reflects the Drive as it was when it was mounted, so a saved file appears in new sessions and might not appear in the session that saved it.

The Drive helpers live in agent/lib/drive.ts, and the session mount in agent/sandbox.ts.

Adding files

Upload a local folder with the upload script. It needs Vercel credentials, so run the local development setup first:

pnpm drive:upload content

This uploads the sample files in content/. Use --prefix to upload into a subfolder of the Drive:

pnpm drive:upload ~/team-docs --prefix docs

Existing files at the same paths are overwritten. See Add your own files for which files the script skips. You can also ask the agent to save files: "Save a summary of this thread to notes/standup.md".

Local development

Use Node.js 24 with pnpm for local development. Install the Vercel CLI, then clone your repository and run:

pnpm install
vercel link
vercel env pull .env.local
pnpm drive:upload content
pnpm dev

When vercel link prompts you, choose your deployed project. vercel env pull downloads that project's environment variables to .env.local, including the token the agent uses to start Vercel Sandboxes and mount your Drive. This means local chats read and save files on the same Drive as your deployed agent. The token expires after 12 hours, so if a command later fails with an OIDC credentials error, run vercel env pull .env.local again.

pnpm drive:upload content copies the sample files in content/ to the Drive and creates the Drive if it doesn't exist yet. The agent can only mount a Drive that has files on it, so upload something before your first chat. To start with your own files instead, pass their folder, as described in Adding files.

pnpm dev opens eve's interactive chat in your terminal. Try "What's in my Drive?" or "Summarize the onboarding checklist".

Before deploying, check your changes and confirm the agent builds:

pnpm validate
pnpm build

Use pnpm fix to apply automatic formatting and lint fixes. When the checks pass, deploy with:

vercel deploy --prod

Customization

CustomizeWhere
The agent's identity and behavioragent/instructions.md
Which Drive the agent usesDRIVE_NAME and DRIVE_REGION, see environment variables
Approval before savingRequire approval before saving
New write tools and scheduled syncsAdd a delete tool and Sync files on a schedule
Slack profile lookupsSLACK_IDENTITY_EXCLUDED_USER_IDS, see Slack identity lookups
Model and session limitsagent/agent.ts

For more information on customizing the agent, see CUSTOMIZATION.md.

GitHub
Ownervercel-labs
Repositoryeve-vercel-drives-starter
Use Cases
Starter
AI
Backend
Stack
eve

Related Templates

eve Contentful Agent

Slack-based Contentful assistant built on eve, with Vercel Drives providing a searchable copy of your content.
eve Contentful Agent thumbnail

eve Memory Agent

eve agent with long-term memory powered by Vercel Blob.
eve Memory Agent thumbnail

eve Data Analyst

Slack-based data analyst built on eve that answers questions about your business from a Postgres database.
eve Data Analyst thumbnail
Deploy
LicenseView License