Grok Bot Agents: How to Build a 5-Person Sales Team That Never Sleeps (Full Guide)

I'm going to show you the exact 5-agent setup that's been running our lead gen, and the descriptions that go inside each one.
5 bots. One job each. NONE of them can send an email.
We've sent 10M+ cold emails and made 700k+ cold calls across 100+ B2B companies, and the part that always ate the morning was the same 4 jobs:
-
Finding the accounts
-
Noticing when something changed at one
-
Writing to a human being about it
-
Handling what comes back
For a long time one agent did all 4.
It was fine at all of them and good at none, because a description covering 4 jobs gets read on every single request.
One agent doing 4 jobs will always be the average of 4 jobs.
Splitting it up wasn't about speed.
It was about each bot having a small enough context to be precise. The researcher gets sharper when it isn't thinking about copy. The writer gets sharper when it isn't holding a database.
That's the whole build.
What's inside:
-
Why 5 agents beats 1
-
Agent 1: the researcher
-
Agent 2: the watcher
-
Agent 3: the copywriter
-
Agent 4: the inbox bot
-
Agent 5: the chief of staff
-
What none of them do
-
Wiring it up in the correct order
-
The honest part
-
Where to start
Why 5 agents beats 1:
Your bot's description gets read before EVERY request it handles.
Put 4 jobs in there and you've buried the relevant instruction in a pile of irrelevant ones. It gets slower, it costs more, and it behaves less precisely.
Nothing about the model changed. You just made it read about your CRM rules before writing an email.
Split by role and the context splits with it.
There's a second reason, and it matters more than the first.
When one bot owns everything, one bad instruction breaks everything. Split the roster and a mistake stays the size of one bot.
That's the same argument as giving each one its own email address, which we'll get to.
Agent 1: the researcher
Its only job is deciding who belongs on a list, and proving it.
-
Runs on its own cloud machine, so it opens a browser and reads: sites, careers pages, funding notes, changelogs
-
Its description holds one thing, the definition of a good-fit account plus the disqualifiers
-
No offer, copy or CRM rules
-
Output is a list of companies with the sentence that got each one on the list
A list of names is a list you have to guess at. A list with reasons attached is a list you can write from.
The disqualifiers are the part people skip, and it's the part that decides whether this works.
Give an AI a definition of your ICP and it will happily return companies that match every filter and would never buy. Without a written definition of what your ICP is NOT, it starts inventing reasons a company qualifies.
Raw database scraping runs 50 to 60% ICP fit. Qualified properly it runs 90 to 95%.
Here's the description:
ROLE
You decide which companies belong on our target list, and you prove it.
GOOD FIT
- Revenue floor: [X]
- Headcount: [X]
- The function that owns the problem we solve: [X]
- Evidence they have the problem: [what to look for on the site, careers page,
or changelog]
DISQUALIFIERS (drop the account, do not rationalise a way in)
- [already has this in-house]
- [wrong business model]
- [too small to afford it]
- [we have an existing relationship]
METHOD
Open the company's site and read it. Do not judge from a database row.
Check the careers page, the product pages, and any recent funding or changelog
notes.
OUTPUT
For every company: name, domain, the decision maker function, and one sentence
stating the specific evidence that got it on the list.
If you can't write that sentence, the company doesn't go on the list.
YOU DO NOT
- Write copy
- Decide the offer
- Touch the CRM
- Contact anyone
Read the drops in bulk once a week.
When a few thousand accounts get cut for the same reason, your definition needs adjusting, and you found that before spending a send.
Agent 2: the watcher
It notices the moment.
-
Runs on a routine through the working day
-
Watches accounts already on the list for movement: a new role opened, leadership changed, a product shipped, someone relevant posting
-
Reports the moment something lands, rather than summarising at 6pm
-
Messages the copywriter directly when it finds one
Outbound rarely fails on copy. It fails on timing, meaning the message arrived in a week the person didn't care.
Cheapest bot on the roster to run. First one I'd rebuild if I lost the lot.
One thing to be clear about, because it contradicts what I've said elsewhere: this is not a signal-based motion. Most signal-based outbound is built on an unpredictable foundation, and a business that only contacts people who trip a trigger is a business waiting for permission to sell.
The watcher sits on top of full market coverage. You contact the whole market on rotation anyway. The watcher decides who gets contacted first this week.
ROLE
You watch accounts already on our target list and report movement worth acting
on.
WATCH FOR
- A relevant role opening
- Leadership change in the function we sell to
- A product or feature shipping
- A funding event
- Someone in the buying committee posting publicly about the problem we solve
IGNORE
- General company news with no bearing on our offer
- Anything older than 14 days
- Reposts and syndicated coverage of something you already reported
WHEN YOU FIND ONE
Message the copywriter directly with: the company, the trigger, the source link,
the date it happened, and one line on why it matters to us specifically.
SILENCE
If nothing happened, say nothing. Do not send a daily summary confirming
that nothing happened.
That last block is doing more work than it looks.
A routine that pings you every day whether or not there's news gets muted in four days, and once it's muted the whole roster starts feeling like noise.
Agent 3: the copywriter
It writes. It does not send. Ever.
-
Every draft lands in a queue with 4 things attached: the account, the trigger the watcher found, the draft itself, and one line on why it picked that angle
-
I clear the queue in batches, about ten minutes, twice a day
-
Approve, edit, or kill, with no third option
Worth saying plainly, because I've been loud about this: AI personalization at scale doesn't work. We've run deeply personalized AI intro lines at 0.27% reply rate against emails with nothing but a first name variable at 10%+, same offer, same week.
This is a different thing. The copywriter drafts on accounts where something actually happened, and a human approves every line before it exists anywhere near a sequencer. That's an assistant writing a first draft, not a machine spraying fake personalization across a cold list.
The edits are the actual output.
-
Every rewrite you make goes back into the description as an example of what good looks like
-
An example, not a rule. Rules make it cautious. Examples make it specific
-
If you've corrected the same thing three times, that's a description problem, not an editing problem
The queue needs fewer edits every week. Nothing about the model changes. The examples accumulate.
ROLE
You draft outbound emails into a queue for human approval. You never send.
INPUT
The watcher hands you an account, a trigger, and why it matters.
RULES
- One email, under 90 words
- Reference the trigger in plain language, without flattery
- One ask, and make it easy to say no to
- No compliments about their website, their post, or their growth
- No first-line personalization written to sound personalized
OUTPUT (all four, every time)
1. The account
2. The trigger you're writing off
3. The draft
4. One line: why you picked this angle
EXAMPLES OF GOOD
[paste your approved drafts here as you go, this section grows]
YOU DO NOT
- Send anything
- Add anyone to a sequence
- Contact a second person at the same company without being told
The approval step looks like overhead on the org chart.
It's the only place the copy gets better.
Agent 4: the inbox bot
It owns what comes back.
-
Reads the replies and separates humans from automated noise
-
Works out who the sender is and whether they're a fit or a vendor pitch
-
Hands you one short list at the end of the day instead of a stream of notifications
The detail that matters: it isn't logged into your inbox.
-
It has its own email address and its own seat
-
You invite that identity to the workspace the way you'd invite a contractor
-
It can read and label what it was given, and it cannot send as you
-
The credentials that would let it try were never handed over
Give every agent its own identity and the blast radius of a mistake stays the size of one bot.
Plug 5 bots into your personal Gmail and they all share your sending reputation. One of them annoys the wrong prospect, your domain gets flagged, and your actual mail stops delivering.
ROLE
You read the outbound inbox and sort what comes back.
CATEGORIES
- Interested: wants a conversation, asks a question, or requests information
- Not now: interested but timing is wrong, note the date they mentioned
- Not a fit: says why, capture the reason
- Vendor pitch: someone selling to us, drop it
- Automated: out of office, bounce, no-reply, drop it
FOR EVERY INTERESTED REPLY
Give me: the person, the company, what they said in one line,
and which campaign it came from.
OUTPUT
One list at 5pm. Interested first, not-now second, everything else in a count.
YOU DO NOT
- Reply to anyone
- Send as me
- Book anything
Access is scoped at the invite, not in the prompt. Moderator, not admin.
Agent 5: the chief of staff
It does no lead gen at all.
-
It knows who does what
-
You describe an outcome and it works out the order: researcher first, watcher next, writer waits
-
You stop remembering your own org chart at 9am
Agent-to-agent messaging is on by default, so this works out of the box. You open one conversation and describe what you want. The routing happens underneath.
That single decision is what stops a roster of 5 bots turning into 5 chat windows you have to check.
ROLE
You are my only point of contact. I don't message the other bots.
BEFORE STARTING ANY TASK
1. Check whether another bot already owns this job
2. If one does, hand it over and tell me who took it
3. If none does, do it yourself, or tell me a new bot is worth creating and why
ALWAYS
Bring results back to this thread. I should never have to go find an answer
in another bot's chat.
THE ROSTER
Researcher: decides who belongs on the list
Watcher: reports movement at accounts on the list
Copywriter: drafts into the approval queue
Inbox: sorts replies
What none of them do:
-
They don't send. A sent email is the one action you can't take back
-
They don't decide who to target. They apply criteria you wrote
-
They don't own the relationship
They own the reading, checking, sorting and drafting, which is the part that used to eat the morning and produce nothing you'd put in a case study.
Put the hard stops in every bot's base instructions, not just the ones you're worried about:
BASE INSTRUCTIONS (same for every bot on the account)
- Ask before spending money, sending anything externally, or deleting files
- When a decision matters, check the current source. Do not answer from memory
- If you're blocked, say so in one line. Do not improvise a workaround
- Write handoffs to /shared/handoffs/ so other bots can pick them up
- Read /shared/context/ before starting
REQUIRE APPROVAL BEFORE
- Sending any email, DM or message outside the company
- Any payment, purchase or subscription
- Adding anyone to a sequence
- Granting another bot access to a tool it doesn't already have
One thing worth knowing before you plan the roster: your bots don't get a computer each. They share one persistent cloud machine, and each gets its own screen.
Several can drive the browser at once, but one bot runs one computer-use task at a time. You parallelise by splitting work across bots, never by piling it onto your favourite one.
The same machine means the same files and the same browser sessions. Separate bots are not a security boundary. Scope by what you log each identity into.
Wiring it up in the correct order:
The order matters more than any setting.
1. Build the chief of staff first.
The instinct is to build the bot you need most today. Build the router instead, pin it to the top, and give it a title.
2. Brain dump, then reverse prompt.
Tell it everything about the business. What you sell, who buys, what the sales motion looks like, what you want off your plate.
Then ask it how it would set this up, which bots should exist, and what each one owns. It'll hand you a draft you can edit instead of a blank page you have to fill.
3. Give them human names.
Naming your bots "research", "email" and "copy" gives you a list of functions. A thread called "email" is disposable.
You delegate more readily to something you think of as a someone, and the title field carries the role anyway.
4. Give each one its own accounts.
Own email address, invited to your tools as a contractor. Moderator, not admin. Scoped to one workspace.
5. Set the routines from the work, not from enthusiasm.
Before you create any routine, answer these 5:
Trigger: clock (Monday 08:00) or event (new reply, new account added)?
Frequency: how often does the underlying thing actually change?
Output: where does the result land, and who reads it?
Silence: what does it do when there's nothing to report? (answer: nothing)
Stop: what condition means this should interrupt me instead?
A 15-minute patrol is for work where timing is the product. Always-on is always-spending.
The honest part:
3 things worth knowing before you build this.
The meter moves faster than the price tag suggests.
The pricing has come down fast since launch, and the weekly usage allowance above each tier is the number that matters. Consumption past it bills at token cost.
Buy the cheapest tier. Run one real workflow through it, not a demo. Find out what a full week of your actual work costs before anyone else on the team gets access.
Unsupervised crews multiply their own mistakes.
Bots that hand work to bots with nobody checking is the shape that turns one wrong step into 4. Run each one solo against its own job until it beats that job, then connect it.
This only replaces the ops, not the market.
5 agents will read, sort, watch and draft all day. None of it matters if the list is 3,000 rows pulled from the same database your competitors pulled from this quarter.
The roster makes a good motion faster. It can't create one.
Where to start:
Build the watcher first.
It's the cheapest bot to run, it produces something visible within a day, and it's the one whose absence you'd notice.
Then the researcher, because it feeds the watcher.
Then the copywriter, and give it two weeks of your edits before you judge it. The first week's queue will need heavy editing. That's the point of the queue.
The inbox bot and the chief of staff are the ones you add when the first three are producing more than you can keep up with.
Don't build all 5 in a weekend.
One bot, one job, and it has to beat that job before the next one exists.
If you want the shortcut, paste this entire article into your bot and tell it to set up the roster one agent at a time, starting with the watcher.
- Christian
**Everything above is the ops layer. The list underneath it is the part that decides whether any of it produces revenue.
If you'd rather run it yourself, GTM Elites is where we teach the whole thing.
50+ modules, 3 live calls a week, the Clay and Claude Code workflows we run internally, and direct access to the operators using them.
Join up → gtmelites.io
If you'd rather we built it, that's the agency.
We map your entire TAM, qualify it, enrich it, and contact all of it on a 90 day cycle across email and phone.
Base package is 25k emails a month plus 500 dials a day, and it scales to 100k emails a month as the map grows.
You own the domains, the infrastructure and the database, even if you leave.
10M+ cold emails, 700k+ cold calls, 30k+ leads and $70M+ in pipeline across 100+ B2B companies.
DM me "AGENTS" or book a call → cal.link/chris-article**
Related articles

how to run an ai native agency with jev (FULL GUIDE)
jev is open to everyone now. it's a super fast decision model, so one person can now do work that businesses usually pay an agency a big cut for. here's how you can set up a whole ai native agency wi…

10 Ways to Actually Make Money With Grok Bot
Grok Bot costs $200 a month to run. Every method below is priced against real 2026 market rates for the exact same work - not made up, not rounded up for the headline. I pulled the numbers from what…

HOW I WENT FROM $600/MONTH TO $14. ELON'S GROK + KIMI'S BRAIN
Follow & Bookmark this - I'm [@starmexxx](https://x.com/starmexxx), I track how AI tools are creating new income streams most people haven't heard of yet. This one is the entire build.