AI-Powered Marketing Automation Platform
The client was a marketing automation vendor serving small-business owners who wanted enterprise-grade campaign capability without enterprise headcount. The existing product was technically powerful but required marketing operations expertise to configure — audience segmentation, channel-specific creative variants, and send-time optimization were all manual configuration steps that took a small-business owner two to three days per campaign, by which point the opportunity had passed.
Data & Automation Platforms
Marketing SaaS
12 weeks from kickoff to general availability
4 specialists
The full story
The user problem was that the product had been designed by marketers for marketers, and the target customer was a founder running marketing as a side responsibility. Every screen assumed knowledge the customer did not have. The vendor’s customer success team was effectively building campaigns on behalf of customers, which made the unit economics unsustainable as the customer base grew.
We designed a multi-agent system that decomposed the campaign-building task into specialist agents — a segmentation agent, a creative agent, a channel agent, and an optimization agent — coordinated by a planner that translated a natural-language goal into a structured campaign plan. Each agent could be inspected and overridden, but the default flow ran end-to-end without requiring marketing-ops decisions.
What shipped was a workspace where a founder types a goal — "drive trial signups from the existing email list" — and gets a complete campaign with audience segments, channel-specific creative variants, a send schedule, and an optimization protocol, all ready to launch in under an hour. The agents expose their reasoning so a more sophisticated user can intervene at any step, and the customer success team shifted from building campaigns to coaching strategy.
The product was built for marketing ops but sold to founders, so every campaign took the vendor’s CS team to actually launch.
Audience segmentation required SQL-like logic the typical customer could not author without two-day onboarding support.
Channel-specific creative variants had to be authored separately, with no shared brief or generation surface across channels.
Send-time optimization existed as a setting screen, which most customers left at the default and lost lift on every send.
Customer success was effectively a campaign-building service, which made gross margins worse with every new customer.
Campaigns took two to three days to set up, which missed time-sensitive opportunities like weekend promotions or news cycles.
How we structured the engagement
Decomposed campaign building into specialist agents so a non-marketer could ship in an hour what used to take three days.
- 01Phase 01Weeks 1-2
Discovery
Shadowed three CS reps for a week as they built campaigns alongside customers. Mapped every decision point and tagged it by the level of marketing expertise required. Output: four specialist agent specifications and a planner contract for translating natural-language goals into campaign plans.
- 02Phase 02Weeks 3-4
Architecture
Designed a LangGraph state machine with a planner node that produced a typed campaign plan and four executor agents. Each agent had a defined tool surface and a structured output schema, so the planner could verify the plan was buildable before any agent ran.
- 03Phase 03Weeks 5-10
Build
Shipped the planner first because it gated everything else. Built segmentation, creative, channel, and optimization agents in parallel. Used a typed schema layer over LangGraph so agents could not produce malformed campaign plans even when the underlying LLM hallucinated.
- 04Phase 04Weeks 11-12
Launch
Rolled out to fifty existing customers behind a flag, monitored campaign setup time and CS ticket volume weekly. Shipped the agent inspection panel in week eleven after power users asked to see what each agent was doing.
What we built, component by component
- 01
Goal planner
Translates a natural-language campaign goal into a typed campaign plan with budget, channels, audience criteria, and KPIs.
- 02
Segmentation agent
Builds audience segments from the customer’s existing contact list, with reasoning exposed for inspection and override.
- 03
Creative agent
Produces channel-specific copy and image variants conditioned on the brand voice and the campaign goal.
- 04
Channel agent
Selects channels and schedules sends per channel, balancing budget across email, SMS, and paid social based on historical performance.
- 05
Optimization agent
Configures send-time optimization, A/B test parameters, and the stop conditions for early winners across the campaign.
- 06
Inspection surface
Renders each agent’s reasoning and outputs in a single view so a user can intervene at any step before launch.
A user types a goal, the planner produces a typed campaign plan, and the four executor agents run against that plan in dependency order. Each agent writes its output into the plan and the inspection surface renders the running plan in real time. The user approves or overrides any step before the plan is committed to the underlying campaign engine for execution.
The trade-offs we made and why
Used LangGraph with typed schemas over an ad-hoc chain
Chain-based orchestration hid state and made debugging campaign failures painful. LangGraph with typed schemas at each node meant every transition was inspectable and the planner could validate the campaign was buildable before any agent burned tokens.
Built the planner before any executor agent
A clean plan format made the executor agents trivially parallel and let us swap implementations without touching the orchestration. Starting with executors would have produced a tangle of interdependencies that we would have unwound later anyway.
Exposed agent reasoning instead of hiding it
Power users wanted to know why segments were drawn the way they were. Hiding the reasoning would have forced them to override blindly and trust would erode. Exposing it created an inspection surface that doubled as a teaching tool for less expert users.
Anchored optimization on historical channel performance
The optimization agent could have used industry benchmarks but tenant-specific history was more predictive on small audiences. Each tenant’s prior campaigns became training signal for their own future campaigns, which compounded performance over time.
What changed for the client
setup time
Median campaign setup time dropped from two and a half days to under one hour across the design-partner cohort.
CS tickets
Reduction in campaign-setup support tickets per customer per month after rollout to the existing customer base.
campaign CTR
Average click-through rate improvement on AI-built campaigns versus the pre-rollout baseline of manually configured campaigns.
specialist agents
Segmentation, creative, channel, and optimization agents coordinated by a planner under a single typed plan schema.
“Our customer success team stopped building campaigns and started teaching strategy. The inspection panel is the part that made power users trust the agents.”
The tools behind the system
Built with a deliberate stack chosen for production reliability and operational velocity.
Lessons learned from the build
Typed schemas at every agent boundary were worth the upfront cost. The first time an agent returned a malformed plan and the planner caught it before execution, we got back days of debugging that we would have otherwise lost to production triage.
Inspection was not a power-user feature, it was a trust feature. Customers who never opened the inspection panel still launched more campaigns because they knew they could see what the agents had done. We would surface inspection more prominently in the default view next time.
Tenant-specific optimization history compounded faster than we predicted. After two months, customers who had run six or more campaigns were seeing measurably better performance than new customers, which became a retention argument we did not anticipate.
Similar delivery work usually starts in these service areas
If you are exploring a similar product, workflow, or implementation challenge, these are the service tracks that usually fit best.
Where this project sits in the bigger market picture
Patterns for AI features, internal tooling, and product delivery in SaaS businesses.
Build a result-driven AI product with a team that has shipped before
If you are exploring a similar product, workflow, or AI use case, we can help scope the right architecture, delivery model, and first milestone.
Related case studies worth reviewing next
Have an AI idea, messy workflow, or product vision? Let's make it buildable.
Bring the problem. We'll help shape the product, define the architecture, and show the fastest path to a serious first version.
A practical first roadmap in the discovery call
Architecture, timeline, and delivery options in plain English
Security, scalability, and reliability discussed upfront
Model registry
softus-rag-v4.2
187ms
Latency
128k
Context
$0.004
Cost / req
Evaluation suite
Deploy pipeline
prod / canary 25% — healthy
