Skip to content
VercelLogotypeVercelLogotype
LoginSign Up

eve Typefully Agent

Run your social presence from Slack. Drafts for X, LinkedIn, and more via Typefully, schedules on approval, reports analytics weekly.

DeployView Demo

One announcement, five platforms, five different voices. The X thread needs a hook, the LinkedIn version needs room to breathe, and Mastodon punishes anything that smells like marketing. This template deploys a Slack agent that does the adaptation work for you. @mention it with a brief and it drafts platform-native versions into your Typefully queue for X, LinkedIn, Threads, Bluesky, and Mastodon, proposes publish times, and posts your analytics to Slack every Monday. Built on eve, Vercel's agent framework, and running on your Vercel account.

Why is this better than pasting into ChatGPT?

Because a chat window doesn't know your queue, your voice, or your limits. This agent does, in three ways:

It writes for the platform, not at it. Each of the five platforms gets its own style skill: conventions, hook patterns, thread structure, character limits, and a banned-words list. Before proposing any draft, the agent runs it through a deterministic lint tool against the target platform's list, so "game-changer" never reaches your feed no matter what the model felt like writing. The lists are JSON files you edit to match your voice.

It drafts freely but ships carefully. Creating and editing Typefully drafts is the agent's normal mode, no friction. Setting a publish time or deleting anything is different: those actions render as approval buttons in the Slack thread and wait for a human. The agent proposes a schedule; you click yes. Nothing goes live on the model's judgment alone.

It doesn't make things up. The agent reads your actual social sets, accounts, and existing drafts before touching anything, and refuses to invent handles, links, or statistics. When a post needs a fact it doesn't have, it hands the question to a built-in researcher subagent that searches the web in a clean session and returns findings with source URLs, or tells you what it couldn't verify. Final drafts pass a second fresh-context reviewer subagent before the agent proposes them.

What can your team ask it?

  • "Turn the launch brief in Notion into an X thread and a LinkedIn post." It reads the brief, drafts a version per platform in that platform's voice, lints each, and proposes both in the thread.
  • "Schedule the thread for Tuesday 9am ET." It sets publish_at only after you approve.
  • "What should we cut from the queue this week?" It lists your real drafts and reasons about them, because it can read the queue, not guess at it.
  • "Write the long version as a blog draft." Long-form pieces go to Notion as pages, since a page is easier to review than 900 words in a Slack thread.

Preferences stick, too. Tell it "keep threads under 8 posts" or "always draft for the X and LinkedIn set" once and it saves that per user, privately, and applies it in every future session.

What does the Monday digest look like?

Every Monday the agent pulls follower and post analytics from Typefully and posts two tables to a Slack channel you pick: follower counts with changes, and per-post engagement with links to each post. It reports only what the API returns and skips the report rather than fabricating numbers when data is missing. The schedule is one cron file; change the day, time, or report format by editing it.

What do you have to configure?

One secret: your Typefully API key. Everything else is credential-free. Slack and Notion authenticate through Vercel Connect with per-user OAuth, and Vercel Blob and the AI Gateway authenticate with the project's OIDC token. The Deploy button provisions the Slack connector, the Notion connector, and the Blob store, and prompts for the API key. When it finishes, @mention the bot in Slack.

Working with an AI coding agent like Claude Code or Cursor? Point it at the setup guide and let it drive:

I want to build a Slack agent with the eve framework, using the Typefully social media agent template. Read the setup instructions at https://agent-resources.dev/typefully-eve-template.md and follow them.

How do you make it yours?

Everything the agent does is a file, and it picks up edits automatically:

  • agent/instructions.md holds the whole workflow in Markdown.
  • The five *-style skills carry each platform's voice and its banned-words.json. Edit them, or add a skill folder for a platform Typefully adds next.
  • The approval policy lives in agent/connections/typefully.ts. Tighten it, loosen it, or gate new tools.
  • agent/schedules/weekly-analytics.ts controls the digest. In dev, trigger a run with one curl.

Need blog posts, release notes, or newsletters in a house voice too? Deploy the eve Content Agent as its own project and register it as a remote subagent. This agent hands long-form work to it over an OIDC-authenticated call, with no shared secret between deployments.

