Exact request sent to the run panel.
{
"source": "retrieve",
"template": {
"id": "bulk_instagram_dm",
"slug": "bulk-instagram-dm",
"name": "Bulk Instagram DM Sender",
"categoryId": "SOCIAL_SCALE"
},
"inputs": {
"sheetUrl": "",
"messageGoal": "collaboration",
"messageTemplate": "",
"__inputSource": "sheet"
},
"agentHint": "You are sending bulk Instagram DMs. Adapt completely to the actual UI you encounter.\n\n**TASK CONFIGURATION:**\n- Sheet URL: \n- Message Goal: collaboration\n- Message Template: \n\n---\n\n## STEP 1: LOAD SHEET DATA\n\n1. Navigate to \n2. Read all rows\n3. **Expected columns:**\n - profile_url (REQUIRED)\n - name (optional - helps personalization)\n - message_text (optional - overrides generation)\n - context (optional - extra personalization)\n4. Validate: Skip rows without profile_url\n5. Count total valid rows for progress tracking\n\n---\n\n## STEP 2: PROCESS EACH ROW\n\nFor each valid row:\n\n### A. NAVIGATE TO PROFILE\n1. Go to the Instagram profile_url from this row\n2. Wait for profile to fully load\n3. **Check profile status:**\n - Profile exists? If not, log \"Profile not found\" and continue\n - Private account? Note this affects DM delivery\n - Account type (personal, creator, business)\n\n### B. ANALYZE THEIR PROFILE (for personalization)\n**Gather context for message generation:**\n- Username and display name\n- Bio content and niche\n- Follower count (relevance indicator)\n- Recent post themes (if visible)\n- Account type and aesthetic\n\n### C. ACCESS DM FUNCTIONALITY\n1. Look for message/DM action on their profile\n2. **Possible states:**\n - DM button visible: Proceed\n - No DM option: Account may have DMs restricted\n - \"Message\" in dropdown/menu: Find and access it\n3. If DMs not accessible, log \"DMs restricted\" and continue to next\n\n### D. PREPARE MESSAGE\n\n**IF message_text column has content for this row:**\nUse it exactly as provided.\n\n**VALIDATION:**\n- Instagram DMs have ~1,000 character limit per message\n- If over limit: Log \"Message exceeds 1,000 chars ()\" and skip\n- Check for spam trigger words\n\n**ELSE generate message:**\n- Goal: collaboration\n- Template/angle: \"\"\n- Row context: [use context column if present]\n- Profile personalization: [use analyzed profile data]\n\n**Generation rules:**\n- Reference something SPECIFIC from their profile/content\n- Keep it casual (Instagram tone is informal)\n- 3-5 sentences maximum\n- Include context naturally\n- Match their aesthetic energy\n- NEVER be overtly promotional in first message\n\n### E. SEND MESSAGE\n1. Open DM composer\n2. Enter the message\n3. Check for any validation warnings\n4. Send the message\n5. Wait for confirmation (message appears in thread)\n6. **Check delivery status:**\n - Sent successfully\n - In \"requests\" folder (not following)\n - Failed/blocked\n\n### F. LOG RESULT\nRecord for this row:\n- Profile URL and username\n- Message sent or generated\n- Character count\n- Delivery status\n- Any errors encountered\n\n### G. RATE LIMITING - CRITICAL\n- Wait 45-90 seconds between DMs (vary timing)\n- Instagram has strict DM limits\n- **If you see \"Action Blocked\" or similar warning:**\n - STOP immediately\n - Report partial results\n - Note the warning message\n\n---\n\n## STEP 3: GENERATE COMPLETION REPORT\n\n```json\n{\n \"totalRows\": <number>,\n \"processed\": <number>,\n \"sent\": <number>,\n \"inRequests\": <number>,\n \"skippedRestricted\": <number>,\n \"skippedOverLimit\": <number>,\n \"failed\": <number>,\n \"stoppedEarly\": false,\n \"stopReason\": \"\",\n \"results\": [\n {\n \"rowIndex\": <number>,\n \"profileUrl\": \"\",\n \"recipientUsername\": \"\",\n \"followerCount\": <number>,\n \"accountType\": \"personal|creator|business\",\n \"dmAccessible\": true|false,\n \"messageSource\": \"sheet|generated\",\n \"messagePreview\": \"<first 100 chars>\",\n \"characterCount\": <number>,\n \"withinLimit\": true|false,\n \"deliveryStatus\": \"sent|in_requests|restricted|failed\",\n \"error\": \"\"\n }\n ],\n \"warnings\": []\n}\n```\n\n---\n\n## ADAPTIVE UI HANDLING\n\n**DO NOT assume specific button locations or text.**\n- DM button may be icon, text, or in menu\n- Message composer varies by account type\n- Delivery confirmation appears differently\n- Handle any prompts or modals that appear\n\n## INSTAGRAM-SPECIFIC CONSIDERATIONS\n\n- Messages to non-followers go to \"Requests\"\n- Creator/Business accounts may have different DM flows\n- Some accounts have DM filtering enabled\n- Too many DMs too fast = action block (can last hours to days)\n- Being promotional = lower response rates",
"userInput": "You are sending bulk Instagram DMs. Adapt completely to the actual UI you encounter.\n\n**TASK CONFIGURATION:**\n- Sheet URL: \n- Message Goal: collaboration\n- Message Template: \n\n---\n\n## STEP 1: LOAD SHEET DATA\n\n1. Navigate to \n2. Read all rows\n3. **Expected columns:**\n - profile_url (REQUIRED)\n - name (optional - helps personalization)\n - message_text (optional - overrides generation)\n - context (optional - extra personalization)\n4. Validate: Skip rows without profile_url\n5. Count total valid rows for progress tracking\n\n---\n\n## STEP 2: PROCESS EACH ROW\n\nFor each valid row:\n\n### A. NAVIGATE TO PROFILE\n1. Go to the Instagram profile_url from this row\n2. Wait for profile to fully load\n3. **Check profile status:**\n - Profile exists? If not, log \"Profile not found\" and continue\n - Private account? Note this affects DM delivery\n - Account type (personal, creator, business)\n\n### B. ANALYZE THEIR PROFILE (for personalization)\n**Gather context for message generation:**\n- Username and display name\n- Bio content and niche\n- Follower count (relevance indicator)\n- Recent post themes (if visible)\n- Account type and aesthetic\n\n### C. ACCESS DM FUNCTIONALITY\n1. Look for message/DM action on their profile\n2. **Possible states:**\n - DM button visible: Proceed\n - No DM option: Account may have DMs restricted\n - \"Message\" in dropdown/menu: Find and access it\n3. If DMs not accessible, log \"DMs restricted\" and continue to next\n\n### D. PREPARE MESSAGE\n\n**IF message_text column has content for this row:**\nUse it exactly as provided.\n\n**VALIDATION:**\n- Instagram DMs have ~1,000 character limit per message\n- If over limit: Log \"Message exceeds 1,000 chars ()\" and skip\n- Check for spam trigger words\n\n**ELSE generate message:**\n- Goal: collaboration\n- Template/angle: \"\"\n- Row context: [use context column if present]\n- Profile personalization: [use analyzed profile data]\n\n**Generation rules:**\n- Reference something SPECIFIC from their profile/content\n- Keep it casual (Instagram tone is informal)\n- 3-5 sentences maximum\n- Include context naturally\n- Match their aesthetic energy\n- NEVER be overtly promotional in first message\n\n### E. SEND MESSAGE\n1. Open DM composer\n2. Enter the message\n3. Check for any validation warnings\n4. Send the message\n5. Wait for confirmation (message appears in thread)\n6. **Check delivery status:**\n - Sent successfully\n - In \"requests\" folder (not following)\n - Failed/blocked\n\n### F. LOG RESULT\nRecord for this row:\n- Profile URL and username\n- Message sent or generated\n- Character count\n- Delivery status\n- Any errors encountered\n\n### G. RATE LIMITING - CRITICAL\n- Wait 45-90 seconds between DMs (vary timing)\n- Instagram has strict DM limits\n- **If you see \"Action Blocked\" or similar warning:**\n - STOP immediately\n - Report partial results\n - Note the warning message\n\n---\n\n## STEP 3: GENERATE COMPLETION REPORT\n\n```json\n{\n \"totalRows\": <number>,\n \"processed\": <number>,\n \"sent\": <number>,\n \"inRequests\": <number>,\n \"skippedRestricted\": <number>,\n \"skippedOverLimit\": <number>,\n \"failed\": <number>,\n \"stoppedEarly\": false,\n \"stopReason\": \"\",\n \"results\": [\n {\n \"rowIndex\": <number>,\n \"profileUrl\": \"\",\n \"recipientUsername\": \"\",\n \"followerCount\": <number>,\n \"accountType\": \"personal|creator|business\",\n \"dmAccessible\": true|false,\n \"messageSource\": \"sheet|generated\",\n \"messagePreview\": \"<first 100 chars>\",\n \"characterCount\": <number>,\n \"withinLimit\": true|false,\n \"deliveryStatus\": \"sent|in_requests|restricted|failed\",\n \"error\": \"\"\n }\n ],\n \"warnings\": []\n}\n```\n\n---\n\n## ADAPTIVE UI HANDLING\n\n**DO NOT assume specific button locations or text.**\n- DM button may be icon, text, or in menu\n- Message composer varies by account type\n- Delivery confirmation appears differently\n- Handle any prompts or modals that appear\n\n## INSTAGRAM-SPECIFIC CONSIDERATIONS\n\n- Messages to non-followers go to \"Requests\"\n- Creator/Business accounts may have different DM flows\n- Some accounts have DM filtering enabled\n- Too many DMs too fast = action block (can last hours to days)\n- Being promotional = lower response rates",
"urls": [],
"meta": {
"createdAt": "",
"userAgent": ""
},
"execution": {
"mode": "device",
"deviceIds": []
}
}