linkedin-monitor

Review·Scanned 2/17/2026

LinkedIn Monitor watches a user's LinkedIn inbox, drafts replies, and manages local state and cron-based checks (config at ~/.clawdbot/linkedin-monitor/config.json). It reads LINKEDIN_LI_AT and LINKEDIN_JSESSIONID, writes ~/.clawdbot/linkedin-monitor/credentials.json, runs shell scripts (e.g., check.sh), and accesses https://www.linkedin.com/messaging/.

from clawhub.ai·v1.0.0·44.6 KB·0 installs
Scanned from 1.1.0 at fd905fe · Transparency log ↗
$ vett add clawhub.ai/dylanbaker24/linkedin-monitorReview findings below

LinkedIn Monitor for Clawdbot

Bulletproof LinkedIn inbox monitoring with zero duplicate notifications.

Get notified when someone messages you on LinkedIn. Drafts replies in your voice. Never miss a lead.


Features

  • 🔔 Hourly monitoring — Checks your inbox every hour, 24/7
  • 🚫 No duplicates — Each message reported exactly once (file-based state)
  • ✍️ Draft replies — AI drafts responses in your communication style
  • 🛡️ Approval required — Nothing sent without your OK
  • 🌐 Browser-based — Works with your normal LinkedIn login
  • Watchdog included — Alerts you if monitoring stops working

Quick Install

# 1. Install the skill
clawdhub install linkedin-monitor

# 2. Run setup
linkedin-monitor setup

# 3. Verify everything works
linkedin-monitor health

# 4. Enable hourly monitoring
linkedin-monitor enable

Requirements

  • Clawdbot installed and running
  • A browser profile logged into LinkedIn
  • A channel for alerts (Discord, Telegram, Slack, WhatsApp, or any Clawdbot channel)

Setup Guide

Step 1: Create a Browser Profile

LinkedIn Monitor uses Clawdbot's browser tool to check your inbox. You need a browser profile that's logged into LinkedIn.

Option A: Use the default "clawd" profile

# Start the clawd browser
clawdbot browser start --profile clawd

# This opens a Chrome window. Log into LinkedIn manually.
# Keep this browser open — it needs to stay running.

Option B: Create a custom profile

# Create a profile named "linkedin"
clawdbot browser start --profile linkedin

# Log into LinkedIn, then keep it open

Tip: Put the browser on a second desktop/workspace so it doesn't interfere with your main browsing.

Step 2: Run Setup

linkedin-monitor setup

This will ask you for:

  • Discord channel ID — Where to send alerts (right-click channel → Copy ID)
  • Calendar link — For booking meetings (e.g., cal.com/yourname)
  • Timezone — Your timezone (e.g., America/New_York)

Configuration is saved to ~/.clawdbot/linkedin-monitor/config.json

Step 3: Verify Health

linkedin-monitor health

You should see:

Dependencies:
✓ jq installed
✓ Browser profile ready

Authentication:
✓ LinkedIn logged in as: Your Name

Configuration:
✓ Config file exists
✓ Alert channel configured

Automation:
! Cron job not installed — run: linkedin-monitor enable

Step 4: Test Manually

linkedin-monitor check

This runs one check cycle. If you have unread messages, it will report them.

Step 5: Enable Hourly Monitoring

linkedin-monitor enable

This creates a cron job that runs every hour to check your inbox.


How It Works

Every Hour:
┌─────────────────────────────────────────┐
│ 1. Check browser is running             │
│ 2. Open LinkedIn messaging tab          │
│ 3. Take snapshot of inbox               │
│ 4. Compare against seen messages        │
│ 5. If NEW message:                      │
│    → Draft reply in your voice          │
│    → Alert you on Discord               │
│    → Wait for approval                  │
│ 6. Update state file                    │
└─────────────────────────────────────────┘

State is tracked in: ~/.clawdbot/linkedin-monitor/state/messages.json

Each message gets a unique ID (Name_Timestamp). Once reported, it's added to seenIds and never reported again.


Commands

CommandDescription
linkedin-monitor setupInteractive setup wizard
linkedin-monitor healthCheck dependencies and auth
linkedin-monitor checkRun one monitoring cycle
linkedin-monitor enableEnable hourly cron
linkedin-monitor disableDisable cron
linkedin-monitor statusShow current state
linkedin-monitor configView/edit configuration
linkedin-monitor logsView activity logs
linkedin-monitor resetClear state (fresh start)

Approving Messages

When a new message arrives, you'll get an alert like:

📬 **John Smith**
> Hey, I saw your post about AI automation. Would love to chat!

**Draft reply:**
> Hey John, thanks for reaching out. Happy to connect — what specifically caught your interest?

Reply "send John" to approve.

Commands:

  • send John — Send the draft as-is
  • send all — Send all pending drafts
  • edit John Hey John, let's set up a call... — Edit and send
  • skip John — Discard the draft

Configuration

Edit ~/.clawdbot/linkedin-monitor/config.json:

{
  "autonomyLevel": 1,
  "alertChannel": "discord",
  "alertTarget": "YOUR_CHANNEL_ID",
  "calendarLink": "cal.com/yourname",
  "communicationStyleFile": "USER.md",
  "timezone": "America/New_York",
  "schedule": "0 * * * *",
  "browserProfile": "clawd"
}

Supported Channels

ChannelalertChannelalertTarget
DiscorddiscordChannel ID
TelegramtelegramChat ID
SlackslackChannel ID or name
WhatsAppwhatsappChat ID or phone
SignalsignalPhone number

Autonomy Levels

LevelBehavior
0Monitor only — alerts, no drafts
1Draft + Approve — drafts replies, waits for your OK
2Auto-reply simple — handles "thanks", scheduling automatically
3Full autonomous — replies as you, books meetings

Default is Level 1. Change with:

linkedin-monitor config autonomyLevel 2

Communication Style

Drafts are generated using your communication style from USER.md in your Clawdbot workspace.

If you don't have a USER.md, create one with your preferences:

# USER.md

## Communication Style
- Keep messages short (3-4 sentences)
- Be friendly but professional
- No corporate jargon
- Always offer value first

Troubleshooting

"Browser not running"

clawdbot browser start --profile clawd
# Then log into LinkedIn

"LinkedIn logged out"

Open the clawd browser and log back into LinkedIn manually. The browser is usually on your second desktop.

"Duplicate notifications"

linkedin-monitor reset
# This clears state — next check will see all messages as "new"

"Cron not running"

linkedin-monitor disable
linkedin-monitor enable
# Check: crontab -l

"Watchdog alert: Monitor may be down"

linkedin-monitor health
# Fix whatever's broken, then:
linkedin-monitor check

Files

~/.clawdbot/linkedin-monitor/
├── config.json          # Your settings
├── state/
│   └── messages.json    # Seen message IDs
└── logs/
    └── activity.log     # Activity history

Uninstall

# Disable cron
linkedin-monitor disable

# Remove the skill
clawdhub uninstall linkedin-monitor

# (Optional) Remove data
rm -rf ~/.clawdbot/linkedin-monitor

Contributing

Found a bug? Have a feature request? Open an issue on GitHub.


License

MIT License — use it however you want.


Credits

Built by Dylan Baker / lilAgents

Part of the Clawdbot ecosystem.