Awesome-openclaw-skills linkedin-inbox
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.
git clone https://github.com/sundial-org/awesome-openclaw-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/linkedin-inbox" ~/.claude/skills/sundial-org-awesome-openclaw-skills-linkedin-inbox && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/linkedin-inbox" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-linkedin-inbox && rm -rf "$T"
skills/linkedin-inbox/SKILL.mdLinkedIn 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
- macOS with Peekaboo CLI installed (
)brew install steipete/tap/peekaboo - Screen Recording + Accessibility permissions granted
- LinkedIn logged in via browser (Chrome recommended)
- Clawdbot with browser capability
Quick Start
1. One-time Setup
# Grant Peekaboo permissions peekaboo permissions # Verify LinkedIn is accessible peekaboo app launch "Google Chrome" peekaboo see --app "Google Chrome" --annotate --path /tmp/linkedin-check.png
2. Configure User Style
Create
linkedin-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 3 # Capture inbox state peekaboo see --app "Google Chrome" --window-title "Messaging" --annotate --path /tmp/linkedin-inbox.png
The agent reads the annotated screenshot to identify:
- Unread messages (bold names, blue dots)
- Message previews
- Sender names and titles
Draft Responses
For each unread message:
- Agent reads the conversation
- Classifies intent (pitch, networking, job inquiry, spam)
- Drafts response matching user's communication style
- Posts draft to notification channel for approval
Example 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 1 # Type 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:
- Formality level (casual vs professional)
- Typical greeting style
- Sign-off patterns
- Sentence length preference
- Banned words/phrases
- Response length norms
Apply to drafts:
- Mirror detected patterns
- Use user's vocabulary
- Match their directness level
- Respect their guardrails (no "excited", no hype, etc.)
See
references/style-extraction.md for detailed guidance.
Morning Ping Integration
Add LinkedIn summary to your morning ping:
📣 The Morning Ping — Monday, Jan 27 **LinkedIn:** • 💚 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 the drafted replysend [name]
- Send all pending draftssend all
- Archive without replyingskip [name]
- Replace draft and sendedit [name]: [new message]
- Show full conversationshow [name]
Scheduled 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
- Never send without explicit approval - Always wait for user confirmation
- Rate limit actions - Max 20 LinkedIn actions per hour
- Respect quiet hours - Don't scan outside configured activeHours
- Log everything - Record all actions in daily memory file
- Preserve originals - Never delete messages, only archive
Troubleshooting
"Can't find messaging UI"
- Ensure Chrome is open with LinkedIn logged in
- Check window title matches (may vary by language)
- Use
to debugpeekaboo list windows --app "Google Chrome" --json
"Session expired"
- LinkedIn sessions expire periodically
- Re-authenticate manually in browser
- Skill will detect login page and notify user
"Peekaboo permissions denied"
peekaboo permissions # Check status # Grant via System Preferences > Privacy & Security > Screen Recording + Accessibility
Files
- Peekaboo commands for inbox capturescripts/scan_inbox.sh
- Peekaboo commands for sendingscripts/send_message.sh
- Guide for communication style matchingreferences/style-extraction.md