LinkedIn Inbox Manager
by @dylanbaker24
LinkedIn inbox management with scheduled scanning, auto-draft responses following user's communication style, and approval workflows. Use when monitoring LinkedIn messages, drafting replies, managing inbox during off-hours, or setting up morning ping summaries of LinkedIn activity.
clawhub install linkedin-inboxπ About This Skill
name: linkedin-inbox description: LinkedIn inbox management with scheduled scanning, auto-draft responses following user's communication style, and approval workflows. Use when monitoring LinkedIn messages, drafting replies, managing inbox during off-hours, or setting up morning ping summaries of LinkedIn activity.
LinkedIn Inbox Manager
Automated LinkedIn inbox monitoring with human-in-the-loop approval for responses. Uses Peekaboo for UI automation (no API rate limits, works with any LinkedIn account).
Requirements
brew install steipete/tap/peekaboo)Quick Start
1. One-time Setup
# Grant Peekaboo permissions
peekaboo permissionsVerify LinkedIn is accessible
peekaboo app launch "Google Chrome"
peekaboo see --app "Google Chrome" --annotate --path /tmp/linkedin-check.png
2. Configure User Style
Createlinkedin-inbox-config.json in your workspace:
{
"scan": {
"intervalMinutes": 60,
"activeHours": { "start": 9, "end": 18, "timezone": "America/Los_Angeles" },
"skipWeekends": true
},
"drafting": {
"styleProfile": "USER.md",
"templates": {
"decline": "Thanks for reaching out. Not a fit for us right now, but best of luck.",
"interested": "This looks interesting. Happy to chat more. What's your availability?",
"referral": "I might know someone. Let me check and get back to you."
}
},
"notifications": {
"channel": "discord",
"target": "#linkedin"
}
}
3. Start Monitoring
Tell your agent: "Start LinkedIn inbox monitoring" or add to HEARTBEAT.md:- Check LinkedIn inbox if last scan >1 hour ago
Core Workflow
Scan Inbox
# Navigate to LinkedIn messaging
peekaboo app launch "Google Chrome"
peekaboo menu click --app "Google Chrome" --item "New Tab"
peekaboo type "https://www.linkedin.com/messaging/" --return
sleep 3Capture inbox state
peekaboo see --app "Google Chrome" --window-title "Messaging" --annotate --path /tmp/linkedin-inbox.png
The agent reads the annotated screenshot to identify:
Draft Responses
For each unread message: 1. Agent reads the conversation 2. Classifies intent (pitch, networking, job inquiry, spam) 3. Drafts response matching user's communication style 4. Posts draft to notification channel for approvalExample notification:
πΌ LinkedIn: New message from Alex M. (Founder @ SomeCompany)Preview: "Hi, I noticed you're growing and wondered if..."
My read: Services pitch. Doesn't fit current needs.
Draft reply:
> Thanks for reaching out. We're set on that side for now, but I'll keep you in mind if that changes.
React β
to send, β to skip, or reply with edits.
Send Approved Messages
On approval:# Click into conversation
peekaboo click --on [message-element-id] --app "Google Chrome"
sleep 1Type response
peekaboo type "Your approved message here" --app "Google Chrome"Send (Enter or click Send button)
peekaboo press return --app "Google Chrome"
Communication Style Matching
The skill reads USER.md (or configured style file) to match the user's tone:
Extract these signals:
Apply to drafts:
See references/style-extraction.md for detailed guidance.
Morning Ping Integration
Add LinkedIn summary to your morning ping:
π£ The Morning Ping β Monday, Jan 27LinkedIn:
β’ π Sarah Chen replied β "That sounds great, let's do Thursday" β Draft ready
β’ π Mike R. replied β "Not interested right now" β No action needed
β’ π© 3 new connection requests (2 sales pitches, 1 relevant)
β’ π© 1 unread message from Alex (job inquiry) β Draft ready
Reply "send sarah" to approve, "skip mike" to archive.
Approval Commands
Users can respond with:
send [name] - Send the drafted replysend all - Send all pending draftsskip [name] - Archive without replyingedit [name]: [new message] - Replace draft and sendshow [name] - Show full conversationScheduled Scanning
Via Cron (Recommended)
{
"schedule": "0 */2 9-18 * * 1-5",
"text": "Scan LinkedIn inbox and post any new messages to #linkedin with draft replies"
}
Via Heartbeat
In HEARTBEAT.md:- If 9am-6pm PT and last LinkedIn scan >60min: scan inbox, draft replies, post to #linkedin
Safety Rules
1. Never send without explicit approval - Always wait for user confirmation 2. Rate limit actions - Max 20 LinkedIn actions per hour 3. Respect quiet hours - Don't scan outside configured activeHours 4. Log everything - Record all actions in daily memory file 5. Preserve originals - Never delete messages, only archive
Troubleshooting
"Can't find messaging UI"
peekaboo list windows --app "Google Chrome" --json to debug"Session expired"
"Peekaboo permissions denied"
peekaboo permissions # Check status
Grant via System Preferences > Privacy & Security > Screen Recording + Accessibility
Files
scripts/scan_inbox.sh - Peekaboo commands for inbox capturescripts/send_message.sh - Peekaboo commands for sendingreferences/style-extraction.md - Guide for communication style matchingπ‘ Examples
1. One-time Setup
# Grant Peekaboo permissions
peekaboo permissionsVerify LinkedIn is accessible
peekaboo app launch "Google Chrome"
peekaboo see --app "Google Chrome" --annotate --path /tmp/linkedin-check.png
2. Configure User Style
Createlinkedin-inbox-config.json in your workspace:
{
"scan": {
"intervalMinutes": 60,
"activeHours": { "start": 9, "end": 18, "timezone": "America/Los_Angeles" },
"skipWeekends": true
},
"drafting": {
"styleProfile": "USER.md",
"templates": {
"decline": "Thanks for reaching out. Not a fit for us right now, but best of luck.",
"interested": "This looks interesting. Happy to chat more. What's your availability?",
"referral": "I might know someone. Let me check and get back to you."
}
},
"notifications": {
"channel": "discord",
"target": "#linkedin"
}
}
3. Start Monitoring
Tell your agent: "Start LinkedIn inbox monitoring" or add to HEARTBEAT.md:- Check LinkedIn inbox if last scan >1 hour ago
π Tips & Best Practices
"Can't find messaging UI"
peekaboo list windows --app "Google Chrome" --json to debug"Session expired"
"Peekaboo permissions denied"
peekaboo permissions # Check status
Grant via System Preferences > Privacy & Security > Screen Recording + Accessibility