Synapse Inspect
Synapse Inspect is a message quality analysis pipeline. For email, it detects rendering issues, spam triggers, accessibility violations, and dark-mode problems through a multi-stage pipeline. It also inspects push, in-app, SMS, and WhatsApp templates — each with checks tuned to that channel — before you send a campaign, activate a flow, or (for WhatsApp) submit a template to Meta.
For the full API reference, see Inspect API. This page covers the email pipeline in depth; for the other channels see SMS Quality Checks and WhatsApp Pre-Submission Inspect.
Channels
| Channel | What Inspect checks | Guide |
|---|---|---|
| HTML/CSS/accessibility/size, spam, dark mode, subject & preheader, tracking — up to five stages | This page | |
| Push | NLT rendering, per-platform length, APNs/FCM payload size, deep links | — |
| In-app | Placement key, NLT rendering, payload size, CTA limits | — |
| SMS | Segments & encoding (cost), opt-out language, sender number, NLT rendering | SMS Quality Checks |
| Meta placeholder rules, body limit, category, NLT rendering (pre-submission) | WhatsApp Pre-Submission Inspect |
What It Does
Inspect analyzes your email template HTML through up to five stages:
| Stage | Name | What It Checks | Speed |
|---|---|---|---|
| 1 | Static Analysis | HTML structure, CSS compatibility, accessibility, email size, dark-mode meta tags, spam keywords, subject/preheader, tracking UTMs | < 1s |
| 2 | External Resources | Broken links, image format/size/dimensions, CDN performance | < 10s |
| 3 | Spam Scoring | Aggregate spam score via internal heuristics or external provider | < 5s |
| 4 | Vendor Render | Multi-client rendering screenshots (Gmail, Outlook, Apple Mail, etc.) | < 60s |
| 5 | Visual Diff | Cross-client deviation detection via perceptual hashing | < 10s |
Quick Check (Stages 1--3 only) is free and fast -- suitable for inline editor use on every save. A Full Inspect (all 5 stages) requires plan-tier credits and includes vendor rendering.
Inspect analyzes the complete email, not just the content fragment. Synapse email templates are content-only — they store the body, not a full HTML document with a <!DOCTYPE>, <meta charset>, <title>, or dark-mode metas. Before the document-structure checks run, Inspect wraps a content-only fragment in a minimal complete document (using the subject and preheader you supply), so structural findings like missing DOCTYPE, charset, lang, and color-scheme metas reflect the email that will actually be delivered rather than the bare fragment. This applies to every template origin — the editor, the API, clones, and version restores alike. To have the subject and preheader checks evaluate correctly, pass subject and preheader on the Inspect run; see the Findings Catalog note on content-only templates. The shipped email itself also now carries color-scheme / supported-color-schemes metas so it renders correctly in dark mode.
When to Use It
- Before sending a campaign -- Inspect is integrated into the campaign send flow. If critical findings exist, the send is blocked until you fix them or explicitly override (with audit trail).
- Before activating a flow -- Every email step in a flow is checked for critical findings before the flow can go live.
- During template editing -- Quick Check runs inline to catch issues early. Full Inspect can be triggered from the editor toolbar.
- Via the API -- Programmatic access for CI/CD integration or custom workflows.
Quick Start
1. Trigger an inspect run
2. Check the results
3. Review and act on findings
Each finding includes:
- Code -- A stable identifier (e.g.,
HTML_MISSING_DOCTYPE) that never changes - Severity --
critical(blocks send),warning(should fix),info(advisory) - Category --
html,css,images,links,spam,accessibility,rendering,dark_mode,subject,tracking - Fix text -- Actionable guidance on how to resolve the issue
Severity Levels
| Severity | Meaning | Send Impact |
|---|---|---|
critical | Broken rendering or deliverability risk | Blocks send unless overridden |
warning | Should be fixed but won't break anything | Does not block |
info | Advisory -- best practice recommendation | Does not block |
Pre-Send Blocking
When block_send_on_critical is enabled (the default), Synapse checks inspect results before every campaign send and flow activation:
- No recent inspect (within 7 days for the current template version) -- send is blocked with
block_no_inspect - Open critical findings -- send is blocked with
block_critical - Override -- users with
inspect:writepermission can create a single-use override token with a required reason. The override is audit-logged. - Advisory mode -- workspaces can disable blocking via the config endpoint, making all findings informational only.
Credits
Quick Check is always free. Full Inspect consumes 1 credit per unique template version. Cache hits (re-running the same template without changes) cost 0 credits.
| Plan | Monthly Credits | Overage |
|---|---|---|
| Free | 5 | Blocked on exhaustion |
| Starter | 25 | Blocked on exhaustion |
| Growth | 100 | Allowed (metered billing) |
| Enterprise | Unlimited | N/A |
See Credits & Billing for details.
Auto-Fixers
Some findings include an auto-fix option. When available, Synapse can automatically transform your template HTML to resolve the issue. Currently supported for dark-mode meta tags, CSS color schemes, MSO overrides, and logo dark-mode swaps.
See Auto-Fixers for the full list of auto-fixable codes.
Findings Catalog
Synapse Inspect includes 110+ finding codes across 10 categories. Each code is a stable identifier that will never be reused or renumbered.
See Findings Catalog for the complete reference.