Why some LinkedIn prospects stopped getting follow-up messages after accepting your invitation
When your follow-up message has a typo in a personalization placeholder, or references a piece of data that's missing for some prospects, WarmySender pauses those prospects instead of sending a broken message. Fix the template and the paused prospects resume automatically.
What you're seeing
Short answer: your LinkedIn campaign is running, your invitations are being sent, people are accepting them — but your follow-up messages aren't arriving for some of those prospects. This is almost always a problem with the personalization placeholders in your follow-up step, not with the prospects themselves or with their acceptance.
The typical fingerprint is: a portion of your accepted prospects move forward and receive your follow-up message, while another portion sit at the same step with their acceptance recorded but no follow-up sent. Sometimes it's a handful of prospects; sometimes it's most of them. Either way, the prospects are not lost, the invitations are not affected, and the campaign is not broken.
WarmySender is a 4-pillar outreach platform — Cold Emailing, Email Warmup, LinkedIn Outreach, and Multichannel sequences. This page covers the LinkedIn Outreach pillar, but the same template-personalization logic applies on every channel — the fix you make here will resume paused prospects on cold email follow-ups too.
Why this happens
Your follow-up messages use placeholders like {{firstName}} or {{companyName}} to personalize each message — one template, many prospects, each one receiving a version that reads as if it was written for them. Sometimes there's a problem with these placeholders: a missing bracket, a typo in the variable name, or a custom variable that hasn't been filled in for some of your prospects.
When that happens, WarmySender pauses the affected prospects rather than sending a broken message. We do not send "Hi {{firstName}}," — that's the kind of mistake that ends up in screenshots on social media. We also do not silently send "Hi ," with the variable blank — that's not personalized, it's just impolite. Instead we pause the prospects on that step and surface a banner in your campaign so you can fix the template once and resume every paused prospect at the same time.
There are two common shapes of this problem:
- A template typo affects everyone. If you wrote
{{firstName}with one closing bracket instead of two, every prospect on that step is paused — because the typo prevents the message from rendering for any of them. Symptom: nobody on this step has received a follow-up. - A missing-on-some-prospects variable affects a subset. If you wrote
{{custom.video_url}}and only half of your imported prospects have avideo_urlfield filled in, only the half without the field are paused. The other half receive their personalized message normally. Symptom: some prospects on this step got their follow-up, others did not.
How do I fix it?
Short answer: open the campaign, click the amber banner that says some prospects are paused, fix the typo or the missing variable in your step's message, and save. Paused prospects resume automatically — you do not need to click Resume or manually re-enroll anyone.
Step-by-step:
- Open your LinkedIn campaign. Go to the LinkedIn campaigns list and click into the campaign that has stopped sending follow-ups.
- Look for the amber warning banner at the top. If any of your prospects are paused for a template problem, you'll see a soft amber notice at the top of the campaign page that reads something like "N prospects are waiting for the message template to be fixed." The banner includes a Fix step → button.
- Click "Fix step →" to open the step with the problem. This jumps you directly to the editor for the step that needs your attention, with the problem field highlighted.
- Check your message text for typos in variable placeholders. Every
{{needs a matching}}. A common typo is missing one of the brackets, like{{firstName}with one closing bracket instead of two. Another is a space inside the brackets, like{{ first name }}instead of{{firstName}}. - Make sure any custom variables you use are filled in for all your prospects. If you use
{{custom.video_url}}, either every prospect in your audience needs a value in thevideo_urlcolumn, or you need to add a default value with the fallback syntax described below. - Save the step. The save button validates your message text — if anything's still wrong, WarmySender tells you exactly what to fix before the save completes. The instant your save succeeds, every paused prospect on this campaign is automatically queued back into the normal sending flow. You don't have to click Resume.
The first follow-ups for the previously paused prospects typically start landing within a few minutes, respecting your sending window, your daily limits, and your account ramp — same as any normal send.
What are the common template mistakes?
Short answer: the three most common are a missing bracket, a space or capitalization difference inside the brackets, and referencing a custom variable that doesn't exist on every prospect. All three are quick to fix in the step editor.
{{firstName}(missing one closing bracket) — should be{{firstName}}. Every opening{{needs a matching closing}}.{{ first name }}(extra spaces and the wrong capitalization style) — should be{{firstName}}. Variable names are typed without spaces. The picker uses the snake_case or camelCase form depending on the variable.{{custom.video_url}}(a custom variable that isn't present on every prospect) — either fill thevideo_urlfield in your prospect list for every prospect, or use a default value to handle the missing case. The fallback syntax is{{custom.video_url | default: ""}}if you want the placeholder to render as nothing when the field is missing, or{{custom.video_url | default: "our short demo"}}if you want a sensible substitute string instead.
A few less common mistakes that show up in real campaigns:
{firstName}(only one opening bracket and one closing bracket) — should be{{firstName}}. Single brackets are not personalization placeholders; they appear in the message as literal text.{{firstName | default 'there'}}(missing the colon before the fallback value) — should be{{firstName | default: 'there'}}. The colon betweendefaultand the quoted fallback string is required.{{ first_name}}(a stray space right after the opening brackets) — usually fine on its own, but combined with other typos it can confuse the editor. We recommend no spaces inside the brackets unless you're using the fallback syntax.
If you're unsure whether your message text is valid, click Preview in the step editor. The preview pane renders your message with a real prospect's data substituted in, so you'll spot empty spots, literal token text, or formatting glitches before you save.
Which built-in variables can I always use?
Short answer: WarmySender ships with a set of built-in personalization variables that are always available on every prospect — names, company, job title, email, and the LinkedIn profile URL. You can use these in any follow-up message without importing anything extra.
The built-in variables you can use in any LinkedIn follow-up:
{{firstName}}— the prospect's first name.{{lastName}}— the prospect's last name.{{fullName}}— the prospect's full name (first plus last).{{companyName}}— the prospect's company.{{jobTitle}}— the prospect's job title.{{email}}— the prospect's email address (when known).{{linkedinUrl}}— the prospect's LinkedIn profile URL.
Variable names are case-flexible — {{firstName}} and {{first_name}} both work and resolve to the same value. Pick whichever style your team prefers, and stick with it for consistency. The Insert Variable button in the step editor inserts the canonical form so you do not have to remember the exact spelling.
How do custom variables work?
Short answer: any extra column you add to your prospect CSV becomes a custom variable you can use in messages with the {{custom.<column-name>}} syntax. WarmySender now warns you at save time if you reference a custom variable that isn't filled in on any prospect in your audience.
If you import a CSV with a column called video_url, you can use {{custom.video_url}} in your follow-up message and each prospect receives their own value substituted in. If you import a column called shared_connection, you can use {{custom.shared_connection}}. Whatever column you import, however you spell it, you can reference it as a custom variable. The token name matches the column name, normalized to lowercase with underscores.
The platform now warns you at the moment you save a step if your message text references a {{custom.<name>}} variable that nobody in your audience has a value for. This catches the most common cause of paused prospects: typing {{custom.video_url}} when your CSV's column is actually {{custom.videoUrl}} or {{custom.videolink}}. The save dialog tells you which variable name doesn't match any column in your prospect list, so you can fix the name or update the column on the spot.
If your custom variable is only present on some prospects and you want the others to get a sensible substitute, use the default fallback syntax — for example {{custom.video_url | default: "our short demo"}} will substitute the words "our short demo" for any prospect whose video_url field is blank. You can also use an empty default with {{custom.video_url | default: ""}} if you want the placeholder to render as nothing for prospects without the field. The Insert Variable button guide covers fallbacks in more depth with worked examples.
What does WarmySender do for you now?
Short answer: we check your message at save time, we tell you exactly what's wrong before the save lands, and we automatically resume paused prospects the moment a clean save goes through. You don't have to babysit the campaign or click Resume.
- At save time, we check your message for typos and missing variables. If you write
{{firstName}with a bracket missing, the save dialog flags it before it lands. If you reference a custom variable that isn't defined on any prospect in your audience, the save dialog tells you exactly which variable name doesn't match and lists the column names that DO exist. - If you find out about the problem after you already shipped the campaign, fixing the template auto-resumes paused prospects. The instant your save succeeds, every prospect that was paused for this campaign's template problem is queued back into the normal sending flow. The first follow-ups typically start landing within a few minutes, respecting your sending window and daily limits.
- You'll see a banner at the top of your campaign while prospects are paused. The amber banner shows the count of paused prospects and includes a Fix step → button that jumps you straight to the affected step in the editor. As soon as the count clears, the banner disappears.
- No prospects are lost. Paused prospects sit in a recoverable state with the reason recorded. They are not consuming your daily limits, they are not affecting your sender reputation, and they are not eating ramp budget. They simply wait for the template to be fixed.
- The pause is purely on our side. No LinkedIn API calls are made on failed attempts — the message-text check runs before we ever reach out to LinkedIn — so there's no rate-limit cost to fixing and retrying, and your LinkedIn account does not see any failed-send signal.
Common questions
How do I fix paused prospects?
Open the campaign, click the amber banner at the top, fix the typo or missing variable in the step it points you to, and save. Paused prospects resume automatically the moment the save succeeds — no manual Resume click is needed. The first follow-ups typically start landing within a few minutes, respecting your sending window and daily limits.
What is a template variable?
A template variable (sometimes called a merge tag or placeholder) is a token like {{firstName}} that you put in your message text. At send time, WarmySender swaps the token for the prospect's real data — so the message your prospect receives reads "Hi Marie," not "Hi {{firstName}},". You write the message once and every prospect on your list gets a version that reads as if it was written for them.
Why did my prospects stop receiving follow-ups?
Almost always because of a typo in a personalization placeholder, or because a custom variable you referenced is missing for some prospects in your audience. WarmySender pauses the affected prospects rather than send a broken message. Fix the template in the step editor, save, and the paused prospects resume automatically.
Are my paused prospects lost? Do I need to re-import them?
No. Paused prospects sit in a recoverable state with the reason for the pause recorded. Your invitations are not affected, your acceptances are intact, your campaign is not broken, and no data is lost. The moment you fix the template and save, every paused prospect is automatically queued back into the normal sending flow.
Will the pause affect my LinkedIn account safety or my sender reputation?
No. The pause is purely on WarmySender's side. No LinkedIn API calls are made on the failed attempts — the message-text check runs before we ever reach out to LinkedIn — so your LinkedIn account does not see any failed-send signal and there's no rate-limit or reputation cost to the pause. When you fix the template and the prospects resume, every send goes through the normal account-safety gates: per-account daily limits, weekly limits, ramp ceiling, and sending window.
What if I don't see the amber banner but follow-ups still aren't arriving?
If you're certain prospects accepted but the follow-up never landed and there's no template banner on your campaign, the cause is something other than a template problem. Common alternatives: the prospect's acceptance is still being recorded (typically lands within a few minutes), the campaign is paused for a different reason (look for a paused status pill), your LinkedIn account session needs to be reconnected (look for the reconnect banner — see Why does my LinkedIn campaign say "Unresolvable URL"?), or you've hit your daily limit (the follow-up is deferred to the next sending window). Contact [email protected] with the campaign name and an affected prospect URL if you can't tell which.
My template looks correct but the banner still says prospects are paused. What's going on?
Hard-refresh the campaign page once — the count caches briefly. If the banner persists, the most likely cause is a custom variable that's missing for some prospects but present for others. Open the step in the editor, click Preview, and step through a few prospects in your audience using the preview's prospect selector. If a custom variable shows up as blank for some prospects, either fill that field on the affected prospects (you can update individual prospects from the prospect detail page, or re-import the CSV with the column populated and choose "Update existing prospects") or add a default fallback to the variable so the missing case renders sensibly.
Will fixing the template re-send any messages to prospects who already received their follow-up?
No. The auto-resume only touches prospects that were paused by the template problem. Prospects that already received their follow-up are not re-sent. The platform tracks per-prospect per-step send history exactly so duplicates can't happen — fixing the template only unblocks the paused subset.
People also ask
Common adjacent questions about paused prospects and template fixes that come up alongside this guide.
Where do I see which prospects are paused?
On the campaign detail page, the amber banner at the top includes the count. Clicking through to the step in the editor and looking at the prospect list filtered to "waiting for template fix" shows you the specific prospects. The list is read-only — you don't need to do anything per-prospect; fixing the template resumes all of them at once.
Does this same problem affect cold email follow-ups?
Yes, the same template-personalization logic runs on every channel WarmySender supports. If a cold email step's body or subject line has a typo in a variable, or references a missing custom variable, the affected prospects are paused on that step in the same way. The fix is identical — open the step, fix the variable, save, and the prospects auto-resume.
Can I prevent this from happening in the first place?
Yes — use the Preview pane in the step editor before launching. It renders your message with a real prospect's data substituted in. If any variables show up as blank or as the literal token text, that's your cue to fix the typo or add a default fallback. The launch-time validator and save-time check are the second and third safety nets; the Preview pane is the first.
How long do paused prospects wait before they retry?
There is no time-based retry — paused prospects wait for you to fix the template. Once you save a clean template, every paused prospect on the campaign is queued back into the normal sending flow within seconds, and the first follow-ups typically start landing within a few minutes, respecting your sending window and daily limits.
Does the pause count against my account's daily or weekly sending limit?
No. The pause does not consume your daily or weekly LinkedIn limits, because no LinkedIn API call is made for a paused prospect — the message-text check runs before any provider call. Your account's ramp progress is not affected, and your sending budget is not eaten by paused prospects.
Will resumed prospects all send at once after I fix the template?
No. Resumed prospects are released back into the normal sending flow, which respects your campaign's sending window, your account's daily and weekly LinkedIn limits, your ramp ceiling, and the per-recipient cooldown. There is no burst — sends roll back to your usual cadence over the next sending window.
Still stuck after fixing the template? Email [email protected] with the campaign name and one prospect that hasn't resumed, and we'll take a look right away.