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

CREATE POSTS TEMPLATE

Create an X post

Draft and publish one X post or a thread from your topic or finished copy.

RUNS INYour signed-in browser
SETUP6 details to add
WHAT YOU GET04 PARTS
  1. 01Finished X post or thread
  2. 02Clear opening line
  3. 03Thread order when needed
  4. 04Published post link
EXAMPLE INPUTExplain what changed in our latest release

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.

Add finished copy, or leave it blank for rtrvr to draft from the topic.

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

Sign in to use your Sheet or signed-in browser.

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": "x_post_creator",
    "slug": "x-post-creator",
    "name": "X/Twitter Post Creator",
    "categoryId": "SOCIAL_CREATE"
  },
  "inputs": {
    "postContent": "",
    "topic": "",
    "format": "single",
    "vibe": "smart",
    "context": "",
    "autoPost": true
  },
  "agentHint": "You are creating content on X/Twitter. Adapt to the actual UI you encounter.\n\n**TASK CONFIGURATION:**\n- Post Content: \n- Topic: \n- Format: single\n- Vibe: smart\n- Context: \n- Auto-post: true\n\n---\n\n## STEP 1: NAVIGATE TO X\n\n1. Go to x.com\n2. Wait for page to load\n3. If not logged in, STOP and report authentication required\n\n---\n\n## STEP 2: PREPARE CONTENT\n\n### IF user provided postContent:\nUse this content exactly:\n```\n\n```\n\n**⚠️ CRITICAL VALIDATION:**\n- Single tweets: STRICT 280 CHARACTER LIMIT\n- Count characters BEFORE posting\n- If over 280: STOP and report \"Tweet exceeds 280 character limit ( chars)\"\n- For threads (content separated by ---): Validate EACH tweet is under 280\n\n### IF postContent is empty - GENERATE CONTENT:\n\n**Format: single**\n**Vibe: smart**\n\n**For Single Tweet:**\n- Hook in first 50 characters\n- Under 280 characters total\n- Punchy and shareable\n- No hashtags in main text (looks desperate)\n\n**For Thread:**\n- First tweet: Hook that makes people click \"Show thread\"\n- Each tweet: Standalone but connected\n- Last tweet: CTA (follow, retweet, comment)\n- Each under 280 characters\n\n**Include context:** \"\"\n\n---\n\n## STEP 3: CREATE POST\n\n1. Find the compose/tweet area\n2. Click to open composer\n3. **For single tweet:** Enter content\n4. **For thread:** \n   - Enter first tweet\n   - Find \"add to thread\" or + button\n   - Add subsequent tweets\n\n---\n\n## STEP 4: VALIDATE BEFORE POSTING\n\n**For each tweet:**\n1. Count characters (X may show count)\n2. If ANY tweet exceeds 280: STOP\n3. Report: \"Tweet  exceeds limit: /280\"\n\n---\n\n## STEP 5: POST OR PREVIEW\n\n### IF true === true AND all validation passes:\n1. Find and click post button\n2. Wait for confirmation\n3. Capture tweet URL(s)\n\n### IF true === false:\n1. Leave in composer\n2. Report ready for review\n\n---\n\n## STEP 6: REPORT RESULTS\n\n```json\n{\n  \"success\": true|false,\n  \"format\": \"single|thread\",\n  \"tweets\": [\n    {\n      \"text\": \"\",\n      \"characterCount\": <number>,\n      \"withinLimit\": true|false\n    }\n  ],\n  \"contentSource\": \"provided|generated\",\n  \"status\": \"posted|ready_for_review|over_limit|failed\",\n  \"tweetUrls\": [],\n  \"errorMessage\": \"<if failed>\"\n}\n```\n\n---\n\n## CHARACTER LIMIT - CRITICAL\n\n**X/Twitter has a STRICT 280 character limit per tweet.**\n- This is non-negotiable\n- Always count before posting\n- URLs count as 23 characters\n- Never truncate without user consent",
  "userInput": "You are creating content on X/Twitter. Adapt to the actual UI you encounter.\n\n**TASK CONFIGURATION:**\n- Post Content: \n- Topic: \n- Format: single\n- Vibe: smart\n- Context: \n- Auto-post: true\n\n---\n\n## STEP 1: NAVIGATE TO X\n\n1. Go to x.com\n2. Wait for page to load\n3. If not logged in, STOP and report authentication required\n\n---\n\n## STEP 2: PREPARE CONTENT\n\n### IF user provided postContent:\nUse this content exactly:\n```\n\n```\n\n**⚠️ CRITICAL VALIDATION:**\n- Single tweets: STRICT 280 CHARACTER LIMIT\n- Count characters BEFORE posting\n- If over 280: STOP and report \"Tweet exceeds 280 character limit ( chars)\"\n- For threads (content separated by ---): Validate EACH tweet is under 280\n\n### IF postContent is empty - GENERATE CONTENT:\n\n**Format: single**\n**Vibe: smart**\n\n**For Single Tweet:**\n- Hook in first 50 characters\n- Under 280 characters total\n- Punchy and shareable\n- No hashtags in main text (looks desperate)\n\n**For Thread:**\n- First tweet: Hook that makes people click \"Show thread\"\n- Each tweet: Standalone but connected\n- Last tweet: CTA (follow, retweet, comment)\n- Each under 280 characters\n\n**Include context:** \"\"\n\n---\n\n## STEP 3: CREATE POST\n\n1. Find the compose/tweet area\n2. Click to open composer\n3. **For single tweet:** Enter content\n4. **For thread:** \n   - Enter first tweet\n   - Find \"add to thread\" or + button\n   - Add subsequent tweets\n\n---\n\n## STEP 4: VALIDATE BEFORE POSTING\n\n**For each tweet:**\n1. Count characters (X may show count)\n2. If ANY tweet exceeds 280: STOP\n3. Report: \"Tweet  exceeds limit: /280\"\n\n---\n\n## STEP 5: POST OR PREVIEW\n\n### IF true === true AND all validation passes:\n1. Find and click post button\n2. Wait for confirmation\n3. Capture tweet URL(s)\n\n### IF true === false:\n1. Leave in composer\n2. Report ready for review\n\n---\n\n## STEP 6: REPORT RESULTS\n\n```json\n{\n  \"success\": true|false,\n  \"format\": \"single|thread\",\n  \"tweets\": [\n    {\n      \"text\": \"\",\n      \"characterCount\": <number>,\n      \"withinLimit\": true|false\n    }\n  ],\n  \"contentSource\": \"provided|generated\",\n  \"status\": \"posted|ready_for_review|over_limit|failed\",\n  \"tweetUrls\": [],\n  \"errorMessage\": \"<if failed>\"\n}\n```\n\n---\n\n## CHARACTER LIMIT - CRITICAL\n\n**X/Twitter has a STRICT 280 character limit per tweet.**\n- This is non-negotiable\n- Always count before posting\n- URLs count as 23 characters\n- Never truncate without user consent",
  "urls": [],
  "meta": {
    "createdAt": "",
    "userAgent": ""
  },
  "execution": {
    "mode": "device",
    "deviceIds": []
  }
}

MORE STARTING POINTS

Other templates for create posts.

See all templates
CREATE POSTSCreate a LinkedIn post

Draft and publish a LinkedIn post from your topic or finished copy.

CREATE POSTSCreate a Threads post

Draft and publish a Threads post from your topic or finished copy.

CREATE POSTSCreate a Reddit post

Draft a post that follows the subreddit’s rules, then publish it.