Learn more

  • eve documentation
  • Typefully
  • Vercel Connect
  • Source on GitHub
GitHub
Ownervercel-labs
Repositorytypefully-eve-template
Use Cases
AI
CMS
Stack
Eve
Database
Vercel Blob
CMS
Notion

Related Templates

eve Sanity Copilot

Give your team a Sanity copilot in Slack. It runs GROQ, edits schemas, manages releases, and asks before it touches production.
eve Sanity Copilot thumbnail

eve Content Agent

Turn your style guide into a Slack agent. Drafts blogs, social posts, release notes, and newsletters in your house voice, lint-enforced.
eve Content Agent thumbnail

eve Marketing Team

Marketing team in Slack: one lead, five specialists. Blog drafts in Notion, posts in Typefully, campaigns in Resend, on approval.
eve Marketing Team thumbnail

Agent Stack

  • AI SDK
  • AI Gateway
  • Sandbox
  • Workflows
  • ConnectNew
  • PassportNew
  • eveNew

Core Platform

  • CI/CD
  • Content Delivery
  • Fluid Compute
  • Observability

Security

  • Platform Security
  • WAF
  • Bot Management
  • Bot ID

Tools

  • Vercel DropNew
  • Vercel Agent
  • Vercel PluginNew
  • Agent Skills
  • Next.js
  • Domains
  • v0

Frameworks

  • eveNew
  • Nuxt
  • SvelteKit
  • Nitro
  • Turborepo
  • Tanstack Start
  • FastAPI
  • xmcp
  • All frameworks

SDKs

  • Vercel SDK
  • Workflow SDKNew
  • Flags SDK
  • Chat SDKNew
  • Queues SDKNew
  • Streamdown

Build

  • AI Apps
  • Web Apps
  • Marketing Sites
  • Platforms
  • Commerce
  • Platform Engineers
  • Design Engineers

Learn

  • Docs
  • Blog
  • Changelog
  • Knowledge Base
  • Academy
  • Articles
  • Community

Explore

  • Customers
  • Marketplace
  • Templates
  • Partner Finder
  • Vercel + AWS

Company

  • About
  • Careers
  • Press
  • Events
  • Startups
  • Shipped on Vercel
  • Open Source Program
  • Enterprise
  • Pricing
  • Help

Legal & Trust

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • DPA
  • Acceptable Use Policy
  • Legal (all documents)
  • Trust Center
  • Status

Social

  • GitHub
  • X
  • LinkedIn
  • YouTube
  • Instagram
  • VercelVercel
Agent Stack
  • AI SDK
  • AI Gateway
  • Sandbox
  • Passport
  • Connect
  • eve
Core Platform
  • Security
  • Content Delivery
  • Fluid Compute
  • Observability
  • Workflows
  • CI/CD
Tools
  • Next.js
  • Vercel Agent
  • Vercel Plugin
  • Domains↗
  • v0↗
Learn
  • Docs
  • About
  • Blog
  • Changelog
  • Knowledge Base
Build
  • AI Apps
  • Web Apps
  • Marketing Sites
  • Platforms
  • Commerce
Explore
  • Customers
  • Marketplace
  • Partner Finder
  • AWS
  • Community↗
EnterprisePricing
Contact
Log InSign Up
Dashboard

Products

Agent Stack

  • AI SDK
  • AI Gateway
  • Sandbox
  • Passport
  • Connect
  • eve

Core Platform

  • Security
  • Content Delivery
  • Fluid Compute
  • Observability
  • Workflows
  • CI/CD

Tools

  • Next.js
  • Vercel Agent
  • Vercel Plugin
  • Domains↗
  • v0↗
Resources

Learn

  • Docs
  • About
  • Blog
  • Changelog
  • Knowledge Base

Build

  • AI Apps
  • Web Apps
  • Marketing Sites
  • Platforms
  • Commerce

Explore

  • Customers
  • Marketplace
  • Partner Finder
  • AWS
  • Community↗
Enterprise
Pricing
Sign UpLog In
Contact
DeployView Demo

Loading status…

Select a display theme: