Everyone asks me whether the AI makes things up. That is the wrong worry. Across the thousands of LinkedIn messages the AI inside Linkdify has written, I have rarely caught it inventing a fact. What I have caught, over and over, are messages that were completely accurate and still made the sender look like a bot.
The real failure mode of AI outreach is being technically correct in a way no human would ever be. Here are the five versions of that I have had to engineer out, and what each one taught me.
1. It complimented a post from 2020
The classic. The AI finds the lead's recent activity, picks the most relevant post, and writes a warm line about it. Except the most relevant post was six years old. The lead has changed jobs twice since. Nobody references a six-year-old post unless they are a stalker or a script.
The fix was embarrassingly simple: a hard recency cutoff. If the newest post is older than about two months, the AI does not mention activity at all. It writes a plain message instead. A boring message beats a creepy one every time. The deeper lesson is that relevant and current are different filters. The model will happily optimize for the first while ignoring the second unless you force it.
2. It pitched them on their old company
LinkedIn profiles list every employer. A model reading the whole profile sees three companies and picks the one that fits your ICP best. Sometimes that is the one they left in 2023. The message reads perfectly, and the lead replies with 'I don't work there anymore,' which is the politest possible way of saying you did not do your homework.
Now the current role is the only anchor allowed. Past companies can inform tone, never the hook. If I had to pick one rule for anyone writing prompts for outreach, it is this: tell the model which facts it may use, not just which facts exist.
Want LinkedIn outreach that runs itself?
Linkdify finds your leads, writes personalized messages, and sends them at safe, human-paced limits.
3. The follow-up introduced itself again
Follow-ups are where sequences go to die. An early version of our follow-up step was generated in isolation. It had the lead's profile and the campaign goal, and no idea that a message had already gone out four days earlier. So it opened with the same hook, sometimes nearly word for word. From the lead's side, that looks like a broken machine. Because it was.
The follow-up now reads the messages already sent in the thread before it writes anything. It has to build on what was said, or at the very least avoid repeating it. Timing makes this worse than it sounds. Across the messages we measured, the median reply came in about 14 hours, and most replies landed within the first day (the full benchmarks are here). A follow-up on day four is talking to someone who already chose not to answer. It had better say something new.
4. More instructions made it dumber
This one surprised me. Users can upload their own messaging playbooks so the AI writes in their voice. One user uploaded a long, detailed document. Great input, I thought. The model started greeting leads by the sender's name. It had so much context about who was sending that it lost track of who was receiving. That bug made it further than I would like to admit.
Small, cheap models are what make per-lead generation affordable, and they fall apart under long instructions. The fix was to strip playbooks down to voice and tone, hand the model a short frame, and add a guard that rejects degenerate output before anything sends. The prompt is not a place to store everything you know. It is the place to say the one thing the model must not get wrong.
5. It personalized the step that doesn't want personalization
The most expensive version of being technically correct is spending effort where it hurts. When we looked at 8,400 connection requests, the ones sent with a note were accepted 8.6% of the time. The ones sent with no note at all were accepted 48.6% of the time. The AI could write a flawless, current, correctly anchored note and still cut acceptance by more than five times just by existing.
So the AI no longer writes connection notes by default. It saves the effort for the first message after acceptance, where a specific and current observation does help, and for the reply, where it matters most. Personalization has a right place. That place is after someone has already agreed to hear from you.
Want LinkedIn outreach that runs itself?
Linkdify finds your leads, writes personalized messages, and sends them at safe, human-paced limits.
The test I run now
Before any change to the writer ships, I dry-run it against a real lead and read the output as if I were them, on a phone, between meetings. Whether the message is true barely comes up. The question I ask is whether a person who knew these facts would actually say them out loud to a stranger.
Most of the time the model's problem is not that it knows too little. It has no sense of what to leave out. Which means most of the work of building an AI that sells turns out to be making it quieter, and that is a strange thing to discover after a year of trying to make it smarter.
By