Exact request sent to the run panel.
{
"source": "retrieve",
"template": {
"id": "bulk_social_poster",
"slug": "bulk-social-poster",
"name": "Bulk Social Poster",
"categoryId": "SOCIAL_SCALE"
},
"inputs": {
"sheetUrl": "",
"platform": "all",
"contentTopic": "",
"contentStyle": "professional",
"__inputSource": "sheet"
},
"agentHint": "You are posting to multiple social accounts. Adapt to each platform's UI.\n\n**TASK CONFIGURATION:**\n- Sheet URL: \n- Platform Filter: all\n- Content Topic: \n- Content Style: professional\n\n---\n\n## STEP 1: LOAD SHEET DATA\n\n1. Navigate to \n2. Read all rows\n3. **Expected columns:**\n - platform (linkedin, x, threads, reddit, substack)\n - profile_url (where to post)\n - post_content (optional - overrides generation)\n4. Filter rows if all !== \"all\"\n5. Count valid rows\n\n---\n\n## PLATFORM CHARACTER LIMITS - MEMORIZE\n\n| Platform | Limit | Notes |\n|-----------|--------------|--------------------------|\n| LinkedIn | ~3,000 chars | Soft limit |\n| X/Twitter | 280 chars | **STRICT - HARD LIMIT** |\n| Threads | ~500 chars | Soft limit |\n| Reddit | ~40,000 | Title: 300, varies by sub|\n| Substack | No limit | Notes: ~2,500 chars |\n\n---\n\n## STEP 2: PROCESS EACH ROW\n\nFor each valid row:\n\n### A. IDENTIFY PLATFORM\n- Read platform column\n- Apply filter if all !== \"all\"\n- Skip if doesn't match filter\n\n### B. NAVIGATE TO POSTING LOCATION\n1. Go to profile_url for this row\n2. Wait for page to load\n3. **Check authentication:**\n - If not logged in: Log \"Auth required for [platform]\" and continue\n - If logged in: Proceed\n\n### C. PREPARE POST CONTENT\n\n**IF post_content column has content:**\nUse it exactly.\n\n**⚠️ VALIDATE AGAINST PLATFORM LIMIT:**\n- Get character count\n- Compare to platform limit above\n- **If X/Twitter and > 280 chars:**\n - Log \"Content exceeds X 280 char limit ( chars)\"\n - Skip this row (DO NOT truncate without permission)\n- For other platforms over limit: Log warning\n\n**ELSE generate content:**\n- Topic: \"\"\n- Style: professional\n- Platform-specific formatting:\n\n**LinkedIn:** Professional hook, value-driven, 150-250 words, 3-5 hashtags at end\n**X/Twitter:** Punchy, under 280 chars, no hashtags in main text, thread if needed\n**Threads:** Conversational, authentic, under 500 chars, question or discussion starter\n**Reddit:** Value-first, match subreddit culture, non-promotional, check rules\n**Substack:** Newsletter tone, thoughtful, can be longer for posts\n\n### D. CREATE THE POST\n1. Find post creation area (varies by platform)\n2. Open composer/editor\n3. Enter content\n4. **Before submitting:**\n - Check for validation errors\n - Verify character count acceptable\n - Review formatting\n5. Submit/publish\n\n### E. VERIFY & LOG\n1. Wait for post confirmation\n2. Capture post URL if possible\n3. Log result (success, failed, skipped)\n4. Note any warnings\n\n### F. RATE LIMITING\n- Wait 30-60 seconds between posts\n- Each platform has different limits\n- **If any warning appears:** STOP and report\n\n---\n\n## STEP 3: GENERATE COMPLETION REPORT\n\n```json\n{\n \"totalRows\": <number>,\n \"processed\": <number>,\n \"successful\": <number>,\n \"skippedOverLimit\": <number>,\n \"authRequired\": <number>,\n \"failed\": <number>,\n \"results\": [\n {\n \"rowIndex\": <number>,\n \"platform\": \"\",\n \"profileUrl\": \"\",\n \"contentSource\": \"sheet|generated\",\n \"postContent\": \"\",\n \"characterCount\": <number>,\n \"platformLimit\": <number>,\n \"withinLimit\": true|false,\n \"status\": \"posted|skipped_over_limit|auth_required|failed\",\n \"postUrl\": \"\",\n \"error\": \"\"\n }\n ],\n \"platformBreakdown\": {\n \"linkedin\": { \"attempted\": 0, \"successful\": 0 },\n \"x\": { \"attempted\": 0, \"successful\": 0 }\n }\n}\n```\n\n---\n\n## X/TWITTER CRITICAL REMINDER\n\n**The 280 character limit is ABSOLUTE.**\n- Count EVERY post destined for X\n- Never truncate without explicit permission\n- Log exact count when over limit\n- Skip and report, let user fix",
"userInput": "You are posting to multiple social accounts. Adapt to each platform's UI.\n\n**TASK CONFIGURATION:**\n- Sheet URL: \n- Platform Filter: all\n- Content Topic: \n- Content Style: professional\n\n---\n\n## STEP 1: LOAD SHEET DATA\n\n1. Navigate to \n2. Read all rows\n3. **Expected columns:**\n - platform (linkedin, x, threads, reddit, substack)\n - profile_url (where to post)\n - post_content (optional - overrides generation)\n4. Filter rows if all !== \"all\"\n5. Count valid rows\n\n---\n\n## PLATFORM CHARACTER LIMITS - MEMORIZE\n\n| Platform | Limit | Notes |\n|-----------|--------------|--------------------------|\n| LinkedIn | ~3,000 chars | Soft limit |\n| X/Twitter | 280 chars | **STRICT - HARD LIMIT** |\n| Threads | ~500 chars | Soft limit |\n| Reddit | ~40,000 | Title: 300, varies by sub|\n| Substack | No limit | Notes: ~2,500 chars |\n\n---\n\n## STEP 2: PROCESS EACH ROW\n\nFor each valid row:\n\n### A. IDENTIFY PLATFORM\n- Read platform column\n- Apply filter if all !== \"all\"\n- Skip if doesn't match filter\n\n### B. NAVIGATE TO POSTING LOCATION\n1. Go to profile_url for this row\n2. Wait for page to load\n3. **Check authentication:**\n - If not logged in: Log \"Auth required for [platform]\" and continue\n - If logged in: Proceed\n\n### C. PREPARE POST CONTENT\n\n**IF post_content column has content:**\nUse it exactly.\n\n**⚠️ VALIDATE AGAINST PLATFORM LIMIT:**\n- Get character count\n- Compare to platform limit above\n- **If X/Twitter and > 280 chars:**\n - Log \"Content exceeds X 280 char limit ( chars)\"\n - Skip this row (DO NOT truncate without permission)\n- For other platforms over limit: Log warning\n\n**ELSE generate content:**\n- Topic: \"\"\n- Style: professional\n- Platform-specific formatting:\n\n**LinkedIn:** Professional hook, value-driven, 150-250 words, 3-5 hashtags at end\n**X/Twitter:** Punchy, under 280 chars, no hashtags in main text, thread if needed\n**Threads:** Conversational, authentic, under 500 chars, question or discussion starter\n**Reddit:** Value-first, match subreddit culture, non-promotional, check rules\n**Substack:** Newsletter tone, thoughtful, can be longer for posts\n\n### D. CREATE THE POST\n1. Find post creation area (varies by platform)\n2. Open composer/editor\n3. Enter content\n4. **Before submitting:**\n - Check for validation errors\n - Verify character count acceptable\n - Review formatting\n5. Submit/publish\n\n### E. VERIFY & LOG\n1. Wait for post confirmation\n2. Capture post URL if possible\n3. Log result (success, failed, skipped)\n4. Note any warnings\n\n### F. RATE LIMITING\n- Wait 30-60 seconds between posts\n- Each platform has different limits\n- **If any warning appears:** STOP and report\n\n---\n\n## STEP 3: GENERATE COMPLETION REPORT\n\n```json\n{\n \"totalRows\": <number>,\n \"processed\": <number>,\n \"successful\": <number>,\n \"skippedOverLimit\": <number>,\n \"authRequired\": <number>,\n \"failed\": <number>,\n \"results\": [\n {\n \"rowIndex\": <number>,\n \"platform\": \"\",\n \"profileUrl\": \"\",\n \"contentSource\": \"sheet|generated\",\n \"postContent\": \"\",\n \"characterCount\": <number>,\n \"platformLimit\": <number>,\n \"withinLimit\": true|false,\n \"status\": \"posted|skipped_over_limit|auth_required|failed\",\n \"postUrl\": \"\",\n \"error\": \"\"\n }\n ],\n \"platformBreakdown\": {\n \"linkedin\": { \"attempted\": 0, \"successful\": 0 },\n \"x\": { \"attempted\": 0, \"successful\": 0 }\n }\n}\n```\n\n---\n\n## X/TWITTER CRITICAL REMINDER\n\n**The 280 character limit is ABSOLUTE.**\n- Count EVERY post destined for X\n- Never truncate without explicit permission\n- Log exact count when over limit\n- Skip and report, let user fix",
"urls": [],
"meta": {
"createdAt": "",
"userAgent": ""
},
"execution": {
"mode": "device",
"deviceIds": []
}
}