rtrvr.ai
Browser ExtensionStart in Chrome, on the page you're on.CloudA thousand browsers, on your schedule.RoverThe AI customer engineer for your product.Data & EvalsExpert trajectories for AI labs.
ACCESSAPI + MCPCLI & SDKTemplatesIntegrationsWhatsApp
Use cases
Vibe ScrapingLead EnrichmentWeb MonitoringForm FillingJob ApplicationsSocial MediaAI Web ContextAgentic CheckoutAll use cases
Pricing
BlogLaunches, benchmarks, deep divesDocsExtension, Cloud, API, MCP, CLICase StudiesReal teams, real runsVideosNew runs every weekChangelogWhat just shippedNewslettersProduct releases and real runs
Docs
Log inBook DemoAdd to Chrome
Log in
Menu
Add to ChromeBook a demo
ProductsBrowser ExtensionCloudRoverData & EvalsExploreUse casesPricingResourcesDocs

Opening template…

rtrvr.ai

Make every site
work for you.

Launches first, roadmap early, and the occasional trick we only share by email.

Products

Browser ExtensionCloudRoverData & Evals

Use cases

Vibe ScrapingLead EnrichmentForm FillingWeb MonitoringSocial MediaJob ApplicationsData MigrationAI Web ContextAgentic Checkout

Resources

DocsBlogData for AI LabsCase StudiesVideosNewslettersChangelogPricingAppSumoDemoAffiliate

Company

TeamContactGCP PartnerWhat We BelieveSecurityPrivacyTerms

Developers

APIMCPCLI & SDKTemplatesIntegrationsWhatsApp

Compare

ApifyBardeenBrowserbaseBrowser UseClayClaudeCometFirecrawl
Products
Browser ExtensionCloudRoverData & Evals
Use cases
Vibe ScrapingLead EnrichmentForm FillingWeb MonitoringSocial MediaJob ApplicationsData MigrationAI Web ContextAgentic Checkout
Resources
DocsBlogData for AI LabsCase StudiesVideosNewslettersChangelogPricingAppSumoDemoAffiliate
Company
TeamContactGCP PartnerWhat We BelieveSecurityPrivacyTerms
Developers
APIMCPCLI & SDKTemplatesIntegrationsWhatsApp
Compare
ApifyBardeenBrowserbaseBrowser UseClayClaudeCometFirecrawl
BACKED BYNVIDIA InceptionGoogle Cloud for StartupsBright DataNEC XSalesforce LaunchpadElevenLabs GrantsGMI CloudComposioSmallest.ai Grants
DISCOVERYllms.txtllms-full.txtagents.mdDocumentation indexSitemapOpenAPIAI Catalog
© 2026 rtrvr.ai
DiscordYouTubeInstagramTikTokLinkedInXGitHub
support@rtrvr.ai
Back to templates

MESSAGES AND FOLLOWS TEMPLATE

Send a LinkedIn message

Open the profile, write a relevant message, and send it from your account.

RUNS INYour signed-in browser
SETUP6 details to add
WHAT YOU GET03 PARTS
  1. 01Message based on the profile
  2. 02Concise reason for contacting them
  3. 03Send status
EXAMPLE INPUTDM a VP of Engineering about our product

SET UP YOUR RUN

Add the details. Check the result. Run it.

No code needed.
01

Tell rtrvr what to use

Required details are marked. The example text shows the expected format.

Leave it blank for rtrvr to draft from the profile and your goal. Shorter messages usually work best.

Add only the details that should appear in the message.

02

Choose where it runs

Cloud uses a fresh managed browser. The extension uses the sites you are already signed into.

Your browser is required. This template needs a site where you are signed in.

Choose a browser

Pick a browser where the rtrvr extension is online.

Get the extension
Finish setup in your browser
  1. Install the extension
  2. Sign in to rtrvr
  3. Come back and choose the browser
ONE MORE STEP

Add the required details to continue.

WHAT HAPPENS NEXT

From setup to finished result.

  1. 01

    rtrvr opens the right sites. It uses Cloud or the signed-in browser you chose.

  2. 02

    The browser does the job. You can follow the run and step in if a site asks for help.

  3. 03

    You get the result. The output above is the shape to expect.

ADVANCEDRequest JSONOptional

Exact request sent to the run panel.

