Zum Inhalt springen
NeuSo funktioniert es
Fehlerbehebung

Emails keep their paragraph breaks

Generated emails no longer collapse into one dense block of text by the time a prospect opens them in Gmail; paragraph breaks now survive all the way through delivery.

Generated emails were losing their paragraph breaks somewhere between drafting and delivery, turning a normal, readable email into one dense wall of unbroken text by the time it reached a prospect's inbox. That is fixed. Paragraph breaks now survive all the way through to Gmail exactly as they were originally written.

What changed

An AI-written draft would look correctly formatted, with clear and deliberate paragraph breaks, while you reviewed it inside FirstSales. But somewhere between drafting and delivery, that formatting could get lost, and what a prospect actually saw in Gmail was a single unbroken block of text, with no visual separation between ideas, even though the draft you approved had looked perfectly normal.

This kind of formatting failure matters more than it sounds at first. A wall of text is harder to read, easier to skim past, and looks less like it came from a real person and more like a copy-paste job or an automated blast. For a cold email, where you have a few seconds to earn a prospect's attention before they decide whether to keep reading or move on, that difference can be the reason an email gets ignored entirely, regardless of how good the actual writing underneath it was.

It was also a hard problem to catch on your own, because the in-app preview you used to review a draft did not show the same collapse. You had to actually open a sent email in Gmail to notice anything was wrong, which most people were not doing for every send. That gap between what you saw and what a prospect saw is exactly the kind of issue that erodes trust the most, since there was no obvious signal telling you it existed until someone forwarded you a reply, or you happened to check a sent message yourself.

The root of the problem was in how paragraph structure translated into the HTML that actually gets delivered to an inbox. Different email clients render HTML slightly differently, and Gmail in particular has its own quirks around how it interprets line breaks and paragraph tags. A structure that looked fine in a generic preview could still collapse once Gmail applied its own rendering rules on top of it, which is part of why this issue was easy to miss until you tested against Gmail specifically rather than a generic preview.

The underlying issue in how the email's HTML was generated has been corrected, so paragraph breaks are preserved through delivery. What you see when you review a draft is now what a prospect sees when they open it in Gmail: proper paragraphs, not one collapsed block, matching the structure you approved before it went out.

This was tested directly against Gmail rendering rather than against a generic preview, since Gmail is where the problem actually showed up. The fix targets the specific way Gmail interprets the delivered HTML, so the paragraph structure you see when reviewing a draft should now match what actually renders once it lands in a real inbox, not just in the tools used to check it beforehand.

How to use it

If you have sent campaigns recently and noticed replies referencing an email that read as one dense paragraph, or if you have been manually re-checking how your emails render in Gmail as a workaround, you should not need to anymore. New drafts should render with their intended formatting all the way through to a prospect's inbox.

If you want to confirm this yourself, send a test email through a campaign and open it in Gmail directly, rather than relying on the in-app preview, since this issue only showed up at actual delivery and would not have been visible from inside FirstSales.

If you have older sent emails from before this fix that you are still following up on, it is worth checking a few of them in Gmail as a comparison point. Seeing the difference between an older, collapsed send and a newer, properly formatted one is a quick way to confirm the fix is actually working for your account, and it gives you a concrete before-and-after if you ever need to explain to a prospect why a follow-up looks noticeably cleaner than the first email they received.

Why it matters

Formatting is one of the fastest signals a reader uses to decide whether an email is worth their time. A well-structured email with clear paragraphs reads as considered and personal. A dense block reads as spam, even when the words underneath are exactly the same as the version you carefully reviewed and approved. Fixing this closes a gap between what you approved and what a prospect actually experienced, which is exactly the kind of gap that quietly costs replies without ever showing up as an obvious error on your side. There was no error message, no failed send, nothing in your account telling you something had gone wrong. The email simply looked worse than it was meant to by the time it mattered, and that is the kind of silent failure worth catching precisely because nothing about it looks broken from where you are sitting.

Formatting fixes like this one rarely announce themselves, but they show up in aggregate over time, in reply rates that improve for reasons that are hard to pin to any single change. If your replies pick up slightly in the coming weeks, this is one of a few small, structural fixes worth remembering as part of the underlying reason why. It is also a reminder that in email, delivery is not a solved problem you can stop paying attention to once a campaign is set up; it is a chain that has to hold together at every link, right through to the exact client your prospect opens, and this fix is one link in that chain that now holds the way it always should have, from the very first send of a brand new campaign through every follow-up that comes after it.

Availability

This fix applies automatically to every email your campaigns send now, across first-touch messages, follow-ups, and replies, with nothing to turn on and nothing to reconfigure on your side.

Alle Neuigkeiten

Akquise, die weiterläuft, wenn du offline bist.Leads, E-Mails, Follow-ups und Antworten, erledigt.

Verbinde unbegrenzte Postfächer und lass KI-Agenten Leads finden, jede E-Mail schreiben und nachfassen. Oder sende deine eigenen Vorlagen im manuellen Modus. Ab $29/Monat.

$1 für 3 Tage · Jederzeit kündbar · Kein Vertrag

Mit KI installieren

Dein Coding-Agent richtet die FirstSales CLI und Skills für dich ein.

Prompt für Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.