Debugger
Every send leaves a short trace: request in, template out, Gmail accepted, message sent — plus warnings you can act on.
Where to look
- Dashboard → Debugger — pick a recent send, or paste a JSON body to inspect without sending.
- Templates — Run debugger on a draft before you ship it.
- The
/api/sendresponse includesdebug.issuesso your app can log them too.
Pipeline
Request received
Sendlib accepted the POST.
Template rendered
HTML built from your slug, or skipped for custom html.
Variables resolved
All {{placeholders}} filled from data.
Gmail accepted request
Google queued the message for that from account.
Message sent
Gmail returned a message ID.
What we flag
Missing {{variable}}
Pass it in data or remove it from the template.
Bad email address
to / from / cc / bcc must look like name@domain.com.
Invalid HTML
Unclosed tags can clip the email in some inboxes.
Image has no alt
Add alt so the image is readable without loading.
No unsubscribe URL
Needed for marketing. Ignore for OTP, reset, and receipts.
Broken link
Use a full https:// URL or a {{variable}} that becomes one.
HTML too large
Over 100 KB is slow on mobile. Plans also cap max size.