Sarvaswa AI Labs
All case studies
Marketing AI with humans in the loopRobomarketerUS marketing agencyMulti-channel paid media

An end-to-end AI marketing engine with humans in the loop, built for Robomarketer

Robomarketer, a US-based marketing agency, needed campaign operations that did not bottleneck on manual work. We built a complete marketing engine: it writes social posts, designs ad creatives, builds adsets and campaigns, and runs ROI, CPC, and predictive reporting automatically. Humans stay in control through Slack approve and reject commands, and every decision feeds back into the orchestration layer. Continuous competitor research keeps the briefing data-driven, so the agency scales output without scaling headcount.

E2E

From creative to reporting

HITL

Slack approve/reject gate

24/7

Competitor research running

StackAWSCommercial LLM integrationsCustom orchestration layerSlack HITL workflowPredictive reporting
01

The constraint

Every new client meant more hands, and nothing could go live without a person saying so.

Robomarketer runs multi-channel paid media for its clients. Each account needed posts written, creatives designed, adsets and campaigns built, and performance reported, every week. The work was repeatable, but it was done by people, so the agency's output was capped by the hours its team had.

The brief had two conditions. Output had to scale without hiring in step with it, and a person had to approve anything that reached a client's audience. An engine that published on its own was not acceptable. An engine that stopped for approval on every step would not have saved any time.

02

What we built

One engine from brief to report, with Slack as the approval layer.

We built the whole marketing operation as a single system on AWS. It drafts social posts, designs ad creatives, assembles adsets and campaigns against each client's targets, and runs ROI, CPC and predictive performance reporting without anyone opening a dashboard. Commercial models do the generation; a custom orchestration layer decides what runs, in what order, and when to stop.

Approval lives in Slack, where the team already works. Each proposed post, creative or campaign arrives as a message with approve and reject commands. Approvals go live. Rejections, and the reason given, feed back into the orchestration layer so the next draft is closer. A continuous competitor research loop keeps each client brief grounded in what the market is doing this week rather than what it did last quarter.

  • Post and creative generation against per-client brand rules
  • Adset and campaign construction from targets and budgets
  • ROI, CPC and predictive reporting on a schedule
  • Slack approve and reject commands as the only path to publish
  • Feedback from every decision into the orchestration layer
  • Competitor research running continuously per client
03

What changed

More accounts on the same team, and nothing published that a person did not approve.

The agency now runs creative, campaign build and reporting end to end from one system, and takes on more accounts without hiring in step. Every item that reaches a client audience carries an approval in Slack, so the audit trail is the chat history. Briefs are data-driven because the competitor research never stops.

What the team owns

What was running, and in whose hands, when we stepped back.

  • The orchestration layer and every generation workflow, in Robomarketer's AWS account
  • The Slack app and the approval workflow
  • Reporting pipelines and the predictive models behind them
  • Documentation for adding a client, a channel or a new approval step

Named engagement for Robomarketer

A similar constraint?

Fifteen minutes to talk through what we would build for you.

Bring the problem rather than a spec. We will say what we would build first, roughly what it would take, and whether we are the right team.