LinkedIn Tools

How to Fix Dripify Failed Actions: Duplicate Message and Action Not Allowed

Both errors are guardrails, not bugs. Duplicate message is a 90 percent similarity check against what that lead already received. Action not allowed means a first-degree-only step ran before the invitation was accepted.

8 min read
How to Fix Dripify Failed Actions: Duplicate Message and Action Not Allowed

The campaign is running. Most steps went out. A handful sit there marked Failed, with either Duplicate message or Action not allowed next to them, and no explanation of what you are supposed to do about it.

Both are Dripify refusing to do something on purpose. They are guardrails, not bugs, and each protects your LinkedIn account from a pattern that gets accounts flagged. Once you know exactly what each one checks, they stop being mysterious and become two small changes to your sequence logic.

A campaign dashboard showing failed steps with duplicate message and action not allowed

What each error actually checks

These two failures look alike in the dashboard and have nothing in common underneath. One is about your copy, the other about the relationship. Telling them apart is most of the work.

The two failed-action errors, side by side
ErrorWhat Dripify is checkingWhat to change
Duplicate messageWhether this text is over 90 percent similar to one already sent to this leadVary the copy, or use dynamic variables
Action not allowedWhether the action requires a first-degree connection you do not haveAdd a connection step and gate on acceptance
Both on the same leadAn old campaign already touched them and they never connectedExclude previously contacted leads from the import

The 90 percent threshold is the detail that surprises people. Dripify is not looking for an identical message, it is looking for one that is substantially the same. Swapping a single word or a punctuation mark will not clear it. Two or three meaningful changes will, and a dynamic variable that resolves differently per lead clears it reliably.

Action not allowed has a shorter list of triggers than it appears. Messages and skill endorsements both require a first-degree connection. If your sequence puts either one before an invitation, or before the invitation is accepted, every lead who has not connected yet fails that step. The lead is fine, the sequence order is wrong.

Unblock the sequence now

Handle them separately. Fix the copy for one, the order for the other, then re-run only the failed steps.

1

For Duplicate message: change two or three real words

Open the step and rewrite enough of it to drop below the similarity threshold. Rephrasing the opening line and the ask is usually sufficient. Do not just swap a greeting, because the rest of the body still carries the match. If you are not sure, write the follow-up as though the first message did not exist.

2

For Duplicate message: use dynamic variables

Variables such as first name resolve differently for every lead, which pushes each rendered message apart naturally. This is the durable fix rather than the one-off rewrite, because it keeps working as you add leads instead of needing another edit next month.

3

For Action not allowed: insert a connection step

Add an invitation before the message or endorsement, and let acceptance be what unlocks the next step. Every first-degree-only action needs to sit after that gate. This is a change to the sequence shape rather than to the content, and it fixes every future lead as well as the ones that just failed.

4

For Action not allowed: filter to existing connections

If a campaign is meant to message people directly, filter the import so it only contains leads already in your connections. A campaign that assumes first degree should be given a first-degree list. Mixing both into one sequence is what produces a dashboard half full of failures.

5

Re-run only the failed steps

Once the copy or the order is fixed, re-run the failed steps rather than the whole campaign. Restarting everything risks the duplicate check firing on leads who already received a message successfully, which turns one problem into two.

Design the failures out

Both errors are avoidable at design time, and the same four habits cover them.

  • Rotate message variants. Keep three or four versions of each step and alternate between them so no two leads with overlapping history receive matching text.
  • Branch on connection status. Build the sequence so first-degree-only actions live behind an acceptance condition. Then the sequence structurally cannot ask for something it is not allowed to do.
  • Exclude previously contacted leads. Before importing, remove anyone who appeared in an earlier campaign. Most duplicate failures are old contacts arriving in a new list.
  • Audit history before launch. A quick check for identical messages already sent to the same contacts costs a few minutes and saves a dashboard full of failed steps.

Those four turn both errors from something you troubleshoot into something your sequence cannot produce.

The wider question of how much a single account should be sending across concurrent campaigns is covered in how to balance LinkedIn campaign volume.

Sequences that cannot hit either wall

Look at what the two guardrails have in common and a pattern appears. Duplicate message fires because you are contacting someone you already contacted with nothing new to say. Action not allowed fires because you are trying to talk to a stranger. Both describe a list problem wearing a sequence problem's clothes.

ReactIn's lists come from actions rather than imports. Someone commented on your post, attended your webinar, submitted a form or booked a call. Each of those gives the message a specific reason to exist, which is why the copy differs naturally rather than needing variants rotated to beat a similarity check.

The relationship problem resolves the same way. A lead who just engaged with your content accepts at a far higher rate than a cold third-degree contact, so the connection gate that Action not allowed enforces is one your sequence passes rather than trips over.

The honest limit: if your campaigns work off purchased lists of people who have never heard of you, ReactIn's sourcing model does not describe your motion and the guardrail fixes above are what you need. Dripify's sequencer is good, and none of this is an argument that it is not.

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

Neither error is a malfunction. They are the tool telling you the sequence asked for something it should not have, and the fix is always in the sequence.

FAQ

Frequently Asked Questions

Sources & Further Reading

Related Articles