REQUEST.JSON
{
  "source": "retrieve",
  "template": {
    "id": "linkedin_dm_sender",
    "slug": "linkedin-dm",
    "name": "LinkedIn DM Sender",
    "categoryId": "SOCIAL_OUTREACH"
  },
  "inputs": {
    "profileUrl": "",
    "messageText": "",
    "messageGoal": "networking",
    "context": "",
    "connectFirst": true,
    "autoSend": true
  },
  "agentHint": "You are sending a LinkedIn direct message. Adapt to the actual UI you encounter.\n\n**TASK CONFIGURATION:**\n- Profile URL: \n- User's Message: \n- Message Goal: networking\n- Context: \n- Connect First: true\n- Auto-send: true\n\n---\n\n## STEP 1: NAVIGATE TO PROFILE\n\n1. Go to \n2. Wait for profile to fully load\n3. If not logged in, STOP and report authentication required\n4. If profile not found, report error\n\n---\n\n## STEP 2: ANALYZE THEIR PROFILE (for personalization)\n\n**Extract key details:**\n- Current role and company\n- Headline\n- Recent posts or activity (if visible)\n- Shared connections\n- Background relevant to your context\n- Anything that creates a personal hook\n\n---\n\n## STEP 3: CHECK CONNECTION STATUS\n\n**Determine relationship:**\n- 1st degree (connected): Can message directly\n- 2nd/3rd degree: May need to connect first or use InMail\n- \"Message\" button visible: Can message\n- Only \"Connect\" visible: Need to connect first\n\n### IF not connected AND true === true:\n1. Click \"Connect\" (may be in \"More\" dropdown)\n2. LinkedIn may offer \"Add a note\" option\n3. If note option available, add a brief connection note (under 300 chars)\n4. Send connection request\n5. Note: DM may need to wait until they accept\n\n### IF not connected AND true === false:\n- Check if InMail is available\n- If no messaging option, report limitation\n\n---\n\n## STEP 4: PREPARE MESSAGE\n\n### IF user provided messageText:\nUse this message exactly:\n```\n\n```\n\n**VALIDATION:**\n- LinkedIn messages: Generally keep under 1,000 chars for best response\n- InMail: Up to ~8,000 chars but shorter is better\n- Check for spam trigger words\n\n### IF messageText is empty - GENERATE MESSAGE:\n\n**Generate a networking message that:**\n\n1. **Opens with personalized hook:**\n   - Reference something SPECIFIC from their profile\n   - Recent post, shared connection, their work, company\n   - NOT: \"I came across your profile and was impressed\"\n\n2. **States purpose clearly (but not pushy):**\n   - networking: Express genuine interest in connecting\n   - sales: Soft intro to value prop, not hard pitch\n   - recruiting: Role and why they're a fit\n   - partnership: Specific collaboration idea\n   - advice: Specific question, respect their time\n   - job: Interest in their company, relevant background\n   - followup: Reference previous interaction\n\n3. **Includes context naturally:**\n   \"\"\n\n4. **Ends with soft CTA:**\n   - One question, not five\n   - Easy to respond to\n   - Open-ended preferred\n\n**FORMAT:**\n- Under 200 words ideal\n- Short paragraphs\n- No walls of text\n- Professional but human\n\n**GOOD OPENER:**\n\"Hi [Name], saw your post about [specific topic] - really resonated because [connection to your context].\"\n\n**BAD OPENER:**\n\"Hi, I hope this message finds you well. I came across your profile...\"\n\n---\n\n## STEP 5: SEND OR PREVIEW\n\n1. Find the message button/option\n2. Click to open message composer\n3. Type or paste the message\n\n### IF true === true:\n4. Click send button\n5. Wait for confirmation\n6. Verify message appears in conversation\n\n### IF true === false:\n4. Leave message in composer\n5. Report ready for manual review\n\n---\n\n## STEP 6: REPORT RESULTS\n\n```json\n{\n  \"success\": true|false,\n  \"recipientName\": \"\",\n  \"recipientTitle\": \"\",\n  \"connectionStatus\": \"1st|2nd|3rd|out_of_network\",\n  \"connectionRequestSent\": true|false,\n  \"messageText\": \"<the message used>\",\n  \"messageSource\": \"provided|generated\",\n  \"characterCount\": <number>,\n  \"personalizationUsed\": [\"recent post about X\", \"shared connection Y\"],\n  \"status\": \"sent|ready_for_review|connection_pending|failed\",\n  \"errorMessage\": \"<if failed>\"\n}\n```\n\n---\n\n## CHARACTER LIMIT HANDLING\n\n- Regular messages: No hard limit but keep under 1,000 chars\n- InMail: ~8,000 chars but 300-500 performs best\n- Connection notes: 300 characters MAX\n- If over limit, truncate intelligently or report\n\n## ADAPTIVE UI HANDLING\n\n- Message button may be prominent or in \"More\" dropdown\n- Connection flow varies by LinkedIn tier\n- InMail availability depends on your subscription\n- Some profiles have messaging restricted",
  "userInput": "You are sending a LinkedIn direct message. Adapt to the actual UI you encounter.\n\n**TASK CONFIGURATION:**\n- Profile URL: \n- User's Message: \n- Message Goal: networking\n- Context: \n- Connect First: true\n- Auto-send: true\n\n---\n\n## STEP 1: NAVIGATE TO PROFILE\n\n1. Go to \n2. Wait for profile to fully load\n3. If not logged in, STOP and report authentication required\n4. If profile not found, report error\n\n---\n\n## STEP 2: ANALYZE THEIR PROFILE (for personalization)\n\n**Extract key details:**\n- Current role and company\n- Headline\n- Recent posts or activity (if visible)\n- Shared connections\n- Background relevant to your context\n- Anything that creates a personal hook\n\n---\n\n## STEP 3: CHECK CONNECTION STATUS\n\n**Determine relationship:**\n- 1st degree (connected): Can message directly\n- 2nd/3rd degree: May need to connect first or use InMail\n- \"Message\" button visible: Can message\n- Only \"Connect\" visible: Need to connect first\n\n### IF not connected AND true === true:\n1. Click \"Connect\" (may be in \"More\" dropdown)\n2. LinkedIn may offer \"Add a note\" option\n3. If note option available, add a brief connection note (under 300 chars)\n4. Send connection request\n5. Note: DM may need to wait until they accept\n\n### IF not connected AND true === false:\n- Check if InMail is available\n- If no messaging option, report limitation\n\n---\n\n## STEP 4: PREPARE MESSAGE\n\n### IF user provided messageText:\nUse this message exactly:\n```\n\n```\n\n**VALIDATION:**\n- LinkedIn messages: Generally keep under 1,000 chars for best response\n- InMail: Up to ~8,000 chars but shorter is better\n- Check for spam trigger words\n\n### IF messageText is empty - GENERATE MESSAGE:\n\n**Generate a networking message that:**\n\n1. **Opens with personalized hook:**\n   - Reference something SPECIFIC from their profile\n   - Recent post, shared connection, their work, company\n   - NOT: \"I came across your profile and was impressed\"\n\n2. **States purpose clearly (but not pushy):**\n   - networking: Express genuine interest in connecting\n   - sales: Soft intro to value prop, not hard pitch\n   - recruiting: Role and why they're a fit\n   - partnership: Specific collaboration idea\n   - advice: Specific question, respect their time\n   - job: Interest in their company, relevant background\n   - followup: Reference previous interaction\n\n3. **Includes context naturally:**\n   \"\"\n\n4. **Ends with soft CTA:**\n   - One question, not five\n   - Easy to respond to\n   - Open-ended preferred\n\n**FORMAT:**\n- Under 200 words ideal\n- Short paragraphs\n- No walls of text\n- Professional but human\n\n**GOOD OPENER:**\n\"Hi [Name], saw your post about [specific topic] - really resonated because [connection to your context].\"\n\n**BAD OPENER:**\n\"Hi, I hope this message finds you well. I came across your profile...\"\n\n---\n\n## STEP 5: SEND OR PREVIEW\n\n1. Find the message button/option\n2. Click to open message composer\n3. Type or paste the message\n\n### IF true === true:\n4. Click send button\n5. Wait for confirmation\n6. Verify message appears in conversation\n\n### IF true === false:\n4. Leave message in composer\n5. Report ready for manual review\n\n---\n\n## STEP 6: REPORT RESULTS\n\n```json\n{\n  \"success\": true|false,\n  \"recipientName\": \"\",\n  \"recipientTitle\": \"\",\n  \"connectionStatus\": \"1st|2nd|3rd|out_of_network\",\n  \"connectionRequestSent\": true|false,\n  \"messageText\": \"<the message used>\",\n  \"messageSource\": \"provided|generated\",\n  \"characterCount\": <number>,\n  \"personalizationUsed\": [\"recent post about X\", \"shared connection Y\"],\n  \"status\": \"sent|ready_for_review|connection_pending|failed\",\n  \"errorMessage\": \"<if failed>\"\n}\n```\n\n---\n\n## CHARACTER LIMIT HANDLING\n\n- Regular messages: No hard limit but keep under 1,000 chars\n- InMail: ~8,000 chars but 300-500 performs best\n- Connection notes: 300 characters MAX\n- If over limit, truncate intelligently or report\n\n## ADAPTIVE UI HANDLING\n\n- Message button may be prominent or in \"More\" dropdown\n- Connection flow varies by LinkedIn tier\n- InMail availability depends on your subscription\n- Some profiles have messaging restricted",
  "urls": [],
  "meta": {
    "createdAt": "",
    "userAgent": ""
  },
  "execution": {
    "mode": "device",
    "deviceIds": []
  }
}

MORE STARTING POINTS

Other templates for messages and follows.

See all templates
MESSAGES AND FOLLOWSSend an Instagram message

Open the account, write a relevant message, and send it from your account.

MESSAGES AND FOLLOWSSend an X message

Open the account, write a relevant message, and send it from your account.

MESSAGES AND FOLLOWSSend a LinkedIn connection request

Send a connection request with a note based on the profile you choose.