Skip to main content
Back to projects

Multi-agent with Claude

Marketing automation for a chemical distribution business

An internal tool that brings marketing into one place: content planning, writing, publishing, collecting and qualifying leads, handing leads to sales, and a monthly website report.

The problem

Sales inquiries arrive through three channels: Zalo OA, Facebook Messenger and Outlook email. Mixed in with them are plenty of emails from overseas manufacturers trying to sell raw materials. Because the business is a distributor, almost every message mentions chemicals, so keyword filters and fixed rules both missed real customers and let sales pitches through.

At the same time, the marketing team has to plan regularly, write for the website and social channels, and turn Search Console and GA4 data into reports.

The solution

The system takes in messages from Zalo OA, Messenger and Outlook, along with Search Console and GA4 data and the monthly content plan. Claude-powered agents qualify leads, write content and suggest the right sales owner, with a person approving each critical step. The output is a list of qualified leads, hand-off emails to sales, posts on the website, Facebook and Zalo OA, and a monthly report.

The system is a web dashboard (Next.js and SQLite) running on a private server. Each job belongs to an agent with its own role: Writer, Reviewer, Lead Analyst, Reporter, Planner. Recurring jobs such as collecting leads, researching the monthly plan and producing the monthly report run on a schedule.

What Claude does

Lead qualification

Claude reads each 24-hour cluster of messages and sorts it into four groups: price inquiry, consultation, sample request, other. The key distinction is whether the sender is buying or selling, which keyword rules could not make.

Information extraction

Claude pulls out the need, the product of interest and the company name to pre-fill the lead record. Products may only match the 117 real names in the catalog, and the code checks again so an invented product code never gets through.

Sales routing

When a lead is handed to sales, Claude reads the need and product to suggest the right salesperson, with a one-line reason. A person always previews and can edit before anything is sent.

Content writing

The Writer agent uses Claude to draft articles from the monthly plan. The system checks mandatory rules automatically and sends the draft back to the Writer if it breaks one.

Models

Claude Opus 5.5 and Claude Sonnet 5.5. The system calls Claude through Claude Code running in headless command-line mode, authenticated with an Anthropic API key. Each agent's model and reasoning effort are set individually in the settings.

Designed to stay safe when the AI gets it wrong

  • •If Claude fails, the whole batch is skipped and nothing half-finished is written. The next run rescans exactly that time window.
  • •The Lead page shows a warning when the latest classification batch failed or nothing has been classified for 12 hours, so "no leads" is never confused with "the system is down".
  • •Content planning goes through three steps, and each one waits for a person's approval before the next begins.

Results

99%
timely response rate
50%
of Marketing staff time saved

Figures provided by Solomatic and not independently verified.

What the system does today

  • •Collects leads from three channels automatically every 6 hours, instead of someone reading each inbox by hand.
  • •Publishes automatically to three channels: the website (WordPress), Facebook and Zalo OA.
  • •Researches the next content plan and generates the website report on the 2nd of every month, with recommendations per product group.

The company's name is kept confidential. This is an internal tool, so its source code is not public.