Most marketing teams already live in Slack. Conversations happen there, decisions get made there, and a growing pile of recurring questions lands in the same channels every week. At Choco Media, we spent a few months experimenting with a Slack AI agent built specifically for internal marketing work — one that answers questions, surfaces data, and nudges the team without flooding every channel with noise. A well-designed Slack AI agent can replace dozens of back-and-forth messages a day, but a poorly designed one just adds to the chaos. This post covers the specific build we ended up with, what we tried and discarded, and the design principles that kept the bot from becoming the thing everyone mutes.
This is not a generic “AI + Slack” overview. It is a blueprint for a small-to-mid-size marketing team that wants a useful internal agent running in a week or two. You will leave with a clear architecture, the exact triggers we use, a starter system prompt, and a short list of the mistakes we made so you do not have to repeat them.
Before going further: this pairs closely with our broader piece on AI automation for marketing teams: where to start (and where not to), which covers how to choose which workflows to automate first. The Slack agent is one specific application of that framework, not a replacement for it.
Why Slack is the right surface for an internal marketing agent
Slack already has your team’s attention. Adding a capable bot there means zero context-switching — the agent is where the work already happens. Compare this to standalone tools that require someone to open a separate app, remember a URL, or change their workflow entirely. Adoption for Slack-native tools is almost always higher because the friction is lower.
There is a second reason. Marketing teams generate a lot of repetitive questions that are genuinely answerable from existing data: What was last week’s top-performing ad? What is our current budget pacing? What is the approved caption format for Instagram this quarter? These questions interrupt focused work. A well-scoped agent can answer them in seconds without pulling anyone away from something harder.
- The information already exists somewhere — in docs, spreadsheets, dashboards, or past messages
- The questions are predictable enough to handle systematically
- The answers rarely require the full context of a human strategist
The key word is well-scoped. Slack agents fail when they try to do too much. The ones that work are narrow, reliable, and honest about what they do not know.
The architecture we use: four layers
Our Slack AI agent runs on a simple four-layer stack. You do not need a custom ML model or a large engineering team. Off-the-shelf tooling handles most of this.
Layer 1: The trigger surface
The agent listens in specific channels only, not every channel in the workspace. We chose three channels: #marketing-ops (general questions, data lookups), #ads-weekly (paid media status questions), and #content-requests (briefing and copy questions). Outside these channels, the bot is invisible.
Layer 2: The reasoning layer
We use a hosted LLM API (Claude, in our case) with a carefully written system prompt. The system prompt defines the agent’s identity, its knowledge boundaries, and its fallback behaviour. We will share the core of that prompt later in this post.
Layer 3: The knowledge base
The agent has access to a set of documents we curate manually: brand guidelines, approved copy formats, campaign brief templates, monthly reporting summaries, and a short FAQ compiled from recurring questions. We update this once a week. The agent does not hallucinate facts it was not given — its system prompt explicitly instructs it to say “I don’t have that information” rather than guess.
Layer 4: The integration layer
For dynamic data (ad spend, campaign status), we run a lightweight daily script that pulls from our reporting tools and writes a plain-text summary to a file the agent can read. No live API calls in the agent path — this keeps latency low and failure modes simple.
The most reliable agents are the ones with the smallest blast radius when something goes wrong. Narrow the scope first. You can always expand it.
The system prompt that makes it work
Most of the agent’s behaviour is determined by the system prompt, not the underlying model. Here is the core structure we use, paraphrased:
- Identity: “You are the internal marketing assistant. You help the team answer questions about campaigns, briefs, brand guidelines, and reporting data.”
- Tone: “Answer briefly and directly. Do not add unnecessary caveats. If a one-sentence answer is correct, give a one-sentence answer.”
- Knowledge boundary: “You have access to the documents listed below. Do not answer questions outside this scope. If you do not have the information, say: ‘I don’t have that — check [X] or ask [Y].'”
- Formatting: “Use bullet points for lists. Use plain text for short answers. Do not use markdown headers in Slack messages — they do not render correctly.”
- Escalation: “If a question requires a human decision or involves a client deliverable, say so and recommend the appropriate person.”
That last rule is one we added after a few early incidents where the agent was confidently answering strategic questions it had no business touching. The fix was explicit: certain question types always route to a human.
What to automate first (and what to leave alone)
Based on our experience and what we see in client work, there are clear categories of tasks that fit a Slack agent well — and clear ones that do not.
Good fits for a Slack AI agent
- Answering recurring factual questions: brand colours, file naming conventions, approved disclaimers, campaign status
- Generating first drafts of internal documents: weekly status summaries, brief templates, caption drafts in the approved format
- Reminders and nudges: “The content calendar for next week is due today” sent on a schedule
- Quick data lookups: “What was our CTR on Meta last week?” answered from the daily summary file
- Summarising long threads: “Here is what was decided in the last 20 messages in this channel”
Poor fits for a Slack AI agent
- Strategy decisions: channel allocation, creative direction, budget rebalancing
- Client-facing content: anything going to a client should have a human review
- Anything requiring real-time data you do not have a reliable feed for
- Tasks that need nuanced human judgement — campaign post-mortems, difficult feedback conversations
This maps directly to the framework in our post on Custom GPTs for your team: 8 use-cases that actually save hours — the same principle applies here. Automate what is predictable and bounded; keep humans on what requires context and judgment.
The spam problem: how to keep the bot from ruining channels
The most common failure mode for Slack bots is noise. A bot that sends unsolicited messages, responds to every thread, or duplicates information people already have will get muted within a week. Here is how we prevent that.
Mention-only responses
The agent only responds when directly @-mentioned or when a message is posted in a designated thread. It does not scan general conversation. This single rule eliminates the majority of unwanted interruptions.
Scheduled messages, not reactive ones
For reminders and nudges, we use scheduled posts rather than event-driven messages. The agent sends its weekly status summary every Monday at 09:00. It does not react to events mid-week unless someone asks it to.
One response per query
The agent responds once and waits. It does not follow up, add “did that help?”, or send a second message with more detail. If someone wants more, they ask. This removes the conversational chattiness that makes bots annoying.
Channel-specific behaviour
Different channels have different norms. In #marketing-ops, the agent can be fairly verbose. In #ads-weekly, responses are capped at three bullet points. The system prompt has channel-specific instructions embedded.
The build: tools and setup in plain terms
You do not need an engineering background to set this up, but you do need someone comfortable with APIs and basic scripting. Here is what the build looks like end to end.
- Slack App setup: Create a Slack App in your workspace with bot token scopes for reading messages, posting messages, and responding to @-mentions. This takes about 20 minutes in the Slack developer portal.
- Webhook or Socket Mode: We use Socket Mode for simplicity — no public URL needed, and it works well for internal tools without a production server.
- LLM API connection: The Slack event listener calls the LLM API with the user’s message appended to the system prompt. The response is posted back to the same thread.
- Knowledge base as context: The knowledge documents are loaded as text and included in the API call context. For a small knowledge base (under 20 documents), this is straightforward. Larger bases need a retrieval layer — we use simple keyword matching before pulling full documents.
- Daily data summary script: A cron job runs each morning, pulls reporting data, formats it as plain text, and writes it to a file. The agent reads this file when answering data questions.
- Hosting: A basic VPS or serverless function handles the listener. We run ours on a small Hetzner instance — costs under €5/month.
Total build time for a first working version: roughly 8–12 hours for someone comfortable with APIs. A polished production version with proper error handling and channel-specific configuration takes two to three days.
Measuring whether it is actually working
After the first month, we did a simple audit. We looked at three things: how often the agent was mentioned, how often the responses were correct (we spot-checked a random sample), and whether the number of human-to-human interruption messages in the monitored channels had dropped. That last metric is the one that matters.
In our case, we saw roughly 30–40% fewer “quick question” messages routed to specific team members in the monitored channels after four weeks. The agent was handling a meaningful share of the informational load. That is consistent with what we typically see in client work — the impact is real but modest. This is not a transformation; it is a workflow improvement.
- Track @-mention volume week over week
- Spot-check response quality monthly — update the knowledge base when you find gaps
- Survey the team at the 4-week mark: is it useful or annoying? Adjust accordingly
- Watch for “I’ll just ask the bot” becoming a reflex for things the bot should not be answering
That last point is worth watching. When a team starts over-relying on the agent for strategic questions, it is a signal that the system prompt needs tightening, not that the agent should be answering more.
What we would do differently
A few things we got wrong the first time:
- We gave it too many channels at launch. Start with one channel. Prove it there before expanding.
- We did not write the knowledge base before the launch. The agent was live before the documents were properly structured. It gave patchy answers for the first two weeks. Write the knowledge base first.
- We underestimated how much the system prompt matters. The first version was three sentences. The current version is around 400 words. Every edge case you want to handle needs to be explicitly covered.
- We did not set expectations with the team. Some people expected the agent to have context it did not have. A short internal note explaining what the agent can and cannot do prevents a lot of early frustration.
These are not catastrophic mistakes — the agent was useful from week two — but they slowed the rollout down and created some noise about what the tool was for.
The bigger picture: agents as team infrastructure
A Slack AI agent is one component of a broader automation infrastructure that AI-first marketing teams are building right now. It sits alongside automated reporting (see our post on how AI writes your client reports), custom GPTs for specific tasks, and structured workflows for content production. None of these pieces is transformative on its own. Together, they reduce the informational and administrative load that eats into the work that actually requires human thinking.
The teams doing this well are not replacing people — they are redirecting people toward the work that compounds: strategy, relationships, creative judgment. The Slack agent does not do any of those things. It handles the parts that did not need a strategist in the first place.
If you want to talk through whether a Slack AI agent makes sense for your team, or if you would like help designing the system prompt and knowledge base for your specific workflow, get in touch. We build these for clients as part of our AI automation work, and we are happy to share what we know.