SendLint - the AI agent for email QA
Hours of email QA, done in minutes. The agent tests every email against your client’s rules and approved assets, then fixes what it finds or tells your developer exactly what to change.
You approved the top layer.
There are nine.
146 checks. One pass.
- Design
- Copy
- Images
- Links
- Brand
- Accessibility
- Metadata
- Code
- Deliverability
The stakes
Email is the only channel you cannot patch.
Miss 01
The wrong rate
It goes to every inbox on the list. There is no hotfix for a sent email.
Miss 02
The missing legal line
In the deck, not in the email. That is a compliance finding, not a typo.
Miss 03
The quietly wrong link
Labelled correctly, pointing at the wrong page. Nobody notices until the numbers are wrong.
The nine layers
One pass. Every layer.
Each layer is a set of checks SendLint runs on every email, every round. Several also run on their own, as email QA tools.
Try it yourself
Five things differ. Find them.
On the left, the email the client approved. On the right, the email that was built. Proofread it the way you would on a deadline.
Twenty seconds. Click anything in the build that does not match what was approved.
The math
The hours nobody budgets for.
One careful pass by hand is about 55 minutes. Then the campaign multiplies it. Set your own numbers.
English and French is 2
launch, reminder, each segment
every fix is another pass
one a week is 52
55 min a pass (copy 15 + links 10 + accessibility 15 + renders 15)
× 2 languages × 2 versions × 2 rounds = 7.3 hrs a campaign
× 52 campaigns a year
381hours a year, proofreading
That is 9.5 working weeks of one person.
ONE SQUARE = ONE WEEK OF THE YEAR
Your numbers will differ. The multiplication will not. A SendLint pass takes minutes.
Rounds
Round 1 finds it. Round 2 proves the fix.
Upload. Check. Fix. Revalidate. Ship. Every finding is tracked round over round, so nobody reads the whole report again.
Round 1 lists what to fix. Each finding quotes the deck line, the email line and the fix.
5open after round 1
- 01
Headline does not match the deck
Copy
- 02
Button sits 12 px lower than approved
Design
- 03
Hero image is cropped
Design
- 04
Hero image has no alt text
Images
- 05
Button lands on the wrong page
Links
Proof
Approved is a certificate, not a feeling.
When a round passes, SendLint mints a certificate bound to the exact file. Go on, break it.
SendLint Approved
Harbourline spring · round 3 · English
SHA-256 on the certificate
a0856daa e931424b 299c761d 24edf122 4908696c e3265c7f fd1d2a5e 82709e7c
SHA-256 of the file as it stands
a0856daa e931424b 299c761d 24edf122 4908696c e3265c7f fd1d2a5e 82709e7c
Anyone can verify
The certificate has a public page. Paste the final HTML or drop the file, no account needed. Open the verify page
API gate and Slack Pro
Wire the gate into your pipeline and a changed byte blocks the send. Approvals and overrides land in Slack as they happen.
Two-party approval Enterprise
One seat requests, a Reviewer approves. An override is allowed, and it is stamped on the certificate.
Who it’s for
Your name is on the send.
Whoever signs off owns the miss. Pick the one that is you.
Every miss comes back to the agency
- The client’s rules kept once, learned from their brand guide, applied to every email after
- A variance log and a developer brief that quote the deck line, the email line and the fix
- A signed-off round the client can verify, instead of taking your word for it
- Every version and language of a campaign checked in one batch, each against its own deck copy
Why it matters
A wrong rate or a missing disclosure in one version of a campaign is a remediation send, a client call and a question about the account. Checking by hand gets slower with every version and language the client adds; the misses don’t. SendLint checks every version against the deck and the creative the client approved, and gives you the evidence to show for it.
Every version, every language, one pair of eyes
- The catches a tired eye misses: a changed rate, a dropped ®, a missing line, a link to the wrong page
- Every finding with the deck line and the email line quoted, and the fix named
- Round two shows what moved: fixed, still open, back again. Not the whole report again.
- The variance log written for you, as Word or copied into yours
Why it matters
Line-by-line checking is exact until the versions pile up. SendLint reads every deck line against the email and every email line against the deck, quotes both sides on every finding, and tracks each finding round over round, so after a fix you re-check what moved, not the whole email.
Prove what was checked, not just what was sent
- Legal lines, footnotes, trademarks, dates and rates checked against the approved deck, in every language
- Every report and every round kept, with each check that ran and the evidence behind each finding
- A compliance PDF of every approval, override and waiver, with who, when and the reason given
- A certificate bound to the final HTML’s SHA-256, revoked if the round reopens
Why it matters
Regulators and internal audit don’t take “we reviewed it.” SendLint keeps the record: every check that ran, every finding and its evidence, every waiver with who made it, when and the reason given, and a certificate bound to the exact HTML that went out. Reopen the round and the certificate is revoked.
Works with
Nothing changes in your sending setup.
SendLint reads the HTML or the .eml you would send, and the files the client already approved. The results land where the team already works.
- Email platformsSalesforce Marketing Cloud
- Email platformsBraze
- Email platformsKlaviyo
- Email platformsHubSpot
- Email platformsMailchimp
- Email platformsAny ESP, as HTML or .eml
- Copy decksWord
- Copy decksPages
- Copy decksPDF
- Copy decksDesigned PDF
- Approved creativePDF
- Approved creativePNG
- Approved creativeJPG
- Approved creativeXD
- ResultsPDF report
- ResultsWord hand-off
- ResultsClient portal link
- ResultsCertificate page
- ResultsSlack
- ResultsREST API
Where this goes
You can fix a landing page after launch. You cannot unsend two million emails.
Every marketing asset ships the same way: someone opens a checklist and eyeballs it. SendLint replaces that step with an agent that reads the source of truth and flags everything that drifted. Email is the wedge.
Pricing
Simple pricing. Serious QA.
Pro is the plan agencies run on. Team covers two clients and thirty emails a month. Reviewer seats are free on every plan.
Team
For one brand or a small agency
or $249/mo billed yearly
- 100+ checks on every emailcopy against the deck, links, accessibility, images, metadata, spam and brand rules
- The build compared to the approved creative, block by block
- WCAG 2.1 AA accessibility audit
- 36 languages, right-to-left included
All 10 in Team
- Unlimited rounds that track every fix until it's closed
- Ask the AI Agentwhat to fix first, what changed since the last round, what's blocking sign-off, answered from the campaign's own findings and checked line by line
- Developer hand-offvariance log and round-over-round diffs, ready to export
- PDF reports to share with the client
- SendLint Approved certificates anyone can verify
- Unlimited free Reviewer seats
Pro
recommendedFor agencies shipping campaigns every week
or $799/mo billed yearly
Everything in Team, plus:
- AI Code Revision (beta)the AI Agent rewrites the HTML, and SendLint re-checks every fix before you see it
- AI second reviewera second pass that catches what rules can't
- AI brand voicecopy scored against how the brand actually writes
- AI visual reviewthe creative read by eye, not only by pixels
All 9 in Pro
- Real desktop Outlook renders, not simulations
- Batch runsevery version and language of a campaign at once
- API access and a pre-send gateblock any send that wasn't approved
- Slack alerts and client portals
- Unlimited reports
Enterprise
For regulated programs and large agencies
Priced to your team
Everything in Pro, plus:
- Single sign-on (SAML)Okta, Microsoft Entra ID or Google Workspace, with SSO required for your domain
- Two-party approval for compliance-strict clients
- Security review, DPA and audit log export
- Invoicing, purchase orders and volume licensing
All 6 in Enterprise
- Onboarding, with rule packs set up per client
- Priority support
Built by QA analysts tired of checking emails by hand.
Every check exists because we’ve watched one slip through and cause a real issue in production.
Questions
Questions, answered.
Why is it called SendLint?
Lint, as in a linter. A code linter reads the source and lists what is wrong, line by line, before anyone trusts it. SendLint is a linter for marketing email: it reads the HTML, the copy deck and the approved design, then lists every line of copy that drifted, every link that lands on the wrong page or carries the wrong tracking code, and every accessibility or rendering fault. When a round is clean, it signs off.
What does SendLint check?
Copy against the deck in every language the campaign ships in, including the words that only exist inside the pictures. Links and tracking parameters, followed through the tracker to where they land. WCAG accessibility, Outlook rendering, spam signals and your own brand rules. Then the built email against the approved creative, block by block.
How is SendLint different from a rendering preview tool?
Preview tools show you how an email looks in each inbox. SendLint checks whether what you built is what the client approved: the deck, the links, the design and the accessibility rules. Then it hands each defect to the person who fixes it. Teams use both.
Which languages does SendLint read?
Any language the campaign ships in. The deck is read per language, right-to-left layouts included, and the AI Agent reads the words that only exist inside the pictures. Each language gets its own report and its own sign-off.
Does SendLint work with my ESP?
SendLint takes the HTML or the .eml you would send from any ESP, so nothing changes in your sending setup. Teams that automate their builds use the REST API and get the same reports in Slack.
What is a SendLint certificate?
When a round passes, SendLint mints a certificate for that email and that language, with a public page anyone can open to verify it against the exact HTML that was approved. It is the sign-off you hand to the client, and it stops meaning approved the moment the file changes.