Copy link to headingBuild an AI marketing team that ships to Notion, Typefully, and Resend
To build an AI marketing team, deploy a lead agent to route work to specialist agents, give the team a single shared brand context document, and gate every irreversible action behind human approval. Vercel's marketing team template for the eve framework sets this up with one click: a lead plus five specialists that deliver blog drafts in Notion, social posts in Typefully, and email campaigns in Resend.
This guide explains the architecture, setup steps, and guardrails that make it safe for the team to run in production.
Copy link to headingWhat is an AI marketing team?
An AI marketing team is a group of coordinated agents, each with a defined role, that produces marketing work in the tools you already use. Instead of one general-purpose chatbot, you talk to a lead agent in Slack or a terminal. The lead holds the shared picture of your product, writes a brief for the right specialist, and hands back what that specialist produced: a Notion page, a Typefully draft, or a Resend campaign.
The structure mirrors a human team. One member owns positioning, one writes long-form content, one runs social channels, one handles search, and one operates email. Each specialist works from the same brand context document, so the claims remain consistent across all channels.
Copy link to headingWho is on the team?
The template ships one lead and five specialists. The lead routes each request to exactly one of them.
The dependency runs one way. The product marketer writes the brand context, and every other specialist reads it at the start of each task. Because it's the team's only shared state, a single specialist owns it.
Each specialist carries their own skills: 23 in total across the team, from per-platform style guides with banned-words lists to SEO audit checklists and email deliverability rules. A specialist loads a skill only when the task matches its description.
Copy link to headingHow do I set up an AI marketing team?
You need a Vercel account, a Slack workspace where you can install an app, and a Notion workspace. Add a Resend account if you want email, and a Typefully workspace if you want social. Then follow these steps:
Deploy the template. The one-click deploy provisions the Notion, Resend, and Slack connectors, creates a Vercel Blob store for shared state, and prompts for your Typefully API key.
Connect Slack. The deploy flow installs the Slack app and configures its event trigger to point to the route the agent serves. Invite the bot to a channel, then @mention it or DM it to start a thread.
Authorize Notion and Resend. The first time you ask the agent to touch either service, Vercel Connect prompts you to sign in. Access is per user, so a Notion page is created by the real author and a Resend send is attributed to the person who approved it.
Verify a Resend sending domain. Verify a domain and create at least one segment in the Resend dashboard. The agent reads that state and picks from it, but it cannot verify DNS for you. Skip this step if you're not using email.
Write the brand context. On your first request, the lead notices the brand context is empty and routes to the product marketer, which interviews you and writes the document. Every later task builds on it.
Bring it work. Ask for a launch plan, a blog post, a social thread, or an email campaign. The lead briefs the right specialist and hands back a link to the finished draft.
For local development, you need Node.js 24 or newer, pnpm, and the Vercel CLI. Run vercel link, vercel env pull, and pnpm dev to talk to the team in the dev terminal UI.
Copy link to headingWhat keeps an AI marketing team safe?
Autonomy without guardrails is the main risk of agent teams, so the template gates every irreversible action on human approval. The call pauses and renders approve or deny buttons in Slack before it runs. Drafting stays friction-free.
The email connection goes further than gating. Resend's MCP server publishes about 85 tools, including tools for API key creation and domain removal. The template allows only the 47 that make up the campaign, list, and diagnostic surface, so account administration is never reachable, even by a tool the server adds later.
Credentials follow the same principle. Notion, Resend, and Slack authenticate per user via Vercel Connect, while Vercel Blob and AI Gateway authenticate using your project's OIDC token. The Typefully API key is the only static credential in the project.
Copy link to headingHow does work flow through the team?
Every request runs the same loop:
You @mention the bot in Slack with a task.
The lead loads the brand context and your standing preferences.
It routes the request to one specialist with a complete brief, since specialists start fresh with no shared conversation history.
The specialist loads the skill that matches the task, gathers its own evidence with web search, and edits its draft against a written quality rubric.
The deliverable lands where it belongs: Notion for long-form, Typefully for social, Resend for email.
The lead relays the link back to you.
When a request has an order, the lead chains specialists. A newsletter is the common case: the content marketer writes the prose, then the email specialist adapts it for the inbox and builds the campaign in Resend. Long documents move between specialists as artifacts by ID, so a full draft never clogs the Slack thread.
Copy link to headingHow do I customize the team?
There is no registry file. A tool's name is its filename and a specialist's name is its directory name, so you add a capability by adding a file and remove one by deleting it.
Change the voice in
agent/lib/writing-quality/config.ts, which every prose agent shares, or edit the banned-words list inside a single platform's style skill.Remove a channel you don't use by deleting its specialist directory. Nothing references one by name. Keep
product-marketer, since it owns the brand context everything else reads.Add a specialist by adding a directory under
agent/subagents/with anagent.tswhose description tells the lead when to route to it.Add a remote specialist with eve's remote agents, which lets the lead delegate to an agent in its own deployment. This suits work that needs credentials you'd rather keep out of the repo, such as ad platform access.
Swap models in each agent's
agent.ts. Any AI Gateway model ID works, and because the lead routes rather than writes, it's the first place to try a cheaper tier.
Copy link to headingFrequently asked questions
Copy link to headingDo I need to write code to run an AI marketing team?
No. The one-click deploy provisions the connectors, storage, and Slack app, and you interact with the team entirely through Slack. You write TypeScript only when you customize the team, such as adding a specialist or changing an approval gate.
Copy link to headingCan the agents publish or send anything without my approval?
No. Every send in Resend, every delete, and every scheduled or published Typefully post pauses and waits for you to approve or deny it in Slack. Saving drafts never requires approval.
Copy link to headingWhich AI models does the team use?
Every agent routes through the Vercel AI Gateway, which authenticates with your project's OIDC token, so there's no provider API key to manage. You can set a different Gateway model ID per agent.
Copy link to headingDoes an AI marketing team replace human marketers?
No. The team produces drafts and recommendations, and a human reviews everything before it reaches an audience. The approval gates exist because judgment calls, such as what a campaign claims and who receives it, stay with people.
Copy link to headingCan I connect tools other than Notion, Typefully, and Resend?
Yes. Each specialist declares its own connections, and eve supports any MCP server. Add a connection file under a specialist's connections/ directory, or add a remote agent for tools that need their own deployment.