WhatsApp and Instagram are the two channels our clients most want and we are most careful about. They are also the two where the gap between “an agent can drive this” and “an agent should drive this” is widest. This is how we bridge it with Grok Bot.

What Grok Bot is, in xAI’s own terms

Grok Bot is not a chat window with tools bolted on. xAI’s documentation describes Bots as “AI teammates you can give real work to” — persistent, named agents that keep memory and state across conversations and work independently across tools.

Crucially for anyone thinking about outreach: “Each Bot runs on a persistent cloud VM with a browser, filesystem, and terminal.” Bots “can use connectors/MCP where available, and computer use for apps and websites without a clean API.” And on the human-in-the-loop question, xAI says Bots “only come back when something needs your approval.”

Read those three sentences together and you can see both the appeal and the risk. An agent with a browser and a persistent machine could, in principle, sit in front of a social account and click things. That is exactly the workflow we will not run for a client.

Why we route it through a scheduler instead

Instagram and WhatsApp accounts are unforgiving. A number or a handle that gets restricted does not come back on a support ticket, and for most of our clients the account is not a marketing asset, it is the business. Any workflow where the pacing depends on an agent behaving itself is a workflow that will eventually go wrong on a bad day.

So we do not give Grok Bot the browser. We give it the outreach tools, and the outreach tools cannot go fast.

Grok Bot connects to WarmySender — the tool we run our clients’ outreach on — as a custom connector. WarmySender’s setup for it: open grok.com/connectors → New Connector → Custom, paste the server address https://warmysender.com/mcp, and use a workspace key as the bearer token. Keys come from Settings → API Keys and start with ws_. Then type @ in a chat to attach WarmySender to that conversation.

The same tools are packaged as a plugin with bundled skills at github.com/fortuneflick/warmysender-claude-plugin, installable in any skills-capable agent with:

npx skills add fortuneflick/warmysender-claude-plugin

WarmySender’s connect-your-agent guide covers the sign-in route for the clients that support one.

The WhatsApp workflow

What the agent can do, per WarmySender’s WhatsApp tooling: “Create a WhatsApp campaign on a connected number and choose the steps and waits”, “Start, pause and resume a campaign, and enroll the people you choose”, and “Report on results and check the health of every connected number.”

What it cannot do is the list we read out loud to clients:

That last one deserves a moment. We have had clients ask for an agent that answers WhatsApp replies. The tools do not allow it, and having sat with that constraint for a while, we would not want them to. A reply on WhatsApp is a person expecting a person. The agent builds the outreach; the conversation is yours.

The Instagram workflow

Instagram works the same way with a different shape of sequence. The agent can “Create a DM campaign and choose the account and the steps — follow, view, like, comment, then message”, “Start, pause and resume a campaign, and enroll people from your lists or by handle”, and “Report on how a campaign is doing and why an account is quiet today.”

It cannot “Send a DM, follow, like or comment itself.” It cannot “Raise the daily or hourly ceiling, shorten a new account’s ramp, or fire actions in a burst.” It cannot connect or disconnect an account, and it cannot read or reply to DMs.

The warm-up sequence — follow, view, like, comment, then message — is the part clients underestimate. It is also the part an impatient operator, human or otherwise, would want to skip. The scheduler does not offer a skip.

A real agency week

Monday, in one Grok Bot conversation with WarmySender attached: check the health of every connected number and handle across four client workspaces. Build a WhatsApp campaign for the client whose new number finished its ramp. Enrol a list of 900 into an Instagram DM sequence knowing full well it will drain over weeks, not days, because the ceiling says so.

Wednesday: “Why is the Instagram account quiet today?” Answer: the daily ceiling was met before lunch. Nothing is broken. That is a ten-second question now.

Friday: pause two campaigns, report on all of them, and read the replies ourselves in the inbox, because that is not the agent’s job.

The one-sentence version we give clients

The agent writes the campaign and hands it to WarmySender’s scheduler, which paces every email, LinkedIn, Instagram and WhatsApp action inside safe limits and a gradual ramp — the same protections that apply when a human clicks the buttons. The agent never sends a message itself and can never raise a limit. Connecting accounts stays in the app, because a credential should never pass through an agent or a chat log.

FAQ

Where does Grok Bot run?

On a persistent cloud machine with a browser, filesystem and terminal, per xAI’s documentation.

Can Grok Bot just use the browser to DM people?

xAI documents computer use for services without a clean API, but that is not how we run client outreach. We attach the outreach tools instead, so pacing is enforced by a scheduler rather than by the agent’s judgement.

Can it reply to a WhatsApp message or an Instagram DM?

No. Replies stay in WarmySender’s inbox, with you.

Can it speed up a new number or a new Instagram account?

No. Ramps and daily, hourly and first-message budgets cannot be raised or shortened by any agent instruction.

Does a big enrolment cause a burst?

No. A large enrolment drains at the account’s safe pace.

Do I need an API key for Grok Bot?

Yes — WarmySender’s published setup for Grok Bot is a custom connector with a workspace key as the bearer token. You can revoke it any time in Settings → API Keys.