Generate and manage personalized LinkedIn messages — monitor queue counts, generate post replies, internet search messages, profile messages, and more
Total Messages in Queue
-
Across all BDRs
Ready to Send
-
Reviewed & approved
Pending Review
-
Awaiting admin review
Connection Requests
-
New prospect outreach
About Me Connect
-
🤝 In queue
Surround Connections
-
🔗 In queue
Llama checks each contact's title & company
connections
Profiles cached in
linkedin_profile_cache
for 90 days · stale after 12 months
connections to Reserve Queue
contacts per organization to have a message created in the past 30 days
Counts messages created in connect_queue across all BDRs (deleted messages excluded)
Post Reply Messages
Generate messages from LinkedIn posts for each BDR. Set a target for new prospects (connection requests) and/or current connections (reply messages). Leave either at 0 to skip that type.
How it works:
👤 New Prospects: Finds LinkedIn posts from uncontacted prospects and generates a connection request message
🤝 Current Connections: Finds LinkedIn posts from existing connections and generates a reply message
📨 All messages are saved to the review queue for approval before sending
Choose which BDRs to generate messages for, then optionally filter their prospects by batch below.
Pick a BDR from your selection above to load their available batches, then choose which batch to restrict the run to.
Only shows groups assigned to the BDR selected above (in Connect Hypothesis Documentation). Pick a BDR, then click Load Groups.
Use Import Batch to target a specific scan/import run, Move Batch for prospects moved from another BDR, or Group Batch for custom groups created in Prospect Cleanup. The selected batch filter applies to all checked BDRs above.
Connection request messages per BDR (0 to skip). Set high (e.g. 500–2000) to process all prospects.
Reply messages to existing connections per BDR (0 to skip). Set high (e.g. 500–2000) to process all contacts.
Advanced Options
Generating post reply messages...
Contact-Focused Internet Search
Generate connection messages from recent news about prospects and their organizations. Perfect for prospects without recent LinkedIn posts.
How it works:
🔍 Searches for recent exciting news about the contact and their organization
🤖 Uses Gemini web search (respects 1450 search/day/key limit)
🎯 Only processes prospects without recent LinkedIn posts
📰 Looks for news from the past 1-6 months
✍️ Generates natural connection messages mentioning the news
Select a specific batch to limit generation to contacts from that batch only. Import, Move, and Group batches can each be filtered independently.
Total number of contacts across all selected BDRs (1-1000)
AI Story Grading FilterOptional
AI will review each discovered news story and score it 1–10 based on your criteria.
Only stories meeting the minimum score will be used to generate connection messages — tighten or loosen the filter per search.
Describe exactly what makes a story relevant enough to use. Be as specific or broad as you need.
1 — Keep almost allScore ≥ 8 — very strict filter10 — Very strict
Important Notes:
Multi-BDR Support: Select one or more BDRs to generate messages for
Contact Distribution: Total contacts will be distributed evenly across selected BDRs
API Usage: Uses 2 Gemini searches per contact (organization + contact)
Rate Limits: System tracks 1450 searches per API key per 24 hours across 16 keys
Estimated Time: ~15-30 seconds per contact
Results: Messages saved with source='Organization News' or source='Contact News'
Story Grading: When enabled, AI scores each found story 1–10 before generating a message — stories below your threshold are skipped. Adds a small extra AI cost per story.
Search for specific types of stories about organizations, then pair them with contacts from those organizations. Great for targeted campaigns around specific topics.
How it works:
👤 Each contact is processed one at a time
🤖 Llama generates a tailored search query based on the contact's title (or use your own template)
🔍 Brave searches for recent news about that contact's organization
⭐ Good articles are identified, rated, and verified (full download)
✍️ If a great article is found, a personalized message is generated and saved for review
Leave blank — Llama generates a tailored search query per contact based on their job title and company (recommended). |
Enter a template to override: use [Organization Name] and [Contact Title] as placeholders.
Filter which contacts are processed by job title keywords (comma-separated). Leave blank to process all eligible contacts regardless of title.
Select a specific batch to limit generation to contacts from that batch only. Import, Move, and Group batches can each be filtered independently.
How many contacts to research one-by-one (1-500). Contacts never searched are prioritized first.
How many Brave search queries to run per contact (1–5). More queries = more articles found, but more API usage. Default: 1.
AI rates 1–10 whether the contact's title makes them likely involved in the story. Contacts scoring below this are skipped. Default 7 — lower for more messages, raise for tighter filtering.
AI Story Grading FilterOptional
AI will review each discovered news story and score it 1–10 based on your criteria.
Only stories meeting the minimum score will be used to generate connection messages — tighten or loosen the filter per search.
Describe exactly what makes a story relevant enough to use. Be as specific or broad as you need.
1 — Keep almost allScore ≥ 8 — very strict filter10 — Very strict
How this works:
Contact-by-Contact: Each contact is processed individually — one search per contact
Llama-Tailored Search: Unless you override, Llama writes a unique search query per contact based on their title
Railway Verifies: Full article is downloaded and checked before a message is written
Review Queue: Messages land in the review queue (fast_connect_review.html) for approval before sending
API Usage: 1–5 Brave searches per contact (set by Brave Searches per Contact below, default 1) + 1 Llama call per contact
Story Grading: AI scores each story 1–10 — stories below your threshold are discarded.
LinkedIn Profile-Based Messages
What this does:
Searches LinkedIn profiles and extracts complete data (title, company, experience, education, etc.)
Generates personalized opening messages based on profile data using AI
Allows you to add custom text before/after the AI-generated opening
Select specific contacts, or auto-select the top N by LinkedIn connection count (most connections first)
Saves messages to connect_queue with full profile data for review
Filter by Batch (optional)
Use Import Batch to target a specific scan/import run, Move Batch for contacts moved from another BDR, or Group Batch for custom groups created in Prospect Cleanup. Setting multiple filters applies all simultaneously.
Step 1: Select BDR(s)
All messages will be assigned to this BDR. Select BDR first to load their contacts.
Batch Mode
Select multiple BDRs to generate messages for all of them at once. Each BDR will get messages for their own contacts.
Selected: 0 BDR(s)
Each selected BDR will get this many messages generated
Step 2: Selection Mode
Note: Selection mode only applies to Single BDR mode. Multiple BDR mode uses auto selection (most connections first).
Deprioritized contacts always go last regardless of connection count
Step 3: Message Template
Available Variables
Use these variables in your text - they'll be replaced with actual contact data:
{{firstName}} - First name
{{lastName}} - Last name
{{title}} - Job title
{{company}} - Organization
This text will appear before the AI-generated opening message
Add multiple opening text options below. AI picks the best match for each contact, or options rotate fairly for A/B testing. The single “Text Before Opening” textarea above is ignored when this is enabled.
Supports the same variables as above: {{firstName}}, {{lastName}}, {{title}}, {{company}}
AI-Generated Opening Message
Punchy, personalized 2-sentence message based on LinkedIn profile Example: "Saw your profile. Ten years leading data teams in healthcare. Impressive."
77 chars
This text will appear after the AI-generated opening message
Add multiple closing message options below. Each option is rotated in round-robin order (least-used is always chosen next) so every variant gets equal exposure — giving you real A/B data on which closing performs best. The single “Text After Opening” textarea above is ignored when this is enabled.
Supports the same variables as above: {{firstName}}, {{lastName}}, {{title}}, {{company}}
Generation Progress
Generated Messages - Review & Send
About Me Connect Messages
What this does:
Reads your About Me profile — I Statements (background, education, passions, experience) and We Statements (company highlights)
Scrapes the prospect's LinkedIn profile data
Fetches the prospect's last 30 LinkedIn posts
Maverick Call 1: Finds all commonalities between you and the prospect (personal and company)
Maverick Call 3: Generates a message using your chosen Message Focus — from purely prospect-focused (no company mentions) to company-forward (shared business ground)
Step 1: Select BDR
The BDR's About Me statements are used to find personal connections with prospects.
Step 2: Filter by Batch (Optional)
Limit generation to contacts from a specific batch. Leave all filters blank to use contacts from any batch.
Use Import Batch to target a specific scan/import run, Move Batch for contacts moved from another BDR, or Group Batch for custom groups by org type/title created in Prospect Cleanup.
Setting multiple filters applies all simultaneously.
Step 3: How Many Contacts?
Each contact requires 3 Maverick AI calls + a profile scrape + post fetch. Start with 5 to test.
Step 4: Message Focus
Control how much the message is about the contact versus highlighting shared company interests or value.
Balanced: Leads with what the two of you have in common personally, and adds company context when there's a clear shared interest.
Step 5: AI Strategy Instruction (Optional)
Provide an overarching instruction that guides the entire message generation strategy. This is the highest-priority AI directive — it overrides and shapes all other instructions including Message Focus.
Strategy override active. This instruction will be sent to the AI as the top-priority directive before all other guidance.
Leave blank to rely solely on your Message Focus selection and BDR profile instructions.
Generation Progress
Generated Messages - Review & Send
Organization Complement
Search for exciting news about organizations your prospects work at, then generate a short punchy complement message sent to every person at that organization.
How it works:
🔍 News mode: Uses Gemini 2.5 Flash Lite to search for exciting news in the past 12 months — awards (Best in KLAS, Most Wired), partnerships, expansions, recognitions
🏆 Differentiator mode: Finds the one thing the organization is most known for (ideal for smaller orgs where recent news is sparse) — message: "Was reading about how [org] [differentiator]"
🔄 Both mode: Tries News first; if no news is found, automatically falls back to Differentiator
🤖 Uses Llama Maverick AI to craft a short, punchy complement message
📨 Optional prefix text, line breaks, and suffix are fully configurable below
👥 Message is sent to ALL contacts at that organization (not just one)
Select a specific import run to limit generation to contacts from that batch only.
How many organizations to generate complements for (1-500)
NEWS COMPLEMENTSettings applied when generating News-style messages
Leave blank to search for any exciting news at the organization.
Your text replaces everything before the colon. Use {{company}} to insert the org name — e.g. "Had to reach out after seeing the news about {{company}}" → "Had to reach out after seeing the news about Acme Health:". Leave blank to use the selected style above.
Appears before the complement message. Supports {{company}}, {{firstName}}, {{lastName}}, {{title}}.
Add multiple prefix options. One is chosen at random per message. The single textarea above is ignored when this is enabled.
Supports {{firstName}}, {{company}} variables.
AI-Generated News Complement
Punchy message highlighting recent achievements Example: "Acme Health is making headlines: Best in KLAS, new Microsoft partnership. WOW"
0 chars
Appears after the complement message. Supports {{company}}, {{firstName}}, {{lastName}}, {{title}}.
Add multiple suffix options. Options rotate fairly so every variant gets equal exposure. The single textarea above is ignored when this is enabled.
Supports {{firstName}}, {{company}} variables.
DIFFERENTIATOR COMPLEMENTSettings applied when generating Differentiator-style messages
Appears before the complement message. Supports {{company}}, {{firstName}}, {{lastName}}, {{title}}.
Add multiple prefix options. One is chosen at random per message.
Supports {{firstName}}, {{company}} variables.
AI-Generated Differentiator Complement
Thoughtful message about what makes the organization stand out Example: "Was reading about how General Hospital leads the region in robotic cardiac surgery."
0 chars
Appears after the complement message. Supports {{company}}, {{firstName}}, {{lastName}}, {{title}}.
Add multiple suffix options. Options rotate fairly so every variant gets equal exposure.
Supports {{firstName}}, {{company}} variables.
Important Notes:
All Contacts: Every eligible contact at the organization receives the message
Smart Cycling: Organizations are selected oldest-first so every org gets a message before any is repeated
45-Day Block: Contacts with recent approved/sent messages are skipped
Positive Only: System only uses achievements the org would be proud of
Est. Time: ~3-5 seconds per organization
Searching organizations and generating complement messages...
Harvest Run
Runs Post Reply → Internet Search for your harvest pool contacts — the same two engines used in the Full AI Run, focused on your already-connected prospects. Llama first screens each contact's message history, then generates the best available message.
How it works for each contact:
Eligible contacts come from your configured pools (sub-pools from custom groups / prospect scans / manual harvest labels), with the same min-days rule as Harvest Pool
Llama history pre-check — reviews the contact's full message history. Skips anyone who opted out, scheduled a meeting, or is deep in an active conversation (configurable below).
Enrichment freshness check — if the contact hasn't been enriched in the last 60 days, their LinkedIn profile is re-scraped and their current employer is confirmed (and corrected if they've changed jobs) before any post or news lookup, so we never congratulate them on news from a company they've left.
Stage 1 — Post Reply — Apify checks for a recent LinkedIn post. If found, classifies it, picks the best one, and generates a warm reply (same as the Post Reply tab). Scored against your Fit Quality Threshold.
Stage 2 — Internet Search (if no recent post) — Llama writes a custom search query, searches Brave for recent org news, and generates a short comment about the news. Story grade threshold is always 7. Choose between a Personal (ties the news back to them) or Exciting News (simple reaction, no tie-back) comment style below.
Messages are saved as Harvest Messages and appear in Fast Connect Review for your sign-off
Note: Harvest messages are saved as follow-up messages (not connection requests) since these contacts are already in your network. Messages have no character limit.
Step 1: Select BDR
Uses server-side harvest pool rules (same as Harvest Pool stats)
0 eligible contacts in harvest pool
Choose All pools to include everyone in your harvest pool, or a specific sub-pool (same rules as Harvest Pool).
Your harvest pool can include LinkedIn connections you already had before using this tool. Check this to only process contacts whose connection came from a HeyReach connection request we sent (a CONNECTION_REQUEST_ACCEPTED event on your seat), or that is manually labeled "Pando Executive Networking originated" in Harvest Pool admin. Contacts labeled "Already connected" are skipped only when there is no HeyReach accept on file for them — that label is also written by the My Leads pool-assign and webhook-import tools, so it isn't by itself proof the connection pre-dates us.
Harvest pool weekly review
Queues the same server job as Harvest Pool Admin → Run harvest weekly review now (post replies, then contact + org news) for every BDR that has at least one harvest pool in harvest_pool_configs — same rule as the Saturday cron.
On the server, weekly jobs target harvest pool contacts only and ignore the usual 7-day internet-search recency filter so recently scanned pool members can run again; org picks use a random shuffle so recently org-searched companies are not always skipped.
Step 2: Configure
How many eligible contacts to process. Each takes ~15–30 seconds.
Pulled from harvest_pool_configs (same as Harvest Pool). Edit on Harvest pool admin if needed.
Maverick only keeps questions scoring at or above this. Higher = stricter.
ConversationalConversationalFormal
Very casualConversationalBalancedProfessionalFormal
Applies to Post Reply and Internet Search messages. Default is conversational — warm and human, not corporate.
Step 3: Message History Pre-Check
Before generating a message, Llama reviews the contact's full message history to decide whether outreach is appropriate. Contacts who have opted out, scheduled a meeting, or are deep in a conversation are automatically skipped.
Llama will skip contacts who:
Have explicitly opted out or asked not to be contacted
Have already had a meeting, call, or demo with your team
Are already deep in an active sales conversation
Have expressed strong disinterest or asked to be removed
Step 4: Contact / Org Type Filter (optional)
Uses Meta Llama 4 Maverick to evaluate each contact's organization and role against your criteria — same engine as Smart Cleanup. Enable this to skip harvest pool contacts that don't fit your target profile before message generation runs.
Llama evaluates each contact's organization name and job title against your criteria. Contacts that don't match are skipped before any message generation runs. Leave blank or uncheck to process all harvest pool contacts.
Step 5: Internet Search Message Style
Only applies when Stage 2 — Internet Search generates the message (no recent post was found). Choose how the news comment should be worded.
Personal assumes the contact was involved in the news and reacts to them directly. Exciting News just reacts to the news itself — no assumptions about their role, so it's a safer choice when you're less sure how closely the news ties to their day-to-day work.
Please select a BDR first.
Harvest Run — Progress
Starting...0%
0
Processed
0
Messages Queued
0
Post Reply
0
Internet Search
0
History Skip
0
No Fit — Skipped
0
Errors
Harvest Run Complete — Messages Queued
Generated messages have been saved to the review queue. Review and approve them in
Fast Connect Review
using the 🌾 Harvest Questions source filter.
Full AI Generate
Smart, end-to-end AI message generation. For each prospect, the system tries the best-fit message method in the right order — using the exact same engines as the Post Reply, Internet Search, and About Me Connect tabs so any improvements to those are automatically reflected here.
Smart routing — how it works for each prospect:
Stage 1 — Post Reply (tried first for everyone)
Apify scrapes the prospect's recent LinkedIn posts. Llama evaluates whether any post is "worthy" (recent, substantive, non-hiring). If yes — a personalised reply message is generated. If no worthy post is found, moves to Stage 2.
Stage 2 — Classify prospect
Llama evaluates seniority from their title (C-Suite / VP / SVP / Director = senior). Org size is looked up from the Prospect Organizations table; if missing, Gemini searches the web. Senior + large org (500+ employees) routes differently than others.
Stage 3 — Route to best message method
Senior + large org
1st: Internet Search — news-hook message Fallback: About Me Connect — personal commonality
All others
1st: About Me Connect — personal commonality Fallback: Internet Search — news-hook message
⚙️ Prerequisites: Fill out both your Outreach Strategy and About Me profile in About Me for best results. The AI uses both to personalise messages and route correctly.
Step 1: Select BDR
Messages will be generated for this BDR's prospects
Select a BDR above to see source BDRs.
No other BDRs found at the same company. Switch to All BDRs to pull from BDRs at other companies.
Please select at least one source BDR.
Only pulls contacts confirmed as accepted connections (via HeyReach sync/activity).
Select source BDRs to load their hypothesis groups.
A contact is included if they belong to any selected group. This is independent of the Hypothesis Group dropdown below, which is still used for Opus Review.
Leave this off to pull every eligible contact in the selected hypothesis group(s). Turn it on only if you want to restrict by how the source BDR's conversation went.
A contact qualifies if any selected source BDR's response category matches. No Reply (they accepted the connection but no messages were exchanged) is ideal for re-engagement via Full AI Generate.
Pulls the top N contacts who accepted a Connect/HeyReach invite we sent (not the source BDR's entire LinkedIn network), prioritising those connected to the most selected BDRs, then most LinkedIn connections, after skipping:
(1) contacts already connected to this BDR,
(2) contacts already in this BDR's prospect list / queue,
(3) contacts on any exclusion list,
(4) contacts outside the selected hypothesis group(s), when that filter is enabled,
(5) optionally, contacts whose source-BDR response category doesn't match the selection above.
Survivors are copied into the BDR's prospect list, then run through Full AI Generate — same as the individual Post Reply / Internet Search / About Me Connect tabs, not the Surround Connections custom-prompt flow.
Pulls the top N workspace contacts by most LinkedIn connections first, after skipping:
(1) contacts already pulled from this workspace (workspace memory),
(2) contacts already connected to this BDR,
(3) contacts already in this BDR's prospect list / queue,
(4) contacts another BDR in the selected Hypothesis Group has already reached out to.
Survivors are copied into the BDR's prospect list, remembered on the workspace, then run through Full AI Generate.
Select a Hypothesis Group below so the group outreach check can run.
Builds the same recent cohort the source BDR messaged, including people who never accepted, then copies the most recently sent contacts first.
Skips anyone already connected to this BDR, already on this BDR's prospect list / queue, or on an exclusion list.
Survivors are copied into this BDR's prospect list and run through Full AI Generate.
Hypothesis Group below is used for Opus Review only — it does not shrink this cohort.
Given each contact's title/company/location and every variation's AI Selection Criteria, this model picks one variation per contact. Falls back to Random Selection Share % if the AI call fails or doesn't confidently match any variation.
Use Import Batch to target a specific scan/import run, Move Batch for contacts moved from another BDR, or Group Batch for custom groups created in Prospect Cleanup. Multiple filters apply simultaneously.
Requires a Hypothesis Group above — Railway will run its Review Instructions (rate/improve/exclude) against each message right after it's saved, one at a time, instead of waiting for the whole run to finish. Watch the log below for each message's rating as it comes in, and open Fast Connect Review to approve and send messages while later prospects are still being processed — nothing is submitted automatically.
If you're confident this prospect list is already clean, turn exclude sensitivity down (or off) so Opus focuses purely on rating and improving message text instead of also holding contacts back. Rating and text improvements always run regardless of this setting.
Opus AI Review Prompts
These prompts drive the Opus Review above. Edits here are used immediately for this run even if you don't save — click Save to Hypothesis Group to keep them for next time (and for Connect Hypothesis Documentation / Fast Connect Review).
Tone, voice, things to avoid for this BDR — applies to every Opus review run for them, regardless of hypothesis group.
Runs your configured Final AI Review rules (Llama/Opus/Qwen/DeepSeek checks) on each message right after Opus Review finishes for it — using the actual post/news/profile data that was used to build the message, not a reconstruction. Any concerns are saved onto the message and show up as flags in Fast Connect Review.
Loaded Outreach Strategy
Target Orgs:
Target Contacts:
Value Prop:
News Story Types:
Strategy is incomplete. Please fill out the Outreach Strategy in About Me for best results.
Step 2: Configure Generation
How many prospects to run through the smart routing pipeline. Each prospect takes ~30–90 seconds depending on which stage is reached.
ConversationalConversationalFormal
Very casualConversationalBalancedProfessionalFormal
Applies to Post Reply, About Me, Internet Search, and Profile Message. Default is conversational — warm and human, not corporate.
Post Reply→ Classify→ Internet Searchor About Me Connect→ Profile Message
The pipeline picks the best method for each contact based on the strategy selected above. It uses the same prompts and logic as the individual tabs.
If Post Reply, About Me, and Internet Search all return nothing, generate a short profile-based opening message as a final fallback (same as the Profile Messages tab).
When enabled, prospects with profile enrichment data are prioritised and sorted by LinkedIn connection count (highest first) before generation begins. Prospects without any stored connection count are processed last. Always on for Pull from Workspace (contacts are selected and processed most connections → least).
Runs a Brave search once per organization (e.g. recent or upcoming M&A activity at the health system), distills the findings into a short verified brief, and shares that brief — plus your usage instructions — with every message generated for contacts at that organization (Post Reply, About Me, Internet Search, all of them).
Example for M&A: {organization} merger acquisition announcement. If you leave out the placeholder, the organization name is automatically added to the front of the query.
These instructions are passed to the AI along with the research findings for every message. The AI is told to ignore the research when nothing relevant was found, and to never invent facts beyond the findings.
Cost: one Brave search (~$0.003) + one small Llama call per organization (not per contact) per run.
Please select a BDR first.
Full AI Smart Generate — Progress
Starting...0%
0
Processed
0
Below Conn. Threshold
0
Post Reply
0
↳ via Repost
0
About Me
0
Internet Search
0
Profile Msg
0
Errors
0
No Message
Smart Generate Complete — Messages Queued
All generated messages have been automatically sent to the connect review queue. Review and approve them in Connect Review.
Finds prospects who accepted connection requests from other BDRs — same-company colleagues or BDRs at other companies
Llama scans existing conversations — skips prospects who declined or had deep engagement with any colleague
Checks prospect title and organization against your target criteria
Claude Opus builds a message using your custom prompt, referencing the colleague connections by name
Saved to Fast Connect Review under the Surround Connections source filter
When approved, the prospect is automatically added to the BDR's prospect list
⚙️ Requirements: Choose Colleagues (same Customer) or All BDRs to pull connections from any company.
Connections are sourced from HeyReach contacts for each selected source BDR.
Message generation uses the Railway endpoint /api/connect/surround-connections-generate.
1
Select BDR
The system will find prospects already connected to the source BDRs you select below.
Select BDRs to scan:
Please select at least one source BDR to scan.
No other BDRs found at the same company. Switch to All BDRs to pull from BDRs at other companies.
2
Hypothesis Group Filter
Optionally limit Surround Connection targets to contacts who belong to one or more hypothesis groups.
Groups default to those assigned to the selected source BDR(s). Check Show all groups to pick groups from any company.
Leave all groups unchecked to include all eligible contacts.
(select a BDR to load groups)
Available Groups
No groups loaded yet.
No candidates matched the selected group(s). Try selecting different groups or disabling this filter.
Loading hypothesis groups…
3
Target Criteria
Describe what types of contacts to include. Llama checks each prospect's title and organization against this criteria.
Leave blank to skip the target filter and include all eligible prospects.
4
Colleague Conversation Filter
Only target contacts whose response category with your colleague(s) matches the categories you select.
A contact qualifies if any colleague's conversation has one of the selected response categories.
No Reply = colleague accepted connection but no messages were exchanged (or conversation was never classified). Ideal for Surround Connections re-engagement.
5
Message Prompt for Opus
Tell Opus what the message should accomplish. The names of connected colleagues are automatically injected.
Opus will follow all standard rules: no em-dashes, no exclamation marks, casual-professional tone, under 300 characters.
Example prompt:"Please reference how my colleague(s) connected with them. We are inviting them to participate in our collaborative (no cost) — hope they don't mind another invitation."
Example output:"Hi Ryan — my colleagues Markenzie Sligar and Bob Young told me they connected with you on LinkedIn. Hope you don't mind one more connection and invitation to join our outcomes collaborative (at no cost). We know you are busy, but hoping to catch you for 15 minutes."
6
How Many Contacts?
Each contact requires a Llama conversation scan + Opus message generation. Start with 5 to test.
Please select a BDR and at least one source BDR first.
Surround Connections Generation Progress
Generated — Review in Fast Connect Review
Post Topic Search Messages
How it works:
Apify scrapes LinkedIn posts matching your search term
Brave researches each author's company size and type
Llama evaluates each contact's title, company, and post content against your criteria
Claude Opus writes a <200-character connection request referencing their post
Messages appear in Fast Connect Review under the Post Topic Search filter
1
Select BDRs
— messages distributed evenly across selected BDRs
0 BDRs selected
Loading BDRs…
2
Post Search Settings
Keyword or phrase to find in LinkedIn posts
Every post author that passes criteria gets a message — up to this limit per BDR.
Leave blank for no limit
3
Contact Criteria
Llama evaluates each contact's title, company (with Brave research), and post content against this criteria.
All conditions must be satisfied for a contact to be kept.
Example criteria: "Only keep companies that likely have between 50 and 2000 employees (medium sized). Only keep contacts that work in HR, Facilities, or are a senior executive leader. Only keep contacts whose post suggests they are actively hiring or looking for workforce solutions."
4
Message Prompt for Opus
Tell Opus what the message should accomplish. Claude will personalize it to the contact's post and title.
Messages are kept under 200 characters.
Example prompt: "Reference that I saw they are hiring and invite them to learn about our outcomes collaborative that helps organizations with workforce challenges."
Please select at least one BDR above.
Generation Progress
No recent Post Topic Search jobs found. Start a generation above.
Fast Prospect Messaging
Send the same message (with slight Llama AI variations) to multiple prospect contacts at once.
Select a BDR, optionally filter by batch or connection count, choose an organization or load uncontacted contacts, compose a message, and send.
How it works:
Messages go to the connect queue — either for Admin Review (then forwarded to the BDR) or directly approved.
Llama AI creates a slight variation for each contact so outreach is never identical.
No exclamation marks or em-dashes will be added unless they are already in your original message.
Mode:
Multi-BDR mode loads a shared campaign batch (or each BDR's full list) for 2+ BDRs, applies the
connections filter, excludes anyone either BDR has already contacted, and splits what's left evenly.
Multi-BDR Balance Setup
Loading BDRs…
Batches are discovered from the first checked BDR (a batch shared across BDRs from "Move Between Workspaces / BDRs" works here). Leave blank to use each BDR's full contact list. Note: the contact count shown in this dropdown is for that one BDR only — each other selected BDR's own batch-scoped contacts are loaded separately and added on top when you click "Load & Balance Across BDRs" below (the combined total across all selected BDRs is shown in the status line after loading).
day(s)
Also always excludes anyone with any queued/sent message (connect_queue) or a confirmed HeyReach connection, regardless of age.
connections(contacts with no stored count are kept, not excluded)
(0 = no cap — split all eligible contacts evenly)
Step 1: Select BDR
All messages will be assigned to this BDR.
Filter by Batch (optional)
Batch filters apply to both load methods below. Setting multiple filters applies all simultaneously (AND logic).
Step 2: Load Contacts
connections(contacts with no stored count are fetched automatically via Apify during batch run)
Loads all contacts for this BDR, filters out anyone already in the connect queue, then returns the top N — prioritizing contacts that already have a stored connection count (highest count first), then filling remaining slots with contacts that still need Apify lookup.
(leave blank or 0 for all)
Loading…
0
Showing
0
Already Contacted
(excluded from list)
0
Already Connected
(excluded from list)
0
Selected
Step 3: Select Contacts
Step 4: Compose Message
Smart Placeholders — Llama AI will substitute these for each contact:
[Name] — best greeting name (e.g. "B. Henry" → "Henry")[Organization] — contact's company name
Example: "Hi [Name], hosting a summit on AI in patient access at [Organization]…"
0 characters
Step 5: AI Message Variation
Manual Send — selected contacts only
Batch Run — All Loaded Contacts
Processes all 0 loaded contacts in parallel batches.
If the connection filter is enabled, contacts without a stored count are fetched from Apify in batches of 10 (3 at a time) —
only those meeting the threshold get a message queued.
Processing…
Processing…
Harvest Fast Prospect
Send a direct message (with optional Llama AI variations) to your current connections — pulled from a harvest pool, or from a list of LinkedIn URLs you upload.
Select a BDR, choose your contacts, compose your message, and send.
How it works:
Loads contacts either from your harvest pool or from an uploaded URL list (checked against current connections — direct messages can only go to existing connections). Optionally opens each message with a short sentence about a recent LinkedIn post or company news (same engine as Harvest Run). Llama AI creates a slight variation per contact so outreach is never identical.
On live pushes, contacts who already have a LinkedIn conversation with this BDR can be sent directly into that conversation thread (scheduled, up to 50/day) while the rest go through the Fast Message campaign — see Step 8.
Step 1: Select BDR
All messages will be assigned to this BDR.
Step 2: Choose Contacts
Leave "All harvest pools" selected to load contacts across all pools for this BDR.
We'll compare every URL against this BDR's current LinkedIn connections. Only URLs that are already connections can receive a Harvest Fast Prospect direct message — any that aren't connected yet will be excluded, and we'll show you a report of which ones.
Step 3: Load Contacts
Loading…
0
Showing
0
Already Queued
(excluded from list)
0
With Conversation Thread
(can send directly into the thread)
0
Selected
Step 4: Select Contacts
Step 5: Compose Message
Direct Message only — these contacts are already connected to the BDR on LinkedIn.
Smart Placeholders — Llama AI will substitute these for each contact:
[Name] — best greeting name (e.g. "B. Henry" → "Henry")[Organization] — contact's company name
Example: "Hi [Name], wanted to reach out about an event relevant to [Organization]…"
0 characters
Step 6: Add a Post/News Opener
Step 7: AI Message Variation
Step 8: Delivery Routing
Manual Send — selected contacts only
Batch Run — All Loaded Contacts
Processes all 0 loaded harvest contacts in sequence.
A Llama AI variation is generated up-front for all contacts when variation is enabled. If the post/news opener is enabled, each contact is checked individually — this can take a while for larger batches.