FlowRunner
PricingContact
Theme
Start Free

Campaign Cleaner

Email Marketing

Campaign Cleaner sanitizes and analyzes email campaign HTML before it goes out. Agents submit campaigns for cleanup and correction, read the analysis and PDF report, run inbox placement tests, and watch the credit balance.

Verified 9 actions API key available
Campaign Cleaner website Platform Documentation Capability data verified 2026-08-19
A campaign agent finishes assembling next week's newsletter HTML
Send Campaign submits the HTML for sanitizing, correction and analysis
Get Campaign Status polls until processing reports completed
Get Campaign returns the corrected HTML alongside the full analysis
Agent reads the findings for blacklisted links, broken links, oversized images and spam trigger words
Get Campaign PDF Analysis produces a report the campaign owner can actually read
The owner compares the corrected HTML against what they wrote and approves the rewrite before it replaces the draft

What This Integration Enables

Campaign Cleaner does not send anything. It sits between the draft and the send, which makes it the last thing to touch a campaign before an email service provider does. FlowRunner agents submit HTML for sanitizing and correction, poll for completion or take the finished analysis on a webhook, then pull back both the corrected markup and a report covering spam trigger keywords, blacklisted and broken links, oversized images, font and color findings and the preheader. A separate inbox placement test seeds real mailboxes and reports where the campaign actually landed.

That position is also the reason this connector needs a person in it. Campaign Cleaner rewrites visible content, not just the plumbing behind it, and half its transformations are on unless you turn them off. An agent can run the check on every campaign, every time, and route the credit spend and the findings to the right place. The judgment about whether the corrected version still says what the marketer meant is human-in-the-loop work, and this page treats it that way.

Without FlowRunner

Deliverability found out late Blacklisted links and heavy images surface after the send, in the bounce report
Manual HTML hygiene Someone inlines CSS and hunts for spam words by hand, differently every time
Placement is a guess Nobody knows which providers filtered the campaign until replies stop arriving

With FlowRunner

Deliverability found out first Every link is followed and every image measured before the campaign reaches an ESP
Hygiene as a repeatable step The same corrections run on every campaign, with the settings recorded in the flow
Placement measured per provider Seed results report inbox against spam per mailbox provider, with the SPF result and sending IP

Use Case Scenarios

  • A standing pre-send check on every campaign

    A campaign is drafted in Brevo or Klaviyo and the HTML lands with the agent. Send Campaign submits it with the account's agreed settings, Get Campaign Status polls until the run completes, and Get Campaign returns the corrected markup and the analysis. If nothing is flagged, the agent posts the summary to Slack and the campaign moves on. If a link resolves to a blacklisted domain or an image is far heavier than the rest, the agent stops there and puts the finding in front of the owner rather than shipping a campaign it knows has a problem.

  • Inbox placement before a send that matters

    Ahead of a quarterly announcement, the agent calls Create Inbox Test and receives the seed addresses plus the monitoring address that has to be included. It hands the full list to the sending platform, waits, then reads Get Inbox Test Results: inbox, spam, unknown and pending counts, the inbox and spam rates, and a per seed breakdown carrying the provider, the SPF result and the sending IP. A result that stays at Processing is treated as evidence the send missed some seeds rather than as a slow test, so the agent reports that instead of waiting forever. Placement by provider goes into a sheet in Google Sheets so the trend is visible across quarters.

  • Keeping the account tidy without losing work

    On a schedule, List Campaigns returns every saved campaign with its status and submission time. The agent flags anything still stuck in processing, checks Get Credits so the team knows what remains of the balance, and assembles a cleanup list of campaigns old enough to remove. Before anything is removed it calls Get Campaign to capture the corrected HTML into storage, because Delete Campaign cannot be undone and the credit already spent is not returned. The archive happens automatically. The deletion waits for a person to look at the list.

Human-in-Loop Highlight

The corrected HTML is a rewrite, not a cleanup. Inlining CSS and stripping comments are invisible to the reader, but Replace Diacritics is on unless it is turned off, and it strips the accents off letters, which means a campaign written in a language that needs them comes back correctly formatted and misspelled. Font and color adjustments are on by default too. So the agent never lets the corrected version overwrite the draft on its own. It posts the campaign name, the transformations that were active, and the corrected body next to the original, and asks: "Campaign Cleaner rewrote this body with diacritic replacement and font color adjustment enabled. Does this still read the way you wrote it, or should I resubmit with those settings off?" The owner answers in the channel. The agent either promotes the corrected HTML or spends another credit on a second pass. Nothing goes to a list because a sanitizer said the markup was fine.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

9 actions

Campaign Processing

6
  • Send Campaign Submits campaign HTML to be sanitized, corrected and analyzed, and returns the campaign identifier immediately. This is the operation that spends a credit, and the one that starts every workflow on this page.
  • Get Campaign Status Reads whether a submitted campaign has finished. Only a completed status means the corrected HTML and the analysis are available, so this is the polling step unless a webhook URL was supplied.
  • Get Campaign Returns the corrected and inlined HTML plus the full analysis: spam trigger keywords, blacklisted and broken links, oversized images, font and color findings, the preheader and whatever else the enabled settings looked at.
  • List Campaigns Returns every saved campaign with its name, status and submission time. Used to find an identifier or to sweep for anything left stuck in processing.
  • Get Campaign PDF Analysis Downloads the analysis as a PDF into FlowRunner file storage and returns the URL. The same findings as the data, laid out for someone who is not going to read JSON.
  • Delete Campaign Permanently removes a saved campaign from the account. Capture anything worth keeping with Get Campaign first, because this cannot be undone and the credit spent on processing is not returned.

Inbox Placement

2
  • Create Inbox Test Creates an inbox placement test and returns the seed addresses to send the campaign to, along with the monitoring address that has to be included. Needs an active subscription and spends a credit.
  • Get Inbox Test Results Reads where the campaign landed for every seed mailbox: inbox, spam, unknown and pending counts, the inbox and spam rates, and a per seed breakdown carrying the provider, the SPF result and the sending IP.

Account

1
  • Get Credits Returns the credits left on the account. Only Send Campaign and Create Inbox Test consume credits, so a polling loop costs nothing and a budget check is free.

Frequently Asked Questions

What can FlowRunner do with Campaign Cleaner?

FlowRunner agents can run Send Campaign, Get Campaign Status, and Get Campaign in Campaign Cleaner, plus 6 more actions.

Does connecting Campaign Cleaner to FlowRunner require OAuth?

No. Campaign Cleaner connects to FlowRunner with an API key, no OAuth flow required.

Can Campaign Cleaner trigger a FlowRunner workflow automatically?

Campaign Cleaner doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Campaign Cleaner

Free plan, no card required. Connect in minutes.