How to use Aimfox AI personalisation for LinkedIn outreach at scale: what data Aimfox reads, how to write prompts, quality control methods, and troubleshooting.
Sarah Okonkwo
Outbound systems consultant, specialising in multichannel personalisation · Updated June 24, 2026
Last updated: June 2026 · Sarah Okonkwo, Outbound systems consultant, specialising in multichannel personalisation
TL;DR — 7 things to know before reading
- Aimfox AI personalisation generates unique first lines for LinkedIn connection notes and follow-up messages by reading each prospect's LinkedIn profile: headline, current role, recent posts, company, and career history
- The quality of AI-generated personalisation depends entirely on the quality of data in each prospect's LinkedIn profile — sparse profiles produce generic outputs regardless of prompt quality
- Your personalisation prompt (the instruction you give Aimfox's AI engine) is the most important configuration variable; a specific, constrained prompt produces better outputs than a vague one
- Quality control is required at scale: sample 10–15 messages per campaign before launch, score them against a rubric, and revise the prompt before sending to hundreds of contacts
- AI personalisation is most effective as a first-line generator, not a full-message writer; combine AI-generated opening lines with a fixed, manually-written message body for the most consistent results
- Personalisation that fails looks worse than no personalisation at all — a hallucinated reference or irrelevant first line signals automation more clearly than a clean generic opener
- Pair Aimfox AI personalisation with verified, profile-rich contact data from Quarvio (from $129 for 5,000 contacts), cold email via Instantly, and email infrastructure via Inframail
Personalisation at scale has one persistent problem: most implementations of "personalisation" produce content that reads more automated than a generic message would. A first line that says "Congrats on your recent promotion at [Company]" when the prospect has not been promoted, or "I love your post about [topic]" when the post is two years old and tangentially related to what you sell, is worse than "Hi [firstName], I work with teams in your space." The former signals that you ran a tool. The latter at least reads as intentional.
Aimfox's AI personalisation engine reads LinkedIn profile data and generates unique opening lines per prospect. Whether those lines are good depends on three things: the data available in the prospect's profile, the prompt you write to guide the AI, and the quality control process you apply before sending.
This guide covers all three in depth. The goal is not maximum automation — it is maximum quality at a volume that a human writing alone cannot achieve. Done well, AI personalisation in Aimfox produces messages that read as though they were written specifically for each person, because they reference specific and accurate data about each person. Done poorly, it produces a list of errors that will damage reply rates and account reputation simultaneously. Quarvio provides the contact data. Aimfox generates the personalisation. Instantly handles parallel cold email. Inframail manages email infrastructure.
Aimfox AI personalisation reads the following data fields from each prospect's LinkedIn profile at the time of campaign processing:
The AI engine processes these fields against a prompt you provide and generates a unique first line or short personalised opening for each prospect. The output is injected into the connection note or follow-up message at the position you designate.
What Aimfox AI personalisation does not do:
Not all prospect lists are equal for AI personalisation. A prospect list from a LinkedIn search where most profiles are largely blank (no About section, minimal Experience details, no recent posts) will produce poor AI personalisation outputs regardless of how well you write the prompt.
Before configuring AI personalisation, manually open 20 profiles from your prospect source (your LinkedIn search URL or CSV list) and assess:
Score each profile: 0 (sparse — headline only, no posts, no About), 1 (moderate — some detail, one recent post or short About), 2 (rich — detailed About, multiple recent posts, strong career history).
Sum the scores for all 20 profiles and divide by 20. Interpret the result:
| Average score | Personalisation potential | Recommendation |
|---|---|---|
| 1.5–2.0 | High | Full AI personalisation: generate first lines from posts and About |
| 1.0–1.5 | Moderate | Limited AI personalisation: use headline and role only |
| Below 1.0 | Low | No AI personalisation: use standard variables only ([firstName], [jobTitle], [company]) |
For prospect lists with low profile richness (average below 1.0), standard personalisation variables ([firstName], [jobTitle], [company]) will outperform AI-generated content because the AI has insufficient data to generate non-generic outputs. Attempting AI personalisation on sparse profiles produces outputs like "I see you work at [company] — interesting work you are doing there." This is not personalisation.
If your prospect list has low profile richness but you need personalisation, consider enriching the list before running the campaign:
Benchmark: profile richness assessed on 20 sample profiles before any prompt is written. Personalisation approach selected based on average richness score.
The personalisation prompt is the instruction you give Aimfox's AI engine. It determines what data the AI reads, what it generates, and what constraints it applies to the output. Most poor AI personalisation outputs trace back to a poorly written prompt.
A well-structured personalisation prompt has three components:
The data source instruction tells Aimfox which field(s) to read and in what priority order. Examples:
For post-based personalisation: "Reference the prospect's most recent LinkedIn post from the last 90 days. If no recent post exists, reference their headline and current role."
For headline and role personalisation: "Use the prospect's LinkedIn headline and current job title as the basis for the personalised line."
For career history personalisation: "Reference a specific transition or role in the prospect's career history that is relevant to [your topic]."
Be explicit about the fallback when the primary data source is unavailable. A prompt without a fallback instruction will generate generic or hallucinated content when the primary data field is empty.
The output format instruction specifies the length, structure, and opening pattern of the generated text. Examples:
Tight and specific: "Generate one sentence (under 25 words) that opens with a direct reference to the specific content from [data source]. Do not begin with 'I saw,' 'I noticed,' or 'Congrats on.' Use a declarative observation."
Conversational and longer: "Generate a 2-sentence opening that references [data source] and connects it to a question or observation about [topic relevant to your offer]. Keep it conversational and avoid sounding like a sales pitch."
Avoid vague format instructions like "write something personalised." The AI will produce what it determines to be personalised without the structure constraints that make it usable.
The constraint instruction specifies what must not appear in the output. These prevent the most common personalisation failures:
Combine the three components into a single prompt:
"Read the prospect's most recent LinkedIn post from the last 90 days. Generate one sentence (under 25 words) that references a specific idea, claim, or observation from that post and connects it to [your topic/domain]. If no post from the last 90 days exists, use the headline and job title to write one sentence noting the prospect's role at their company and referencing [your topic/domain] as relevant to their position. Do not use 'I saw,' 'I noticed,' 'Congrats on,' 'impressive background,' or any phrase that implies you are reviewing their profile. Do not reference any product or service."
This prompt is approximately 90 words. It is explicit about the data source, the output format, the fallback, and five specific things to avoid. This level of constraint is required to produce consistent, usable outputs at scale.
Benchmark: prompt includes all three components (data source, output format, constraints), specifies a fallback data source, and prohibits at least three common hollow opener phrases.
Failure mode: a prompt that says "write a personalised first line based on their LinkedIn profile." This generates outputs that are personalised in name only — they reference the person's name or company but not anything specific about them.
In Aimfox, navigate to your campaign. Under the message configuration section, look for AI Personalisation or AI First Line. Toggle it on.
Aimfox presents a prompt field where you enter the personalisation instruction from Step 2.
Paste the full personalisation prompt into the prompt field. Do not truncate it for character limits in the prompt field itself — the prompt is not sent to the prospect, it is used internally by the AI engine.
After entering the prompt, navigate to the message body where you want the AI-generated content to appear. Aimfox typically uses a variable like {ai_first_line} or {personalized_intro} to mark where the generated content is injected.
The AI-generated line works best as the opening of the message body. Structure the full message as:
Example full message structure:
[AI first line about their recent post on sales enablement tools]
I work with [jobTitle] teams at [company]-sized companies on outbound pipeline. We help teams build their contact lists and automate outreach across email and LinkedIn.
Would this be relevant to what you're building at [company]? Happy to share what we've seen work for similar teams.
In this structure, only the first line varies. Everything else is fixed. This approach produces the highest quality-per-message ratio at scale: the unique first line provides genuine personalisation, and the fixed body provides consistent, high-quality pitch language.
Configure a fallback message for prospects whose LinkedIn profiles have insufficient data to generate a personalised first line. The fallback should be a strong generic opener using standard variables:
"Hi [firstName], I noticed you work in [industry] as [jobTitle] and wanted to reach out."
In Aimfox, configure the fallback as the default message that activates when the AI engine cannot generate a confident personalised output from the available profile data.
Benchmark: AI output positioned as the first line only, followed by fixed bridge and body text. Fallback message configured for low-data profiles.
Quality control is the step most operators skip. Skipping it is how campaigns with AI personalisation produce messages that damage account reputation and reply rates simultaneously.
Before activating the campaign, Aimfox allows you to preview the AI-generated message for individual prospects. Preview the generated message for at least 15 prospects sampled from different parts of your prospect list (first 5, middle 5, last 5 alphabetically).
For each preview, ask:
| Score | Criteria |
|---|---|
| 3 | Specific, accurate, reads naturally, references named content |
| 2 | Relevant but generic ("I see you work at TechCo") |
| 1 | Hollow opener or irrelevant reference |
| 0 | Hallucinated reference or error in the generated text |
Calculate the average score across 15 samples:
If multiple outputs score 0 or 1, identify the common failure pattern:
Pattern 1: Hollow openers ("I noticed your impressive background"): add explicit prohibition in the constraint section of the prompt. "Do not use 'impressive,' 'interesting background,' 'I noticed,' or similar generic compliments."
Pattern 2: Wrong data source used: the AI is reading the wrong field (e.g. headline instead of recent post). Revise the data source instruction to be more explicit: "Read ONLY the most recent post published in the last 90 days. Do not use the headline or About section as the primary source unless no post exists."
Pattern 3: Hallucinated references: the AI is generating references to content not present in the profile. Add to constraints: "Do not generate any reference that you cannot directly quote or paraphrase from the profile data. If you cannot find a specific reference, use the fallback instruction."
Pattern 4: Too long (exceeds character limit): add explicit length constraint: "The output must be under 20 words."
After revising the prompt, preview another 15 samples. Do not launch until the average quality score is 2.5 or above. This sampling process typically takes 20–30 minutes. It is the highest-return time investment in the AI personalisation setup.
Benchmark: 15 samples previewed, average score calculated, prompt revised if average below 2.5, resampled after revision. Campaign not launched until score reaches 2.5+.
AI personalisation quality can degrade over time as the campaign moves through the prospect list and encounters profiles with varying data richness.
Every week, pull 10 sent messages from Aimfox Analytics and review the AI-generated first lines in context. As the campaign processes through higher-richness profiles (typically earlier in the prospect list) toward lower-richness profiles, quality may decline.
Signs of quality degradation:
If quality degradation is occurring because the campaign has reached lower-richness profiles, consider tightening the fallback threshold. Instruct the AI to fall back to the standard message whenever fewer than 2 specific data points are available from the primary source. More fallback messages are better than more low-quality personalised messages.
When you refresh your prospect source (new search URL or updated CSV), treat it as a new campaign for personalisation quality control purposes. Preview 15 samples from the new source and rescore before activating the new segment. The new prospect set may have different profile richness patterns than the previous set.
| Setting | Location in Aimfox | Best practice | Common mistake |
|---|---|---|---|
| AI personalisation toggle | Campaign → Message Settings | On for rich profiles, off for sparse | On regardless of profile quality |
| Prompt: data source | AI Personalisation prompt field | Specific field name + fallback | "their LinkedIn profile" (too vague) |
| Prompt: output format | AI Personalisation prompt field | Under X words, opens with specific reference | No format constraint |
| Prompt: constraints | AI Personalisation prompt field | 3–5 specific prohibited phrases | No constraint instruction |
| AI output position | Message body | First line only | Full message generated by AI |
| Fallback message | Message Settings → Fallback | Generic opener with [firstName] and [jobTitle] | No fallback configured |
| Sample size for QC | Pre-launch preview | 15 prospects | 0 (no preview) |
| QC pass threshold | Internal scoring | Average 2.5 out of 3 | Not scored |
| Post-launch review cadence | Analytics → Sent messages | Weekly, 10-message sample | One-time at launch |
| Prompt revision trigger | QC score below 2.5 | Revise before launch | Launch anyway |
Create two campaign variants: one for prospects with recent posts (within 90 days) and one for prospects without. Use Sales Navigator's "Posted on LinkedIn in last 30 days" filter to identify prospects with recent activity. Apply post-based AI personalisation only to this segment. Apply headline and role-based personalisation to the other segment. This segmentation aligns the personalisation approach with the available data per prospect, maximising quality across both groups.
The AI personalisation prompt logic that works in Aimfox for LinkedIn can be adapted for cold email in Instantly. Instantly also supports AI-generated personalisation variables. Write matching prompt logic for Instantly that references the same prospect's LinkedIn profile data (which can be manually included in the Instantly contact list as a custom column). This creates a multichannel experience where both the LinkedIn message and the cold email reference accurate, prospect-specific details.
As you review your weekly samples, save the outputs that score 3 (specific, accurate, natural). Over time, build a library of 20–30 examples. Use these examples in your personalisation prompt as additional guidance: "Generate output in the style and format of these examples: [3-4 examples from the library]." Few-shot prompting with high-quality examples significantly improves AI output consistency.
A prospect who recently changed roles (visible in their Experience section) is in a high-receptivity window for relevant outreach. A first line that acknowledges the role transition without being sycophantic ("I see you moved from [previous role] to [current role] recently") is both specific and relevant. Configure the AI data source instruction to prioritise career transition data when available, using recent post data as the secondary source.
The character limit for the connection note is 300 characters including everything (first line, bridge, CTA). If the AI first line alone uses 80 characters, the remaining fixed message must fit in 220 characters. Configure the output format instruction with a specific character or word limit that accounts for the fixed message length: "Output must be under 75 characters."
For follow-up messages (after connection), character limits are not enforced by LinkedIn in the same way, so the AI can generate longer first lines if appropriate (up to 50 words for a follow-up message opening).
Run two campaign variants simultaneously: one with AI personalisation enabled, one using only standard variables ([firstName], [jobTitle], [company]). Compare acceptance rates (for connection notes) or reply rates (for follow-up messages) at 2 weeks. In some ICP segments and contexts, well-written standard variable messages outperform AI-generated personalisation. The A/B test reveals which is true for your specific audience.
Symptom: generated first lines say things like "I noticed you work in sales at [company]" rather than referencing anything specific.
Cause 1: the prospect profiles are sparse (average richness below 1.0). The AI generates generic output because there is no specific data to reference. Cause 2: the prompt's data source instruction is too vague ("use their LinkedIn profile").
Fix: first, verify profile richness by sampling 20 profiles. If richness is low, disable AI personalisation and use standard variables. If profiles are rich, revise the prompt data source instruction to name a specific field: "Read the prospect's most recent post from the last 90 days" rather than "use their LinkedIn profile."
Symptom: first lines reference posts the prospect did not write, promotions that did not happen, or skills not listed on the profile.
Cause: the AI is generating plausible but invented content when the specified data source is absent, rather than using the fallback instruction.
Fix: add an explicit anti-hallucination constraint to the prompt: "If the specified data source is unavailable or unclear, do not generate a reference. Instead, output only: FALLBACK. This triggers the fallback message." In Aimfox, configure the FALLBACK trigger to switch to the standard fallback message when the AI outputs this token.
Symptom: AI first lines are too long and the connection note total exceeds 300 characters.
Cause: no character limit specified in the output format instruction.
Fix: add to the output format instruction: "Output must be under [X] characters, where [X] is 300 minus the character count of the fixed message body." Calculate this number for each campaign individually. If the fixed message body is 200 characters, specify "under 100 characters" as the AI output limit.
Symptom: many prospects receive the same AI-generated first line, just with different names inserted.
Cause: the prospect profiles are all similar (same role, same industry, similar Activity), causing the AI to generate the same output from the same data pattern.
Fix: add a uniqueness instruction to the prompt: "Each output must reference a specific detail unique to this individual's profile. Do not repeat the same phrase structure across multiple outputs." Also consider segmenting the prospect list by secondary attribute (sub-industry, company size, seniority level) to introduce more data variation across profiles.
Symptom: prospect replies quoting "" literally in the message.
Cause: the AI personalisation feature is enabled but the variable injection is not connecting to the AI output. The variable {ai_first_line} was not replaced with generated content at send time.
Fix: verify the AI personalisation toggle is active and the campaign status was refreshed after enabling it. In some Aimfox versions, enabling AI personalisation on an already-active campaign requires pausing and re-activating the campaign to apply the change.
Symptom: early sends (first 100) had high-quality personalisation; sends after week 3 are lower quality.
Cause: the prospect list's profile richness decreases as the campaign moves through the list. Early prospects may have been filtered from a high-activity segment; later prospects are from a lower-activity segment.
Fix: pause the campaign. Re-sample 15 profiles from the current position in the prospect list. Rescore. If average score is below 2.0, either revise the prompt for lower-richness profiles or switch to standard variables for the remaining prospect pool.
Symptom: acceptance rate is 28% but Message 1 reply rate is under 2%, which is unusually low.
Cause: the AI-generated first line on the connection note was strong and earned high acceptance, but the follow-up Message 1 is generic and does not continue the personalisation signal. The prospect accepted based on the quality of the first touchpoint and was let down by the follow-up.
Fix: apply AI personalisation (with a different data source instruction, e.g. career history rather than posts) to Message 1 as well. The follow-up should maintain the same quality signal as the initial connection note. A sudden drop from specific to generic is jarring.
Symptom: prospect replies: "Just so you know, that post you referenced was from 3 years ago" or "I haven't been at [previous company] for 2 years."
Cause: the AI is reading stale or incorrect data from the profile (profiles sometimes show old content in post or experience fields), or the prospect has since changed roles but the profile has not been updated yet.
Fix: add a recency constraint to the data source instruction: "Reference only posts published within the last 60 days. Do not reference posts older than 60 days, previous companies, or any data point not currently listed as the primary position." Reply to the affected prospect acknowledging the error and pivoting to the genuine message intent.
"AI personalisation in Aimfox was a revelation once I understood that the prompt is everything. My first prompt was 'write a personalised opener based on their LinkedIn profile' and the output was garbage — generic, hollow, indistinguishable from a mail merge. Then I rewrote the prompt to reference specific fields, added constraints, tested it on 20 profiles, and the outputs went from 1/10 to 7/10 on average. Same feature, different prompt, completely different results."
— Verified G2 reviewer, B2B consultant, Aimfox reviews on G2
"We stopped using AI personalisation for the bottom 40% of our prospect lists. The profiles were too sparse. Instead we use standard variables for everyone and AI personalisation only for contacts we can verify have recent post activity. Reply rates are nearly identical on both segments now — the key was not applying AI personalisation to profiles where the AI has nothing real to work with."
— Verified G2 reviewer, lead generation agency, Aimfox reviews on G2
Per a Reddit thread in r/sales (317 upvotes):
"The best AI personalisation I've received as a prospect referenced a comment I'd made in someone else's thread from last week. Not my own post — a comment. Whoever set up that campaign was doing it right. The worst was a message that started 'I loved your post about marketing automation' when I've never posted about that in my life. One of these made me reply. One made me report the message."
— Comment with 317 upvotes, r/sales thread on AI personalisation in LinkedIn outreach
| Need | Tool | Notes |
|---|---|---|
| Verified contact lists with LinkedIn URLs | Quarvio | Rich profile targets from $129/5k |
| Email infrastructure | Inframail | Microsoft 365 inboxes, auto DNS |
| Cold email with AI personalisation | Instantly | Parallel personalised email layer |
| LinkedIn AI personalisation | Aimfox | Connection + sequence + AI first lines |
Does Aimfox AI personalisation access any data outside LinkedIn?
No. Aimfox AI personalisation reads only data available on the prospect's LinkedIn profile: headline, current role, company, About section, recent posts, career history, and skills. It does not access company websites, news articles, or any external data source.
What is the difference between AI personalisation and standard personalisation variables?
Standard personalisation variables ([firstName], [jobTitle], [company]) insert fixed data fields from the prospect's profile verbatim. AI personalisation generates new text that synthesises information from the profile into a sentence or paragraph that did not exist before. Standard variables ensure accuracy; AI personalisation attempts relevance. Both are needed for high-quality outreach at scale.
How do I know if AI personalisation is working correctly?
Preview at least 15 samples before launch using Aimfox's preview function. Score each output against the quality rubric in this guide. An average score of 2.5 out of 3 indicates the personalisation is working correctly. Anything below 2.0 requires prompt revision before launch.
Can I use AI personalisation for the connection note and the follow-up sequence?
Yes. Aimfox AI personalisation can be applied to both the connection note and individual steps in the follow-up sequence. For best results, use a different data source instruction for each message (e.g. recent posts for the connection note, career history for Message 1) so the personalisation in each message is distinct.
What happens when a prospect's profile does not have enough data for personalisation?
The fallback message you configure is sent instead. Configure the fallback as a strong generic opener using standard variables: "Hi [firstName], I work with [jobTitle] teams at similar companies and thought connecting would be worthwhile." This is better than a poorly personalised AI-generated output from a sparse profile.
How long should the AI-generated first line be?
For connection notes: under 75 characters (to leave room for the fixed message body within the 300-character limit). For follow-up messages: under 50 words. The AI first line should be an opener, not a full message. A full AI-generated message is harder to quality-control and more likely to contain errors.
Can I see which prospects received AI-generated vs. fallback messages?
In Aimfox Analytics, sent messages are visible in the campaign's send log. Whether the AI or fallback was used per message depends on whether Aimfox provides this segmentation in the Analytics view. Some Aimfox versions show the actual sent message text per prospect, which lets you identify which type was used.
How often should I revise my personalisation prompt?
Review the prompt quality at two points: before launch (via sampling) and at the 4-week mark (via weekly review samples). If average quality scores have declined since launch, revise the prompt. Also revise whenever you switch to a new prospect source with different profile richness characteristics.
Is AI personalisation worth the setup time compared to standard variables?
For prospect lists with rich LinkedIn profiles (average richness score 1.5+), yes. Well-executed AI personalisation increases reply rates compared to standard variable messages because the opening line gives the prospect a specific, credible reason to engage. For sparse profile lists, standard variables are faster to set up and produce equally good (or better) results.
What should I do if a prospect replies negatively about the personalisation?
Reply professionally and apologise for the experience. The most common negative reactions are to hallucinated references (the AI mentioned something that is not true) and to hollow openers (the AI-generated line sounds obviously automated). Both indicate a prompt quality issue. After handling the reply, review your prompt quality score and revise the prompt before the campaign continues.
Can I test AI personalisation on a small segment first?
Yes, and this is recommended. Create a campaign segment of 50 prospects, enable AI personalisation with your drafted prompt, preview and score 15 samples, then launch that segment only. Evaluate reply rates at 2 weeks. Compare to a parallel segment of 50 prospects using standard variables. This gives you a controlled comparison before scaling AI personalisation to your full prospect list.
What role does the prospect's LinkedIn profile quality play?
Profile quality is the single most important factor in AI personalisation output quality. Rich profiles (active posting history, detailed About section, specific career history) produce specific, accurate, natural-sounding first lines. Sparse profiles produce generic or hallucinated content regardless of how well the prompt is written. Segment your prospect list by profile richness and apply personalisation approaches accordingly.
Get verified B2B contact lists with LinkedIn-rich profiles
AI personalisation quality depends on the data in each prospect's profile. Quarvio delivers B2B contact lists filtered by job title, company size, industry, and geography — from segments where professional LinkedIn profiles are well-maintained and personalisation data is available. One-time purchase, credits valid for 12 months, unused credits returned in full. From $129 for 5,000 contacts.