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

RUN FROM A SPREADSHEET TEMPLATE

Publish comments from a spreadsheet

Use a Google Sheet to write and publish a relevant comment on each post.

RUNS INYour signed-in browser
SETUPOne target or a Google Sheet
WHAT YOU GET03 PARTS
  1. 01One comment per Sheet row
  2. 02Comment based on each source post
  3. 03Published link or status for each row
EXAMPLE INPUTComment on 50 LinkedIn posts from sheet

SET UP YOUR RUN

Add the details. Check the result. Run it.

No code needed.
01

Choose your starting list

Run once for one target, or repeat it for every row in a Google Sheet.

Google Sheet

Choose the Sheet with one target per row.

EXPECTED COLUMNSplatform, post_url, comment_text (optional)

No sheet selected. Choose one from Google Drive.

Sign in to choose a Sheet

Your run stays disabled until the Sheet is connected.

02

Tell rtrvr what to use

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

Describe the point, tone, or perspective each comment should use.

03

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": "bulk_commenter",
    "slug": "bulk-commenter",
    "name": "Bulk Commenter",
    "categoryId": "SOCIAL_SCALE"
  },
  "inputs": {
    "sheetUrl": "",
    "platform": "all",
    "commentStyle": "thoughtful",
    "commentAngle": "",
    "__inputSource": "sheet"
  },
  "agentHint": "You are bulk commenting across social platforms. Adapt to each platform's UI.\n\n**TASK CONFIGURATION:**\n- Sheet URL: \n- Platform Filter: all\n- Comment Style: thoughtful\n- Comment Angle: \n\n---\n\n## STEP 1: LOAD SHEET DATA\n\n1. Navigate to \n2. Read all rows\n3. **Expected columns:**\n   - platform (e.g., linkedin, x, instagram, youtube, reddit, substack)\n   - post_url (REQUIRED)\n   - comment_text (optional)\n4. Filter by platform if all !== \"all\"\n\n---\n\n## PLATFORM CHARACTER LIMITS - MEMORIZE THESE\n\n| Platform   | Limit        | Notes                    |\n|------------|--------------|--------------------------|\n| LinkedIn   | ~1,250 chars | Soft limit               |\n| X/Twitter  | 280 chars    | **STRICT - HARD LIMIT**  |\n| Instagram  | ~2,200 chars | May vary                 |\n| YouTube    | ~10,000 chars| Practical limit          |\n| Reddit     | ~10,000 chars| Practical limit          |\n| Substack   | No limit     | Be reasonable            |\n\n---\n\n## STEP 2: PROCESS EACH ROW\n\nFor each valid row:\n\n### A. NAVIGATE TO POST\n1. Go to post_url\n2. Wait for post to fully load\n3. Identify platform (from column or URL pattern)\n\n### B. READ THE POST CONTENT\n**Critical: Read before commenting**\n- Full post text (expand if needed)\n- Author and context\n- Media/attachments\n- Key points to reference\n\n### C. PREPARE COMMENT\n\n**IF comment_text column has content:**\n\n**⚠️ VALIDATE AGAINST PLATFORM LIMIT:**\n- Get platform from row\n- Check character count against limit above\n- **If X/Twitter and > 280 chars:**\n  - Log \"Comment exceeds X 280 char limit ( chars)\"\n  - Skip this row (DO NOT truncate)\n- For other platforms over limit: Log warning but may proceed\n\n**ELSE generate comment:**\n- Style: thoughtful\n- Angle: \"\"\n- **MUST reference specific post content**\n- Platform-appropriate length:\n  - X/Twitter: Under 280 chars\n  - Others: 2-4 sentences\n\n### D. POST COMMENT\n1. Find comment input area\n2. Enter comment\n3. **Before submitting, check for:**\n   - Character count warnings/errors\n   - Validation messages\n   - Any error states\n4. Submit only if valid\n5. Verify comment posted\n6. Log result\n\n### E. RATE LIMITING\n- Wait 45-90 seconds between comments\n- Vary timing to appear natural\n- If platform warning appears, stop\n\n---\n\n## STEP 3: GENERATE REPORT\n\n```json\n{\n  \"totalRows\": <number>,\n  \"processed\": <number>,\n  \"successful\": <number>,\n  \"skippedOverLimit\": <number>,\n  \"failed\": <number>,\n  \"results\": [\n    {\n      \"rowIndex\": <number>,\n      \"platform\": \"\",\n      \"postUrl\": \"\",\n      \"postSummary\": \"<brief summary>\",\n      \"contentSource\": \"sheet|generated\",\n      \"commentText\": \"\",\n      \"characterCount\": <number>,\n      \"platformLimit\": <number>,\n      \"withinLimit\": true|false,\n      \"status\": \"success|skipped_over_limit|failed\",\n      \"error\": \"\"\n    }\n  ]\n}\n```\n\n---\n\n## X/TWITTER SPECIAL HANDLING\n\n**The 280 character limit on X is ABSOLUTE.**\n\n- Count characters for EVERY X/Twitter comment\n- If over 280: DO NOT post, skip row, log error\n- Never truncate without explicit user consent\n- URLs count as 23 characters\n\n**This applies to both sheet-provided and generated comments.**",
  "userInput": "You are bulk commenting across social platforms. Adapt to each platform's UI.\n\n**TASK CONFIGURATION:**\n- Sheet URL: \n- Platform Filter: all\n- Comment Style: thoughtful\n- Comment Angle: \n\n---\n\n## STEP 1: LOAD SHEET DATA\n\n1. Navigate to \n2. Read all rows\n3. **Expected columns:**\n   - platform (e.g., linkedin, x, instagram, youtube, reddit, substack)\n   - post_url (REQUIRED)\n   - comment_text (optional)\n4. Filter by platform if all !== \"all\"\n\n---\n\n## PLATFORM CHARACTER LIMITS - MEMORIZE THESE\n\n| Platform   | Limit        | Notes                    |\n|------------|--------------|--------------------------|\n| LinkedIn   | ~1,250 chars | Soft limit               |\n| X/Twitter  | 280 chars    | **STRICT - HARD LIMIT**  |\n| Instagram  | ~2,200 chars | May vary                 |\n| YouTube    | ~10,000 chars| Practical limit          |\n| Reddit     | ~10,000 chars| Practical limit          |\n| Substack   | No limit     | Be reasonable            |\n\n---\n\n## STEP 2: PROCESS EACH ROW\n\nFor each valid row:\n\n### A. NAVIGATE TO POST\n1. Go to post_url\n2. Wait for post to fully load\n3. Identify platform (from column or URL pattern)\n\n### B. READ THE POST CONTENT\n**Critical: Read before commenting**\n- Full post text (expand if needed)\n- Author and context\n- Media/attachments\n- Key points to reference\n\n### C. PREPARE COMMENT\n\n**IF comment_text column has content:**\n\n**⚠️ VALIDATE AGAINST PLATFORM LIMIT:**\n- Get platform from row\n- Check character count against limit above\n- **If X/Twitter and > 280 chars:**\n  - Log \"Comment exceeds X 280 char limit ( chars)\"\n  - Skip this row (DO NOT truncate)\n- For other platforms over limit: Log warning but may proceed\n\n**ELSE generate comment:**\n- Style: thoughtful\n- Angle: \"\"\n- **MUST reference specific post content**\n- Platform-appropriate length:\n  - X/Twitter: Under 280 chars\n  - Others: 2-4 sentences\n\n### D. POST COMMENT\n1. Find comment input area\n2. Enter comment\n3. **Before submitting, check for:**\n   - Character count warnings/errors\n   - Validation messages\n   - Any error states\n4. Submit only if valid\n5. Verify comment posted\n6. Log result\n\n### E. RATE LIMITING\n- Wait 45-90 seconds between comments\n- Vary timing to appear natural\n- If platform warning appears, stop\n\n---\n\n## STEP 3: GENERATE REPORT\n\n```json\n{\n  \"totalRows\": <number>,\n  \"processed\": <number>,\n  \"successful\": <number>,\n  \"skippedOverLimit\": <number>,\n  \"failed\": <number>,\n  \"results\": [\n    {\n      \"rowIndex\": <number>,\n      \"platform\": \"\",\n      \"postUrl\": \"\",\n      \"postSummary\": \"<brief summary>\",\n      \"contentSource\": \"sheet|generated\",\n      \"commentText\": \"\",\n      \"characterCount\": <number>,\n      \"platformLimit\": <number>,\n      \"withinLimit\": true|false,\n      \"status\": \"success|skipped_over_limit|failed\",\n      \"error\": \"\"\n    }\n  ]\n}\n```\n\n---\n\n## X/TWITTER SPECIAL HANDLING\n\n**The 280 character limit on X is ABSOLUTE.**\n\n- Count characters for EVERY X/Twitter comment\n- If over 280: DO NOT post, skip row, log error\n- Never truncate without explicit user consent\n- URLs count as 23 characters\n\n**This applies to both sheet-provided and generated comments.**",
  "urls": [],
  "meta": {
    "createdAt": "",
    "userAgent": ""
  },
  "execution": {
    "mode": "device",
    "deviceIds": []
  }
}

MORE STARTING POINTS

Other templates for run from a spreadsheet.

See all templates
RUN FROM A SPREADSHEETSend LinkedIn messages from a spreadsheet

Use a Google Sheet to send a tailored LinkedIn message to each profile.

RUN FROM A SPREADSHEETSend Instagram messages from a spreadsheet

Use a Google Sheet to send a tailored Instagram message to each account.

RUN FROM A SPREADSHEETSend X messages from a spreadsheet

Use a Google Sheet to send a tailored X message to each account.