eve Content Agent Template is an AI agent starter kit from Vercel Labs that converts Slack into a content drafting workspace: writers @mention the bot and it produces blog posts, LinkedIn and X posts, release notes, and newsletters in the team's house voice, grounded in Notion and publishing approved drafts back to Notion as the signed-in writer. Built on the eve agent framework with strict TypeScript (ESM), the template runs entirely on Vercel — using Vercel Connect for Slack and Notion authentication, Vercel Blob for asset storage, Vercel AI Gateway for model access, and Vercel Sandbox for tool execution — with zero static API keys or client secrets in .env files.
What is the eve Content Agent Template?
The eve Content Agent Template is a Slack-based content assistant template built on the eve agent framework by Vercel Labs. It takes an @mention or DM in Slack as input and outputs drafts for blog posts, LinkedIn posts, X posts, release notes, and newsletters, pulling source material from Notion and publishing approved pieces back to Notion under the writer's own identity. The template is open source in the vercel-labs/eve-content-agent-template GitHub repository and is designed to be deployed via a one-click Vercel button.
Key Features
- Slack-native interaction — Answers @mentions and DMs, replies in threads, and renders approvals as buttons, so the entire drafting workflow stays inside Slack.
- Per-surface style skills — Five editable skill folders (
blog-style,linkedin-style,x-style,release-notes-style,newsletter-style) each contain a SKILL.md, best-practices.md, and format/post specs; a deterministiclint_against_style.tstool checks drafts against banned words. - User-scoped Notion integration — Each writer signs into their own Notion through Vercel Connect, so drafts are created with the writer's real permissions and no shared secret; page creation pauses for the writer's approval before it runs.
- Vercel Blob asset tools — Five tools (
upload_asset,list_assets,get_asset_info,download_asset,delete_asset) store and retrieve text or binary content, authenticated by the project's OIDC token with no static keys. - Researcher and reviewer subagents — A researcher subagent has its own session and web-only tools for fresh-context research; a reviewer subagent pulls its rubric via a tool for independent draft review.
- Generated surface enum — Running
pnpm sync:sharedcopies shared house rules into every skill, regenerates theSURFACESenum and the reviewer rubric from the skill folders, and also runs automatically onpnpm devandpnpm build. - Zero static keys — All authentication runs on Vercel Connect (Slack and Notion) and Vercel OIDC (Blob and AI Gateway), so there are no API keys or client secrets to manage in code or
.envfiles.
Who is it for?
Content marketers, developer advocates, and small content teams that already work in Slack and need drafts grounded in Notion without leaving chat. It's also for engineering teams that want an agent whose style rules are code-reviewed: the per-surface skills and shared writing rules live in markdown files and can be version-controlled. Each use case is supported by per-writer Notion OAuth, so individuals get their own permissions and preferences.
What can you do with the eve Content Agent Template?
- Content marketers: draft blog posts and LinkedIn posts by @mentioning the agent in Slack, with source pages pulled from Notion and drafts linted against banned phrases.
- Developer advocates: generate release notes and X posts from technical material, using the researcher subagent for fresh context on web sources.
- Newsletter editors: write newsletter drafts and save attachments like images to Vercel Blob via the upload and download asset tools.
- Team leads: enforce a house voice by editing
shared-references/(the source of truth), then runningpnpm sync:sharedto propagate the rules into every skill and regenerate the reviewer rubric.
What technology does it use?
The template is built on the eve agent framework and written in strict TypeScript with ESM. It runs on Vercel, using Vercel Connect for Slack and Notion credentials, Vercel Blob for asset storage, Vercel AI Gateway for model access, and Vercel Sandbox as the execution backend. The codebase is linted and formatted with Ultracite, a Biome preset, and the project includes a scripts/sync-shared.mjs generator for skill syncing.
How does it work?
Deploying to Vercel with the Deploy button provisions a Slack connector (with an event trigger at /eve/v1/slack), a Notion connector, and a Vercel Blob store, then wires their credentials into the project. Once deployed, writers @mention the bot in Slack; the agent gathers context from Notion, drafts content using the selected surface's style skill, runs the style-lint tool, and sends an approval button. For local development, run vercel link, vercel env pull, and pnpm dev to chat with the agent in the dev TUI (the Slack surface only runs against a deployment), then ship changes with eve deploy.
FAQ
How do I deploy the eve Content Agent Template?
Use the Deploy with Vercel button on the template page. It clones the repository and provisions a Slack connector (with the event trigger pointed at /eve/v1/slack), a Notion connector, and a Vercel Blob store, then sets the environment variables automatically. After deployment, @mention the bot in your Slack workspace to start drafting.
Does this template require API keys?
No. Authentication runs entirely on Vercel Connect for Slack and Notion and Vercel OIDC for Vercel Blob and the AI Gateway. There are no API keys or client secrets to store in code or .env files, and Notion is authorized per writer in the browser.
Can I add a new content surface?
Yes. Add a new <surface>-style skill folder under agent/skills/ and run pnpm sync:shared. The script regenerates the SURFACES enum, the reviewer rubric, and the shared-references sections in each SKILL.md, so there's no separate list to edit.
Does the agent publish directly to LinkedIn or X?
No. The template publishes approved drafts back to Notion as the signed-in writer. LinkedIn and X are output formats for the drafts; the agent itself does not post to social networks.
What is the tech stack?
The template uses the eve agent framework, TypeScript in strict ESM mode, Vercel Connect for Slack and Notion, Vercel Blob for asset storage, Vercel AI Gateway for model access, and Vercel Sandbox for tool execution. Linting and formatting use Ultracite, a Biome preset.








