LinkedIn Tools

How to Fix Expandi Messages Not Sending (Pending Invites)

A connector campaign opens with a connection request, and a lead who already has one pending cannot receive a second. So the campaign has nothing it is allowed to do, and it says so in a tab most people never open.

9 min read
How to Fix Expandi Messages Not Sending (Pending Invites)

The campaign is live, the leads are in, and nothing is going out. No invitations, no messages, and the action count stays at zero. The campaign does not report an error, which is the part that makes this hard to diagnose from the outside.

There is one cause behind a large share of these, and it is counter-intuitive enough that people rarely find it: the leads you added already have a pending connection request. A connector campaign starts by sending a connection request, and you cannot send a second one to someone who already has one outstanding. So the campaign has nothing it is allowed to do, and it says so in a tab most people never open.

A campaign with leads that cannot receive the first action in its sequence

Why nothing is going out

Expandi does not treat most of these as errors, because from its point of view nothing went wrong: the first action in the sequence is not permitted for those leads, so it was not attempted. That is why the campaign sits there looking healthy. Five documented situations produce it.

Why an Expandi campaign sends nothing
CauseHow you recognise itWhat to do
Leads already had a pending inviteFailed reason reads Already requestedRemove them, and only add people with no pending request
LinkedIn account not fully syncedNo actions at all, across every campaignFinish adding the account before anything else
Leads on the negative if connected pathNew contacts stall with no follow-up availableMove them to a Messenger or another Builder campaign
Leads manually pausedSome leads idle while others progressCheck the History tab to see who paused them
Leads on hold after repeated failuresAn action failed two or more times for that leadFind them in Troubleshooting and resume

The first row deserves the most attention because it is both the most common and the least intuitive. A connector campaign opens with a connection request. A lead whose status is Connect Requested already has one pending, so a second cannot be sent, and that lead either pauses or fails with the reason Already requested. The same applies to 1st degree connections, who also cannot receive a connection request. Build the audience from 2nd and 3rd degree people with nothing outstanding and this entire class of problem disappears.

The third row is the one that traps people mid-sequence rather than at the start. When a lot of new contacts land on the negative branch of an if connected condition, there is no route for them to receive a follow-up inside that campaign: the sequence has no step for them. Nothing is broken, but nothing will ever happen either, and the fix is to move them to a Messenger or another Builder campaign where a follow-up exists.

The five checks, in order

Cheapest first. The first two take under a minute and settle most cases.

1

Open the Troubleshooting tab

Start here rather than in settings. It works as a checklist over your setup and it reports why individual leads were paused or interrupted, which is the information you actually need. A campaign that looks idle from the dashboard usually has a specific, named reason sitting in this tab.

2

Filter the Message Queue on Failed

Go to the Message Queue page and set the Status filter to Failed. This is where the failure reasons live. If you see Already requested, you have the pending-invite problem and the audience is the thing to fix, not the campaign. Leads failing for that reason can be deleted from the campaign so they stop generating further failed actions.

3

Confirm the LinkedIn account is fully synced

An account that has not finished being added will not perform actions, and the symptom is a complete stop rather than a partial one. If nothing is moving in any campaign rather than in one, check this before you look at any sequence. It is quick to rule out and easy to assume is done.

4

Look at where the leads are in the sequence

If leads entered but stalled, find out which branch they are on. A crowd of new contacts on the negative side of an if connected condition has no follow-up step waiting for them. Transfer those leads to a Messenger campaign or another Builder campaign that has a message for people who never connected.

5

Check for paused and on-hold leads

The History tab shows leads paused by hand, which happens more often than teams remember. Separately, a lead goes on hold when a message or connection request fails twice or more, and those need resuming rather than re-importing. Both appear as leads sitting still while the rest of the campaign behaves normally.

Campaigns that send from the start

Four habits, all cheaper than diagnosing a silent campaign.

  • Filter the audience by connection degree before you import. Only 2nd and 3rd degree people with no pending request can receive a connection request, so building the list that way removes the single most common cause outright.
  • Keep track of who you have already invited. Pending invitations accumulate quietly and they are what turns a fresh-looking audience into a campaign that cannot act.
  • Give every if connected branch somewhere to go. If the negative path has no follow-up step, the leads that land there are stranded by design rather than by accident.
  • Check the Troubleshooting tab on day one, not on day five. Every cause here shows up within hours of launching, and the cost of finding out late is days of a campaign you thought was working.

None of this makes Expandi send more than LinkedIn permits. It removes the gap between a campaign that reports itself as running and a campaign that is actually allowed to act.

If leads are on hold rather than unreachable, that is the adjacent failure and we covered it in how to fix an Expandi campaign stuck in processing. And for the data side of things, see Expandi data sync and CSV export stalls.

Lists that only contain reachable people

The shape of the problem is that the audience and the sequence were designed separately. You built a list, then you built a campaign whose first action only works for some of the people on it, and nothing checked the two against each other before launch.

ReactIn lists are fed by signals rather than assembled, and that changes who ends up in them. People who commented on a post, attended a webinar, visited your profile or booked a call are people with a recent reason to hear from you, which correlates with being reachable rather than already sitting in your pending invitations from three months ago.

The honest limit, and it matters here: LinkedIn's connection rules apply to ReactIn identically. A 1st degree connection still cannot receive a connection request, a pending invitation still blocks another, and daily ceilings are the platform's rather than ours. Nothing about our model changes what LinkedIn permits, only how often you end up pointing a sequence at people it cannot act on.

Where there is a real difference is that the campaign draws from a list that keeps changing rather than from a fixed import, so a stalled batch is not the unit of failure. If a particular person cannot be actioned, the campaign continues with the people who can, instead of a whole import sitting at zero while you work out why.

For a feature-by-feature view of the two, see our ReactIn vs Expandi comparison.

The thread running through all of it is that Expandi is usually not failing, it is declining to do something it is not allowed to do. Find out what it was not allowed to do before you rebuild anything, because rebuilding reproduces the situation exactly.

FAQ

Frequently Asked Questions

Sources & Further Reading

Related Articles