cd /news/ai-tools/eve-content-agent-template · home topics ai-tools article
[ARTICLE · art-32571] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Eve Content Agent Template

Eve released a Slack-based content agent template that lets writers draft blog posts, LinkedIn posts, release notes, and newsletters by @mentioning the bot in Slack. The agent pulls source material from Notion, publishes approved pieces as the signed-in writer, and uses Vercel Connect and OIDC for authentication with no static API keys.

read3 min views3 publishedJun 18, 2026

A Slack-based content assistant built on Eve. Writers @mention it in Slack and it drafts blog posts, LinkedIn posts, release notes, and newsletters in your house voice, pulling source material from Notion and publishing approved pieces back to Notion as the signed-in writer.

Lives in Slack. Answers @mentions and DMs, replies in threads, and renders approvals as buttons.Writes in your voice. One editable style skill per surface (blog, LinkedIn, release notes, newsletter), enforced by a deterministic style-lint tool.Grounded in Notion. Each writer signs in to their own Notion through Vercel Connect, so drafts are created as the real person with their own permissions, with no shared secret.Stores files in Vercel Blob. Export drafts, save images and attachments, and read them back, authenticated by the project's OIDC token.

Deploying with the button provisions everything the agent needs and wires it up for you:

  • a Slack connector (setsSLACK_CONNECTOR

, with the event trigger pointed at/eve/v1/slack

), - a Notion connector (setsNOTION_CONNECTOR

), - a Vercel Blob store for the asset tools.

Once deployed, @mention the bot in your Slack workspace to start drafting.

Layer Technology
Agent framework

Vercel ConnectVercel Blob, authenticated by OIDCVercel AI Gateway(default: Claude Opus 4.8)Vercel SandboxUltracite(Biome)Zero static keys. Authentication runs entirely on Vercel Connect (Slack and Notion) and Vercel OIDC (Vercel Blob and AI Gateway). There are no API keys or client secrets to manage in code or .env

files: Notion is authorized per writer in the browser, and Blob and the model authenticate with the project's OIDC token.

agent/
  agent.ts                  # model configuration
  instructions.md           # the agent's behavior
  channels/slack.ts         # Slack surface (Vercel Connect credentials)
  connections/notion.ts     # Notion workspace, user-scoped OAuth via Vercel Connect
  sandbox.ts                # Vercel Sandbox backend
  tools/
    lint_against_style.ts   # deterministic banned-words check
    upload_asset.ts         # Vercel Blob: store text or binary content
    list_assets.ts          # Vercel Blob: browse stored assets
    get_asset_info.ts       # Vercel Blob: metadata without down
    download_asset.ts       # Vercel Blob: read a stored file back
    delete_asset.ts         # Vercel Blob: delete (requires approval)
  skills/
    blog-style/             # voice, structure, and a canonical example post
    linkedin-style/
    release-notes-style/
    newsletter-style/

Link the project you deployed (or a fresh one) and pull its environment:

vercel link
vercel env pull

Then run the development server and link a model provider with /model

in the TUI:

pnpm dev

You can chat with the agent directly in the dev TUI to test the drafting, style-lint, Notion, and Blob flows. The Slack surface itself only runs against a deployment. Ship changes with:

eve deploy

This project uses Ultracite (a Biome preset) for linting and formatting:

pnpm check   # check formatting and lint rules
pnpm fix     # auto-fix what is fixable

The Deploy button provisions these for you. To set them up manually (for a project you didn't create with the button), use the Vercel CLI:

vercel connect create mcp.notion.com --name notion

vercel connect create slack --name <name> --triggers
vercel connect attach slack/<name> --triggers --trigger-path /eve/v1/slack

vercel blob create-store <name> --access public --yes

Voice: edit the per-surface skills inagent/skills/*/SKILL.md

, and thereferences/banned-words.json

each one lints against. Add a new surface by adding a new skill folder.Behavior: editagent/instructions.md

.Model: editagent/agent.ts

(or run/model

in the dev TUI).Tools: add or change tools inagent/tools/

. The filename is the tool name.

The agent auto-updates as you edit these files.

Eve documentation: the framework powering this agent.Vercel Connect: manages the Slack and Notion credentials.Vercel Blob: object storage for the asset tools.

── more in #ai-tools 4 stories · sorted by recency
── more on @eve 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/eve-content-agent-te…] indexed:0 read:3min 2026-06-18 ·