Exact request sent to the run panel.
{
"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": []
}
}