Whatsapp monitoring
Skill Eng-Muhammad-Affan/digital-fte/.qwen/skills/whatsapp-monitoring
Personal AI agent that handles social media as well as any social media
npx -y skills add Eng-Muhammad-Affan/digital-fte --skill whatsapp-monitoringAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Monitor WhatsApp Web for new messages using Playwright browser automation. Detects messages containing keywords (urgent, invoice, payment, etc.) and creates action files in the Obsidian vault. Use when tasks require monitoring WhatsApp for business inquiries, urgent messages, or client communication.
SKILL.md
4.1 KB, as published. Nobody here has run it
WhatsApp Monitoring Skill
Monitor WhatsApp Web for messages using Playwright-based watcher.
Setup
Install Dependencies
uv sync
uv run playwright install chromium
Configure Environment
# WhatsApp session storage
export WHATSAPP_SESSION_PATH=~/.digital_fte/sessions/whatsapp
# Vault path
export VAULT_PATH=./vault
# Check interval (seconds)
export CHECK_INTERVAL=30
# Keywords to monitor
export WHATSAPP_KEYWORDS=urgent,asap,invoice,payment,help,important
# Dry run mode
export DRY_RUN=true
Usage
Start WhatsApp Watcher
# Start monitoring
uv run python scripts/whatsapp_watcher.py --vault ./vault
# With custom keywords
uv run python scripts/whatsapp_watcher.py --keywords "urgent,payment,client"
# With custom interval
uv run python scripts/whatsapp_watcher.py --interval 60
First Run - QR Code Login
- Start the watcher
- WhatsApp Web will load in browser
- Scan QR code with your phone
- Session is saved for future runs
How It Works
- Browser Launch: Opens Chromium with persistent session
- WhatsApp Web: Navigates to web.whatsapp.com
- Message Scanning: Checks unread chats for keywords
- Action File Creation: Creates
.mdfile in/Needs_Action/ - Processing: Claude Code processes action files
Action File Format
When a message matches keywords:
---
type: whatsapp_message
chat_name: John Doe
received: 2026-01-07T10:30:00Z
priority: high
status: pending
matched_keywords: ["urgent", "invoice"]
message_id: John_Doe_20260107_1030
---
# WhatsApp Message
## From
**John Doe**
## Received
2026-01-07 10:30:00
## Priority
HIGH
## Matched Keywords
urgent, invoice
---
## Message Content
Hey, can you send me the invoice urgently?
---
## Suggested Actions
- [ ] Read and understand the message
- [ ] Draft reply (requires approval before sending)
- [ ] Take necessary action based on request
- [ ] Mark as processed
Keyword Detection
Default keywords:
urgent- High priorityasap- High priorityinvoice- Business relatedpayment- Financialhelp- Support requestimportant- High priority
Customize via WHATSAPP_KEYWORDS environment variable.
Integration with Orchestrator
# Start all watchers including WhatsApp
uv run python scripts/orchestrator.py start --watchers filesystem whatsapp
# Process detected messages
uv run python scripts/orchestrator.py process
# Ralph loop for autonomous processing
uv run python scripts/orchestrator.py ralph-loop "Process all WhatsApp messages"
Reply Workflow
- WhatsApp message detected → Action file in
/Needs_Action/ - Claude Code processes → Draft reply created
- Approval file in
/Pending_Approval/ - Human approves → Moves to
/Approved/ - Reply sent via WhatsApp MCP (future) or manual
Environment Variables
# Session storage
WHATSAPP_SESSION_PATH=~/.digital_fte/sessions/whatsapp
# Monitoring
CHECK_INTERVAL=30 # Seconds between checks
WHATSAPP_KEYWORDS=urgent,asap,invoice,payment,help
# Browser
PLAYWRIGHT_HEADLESS=true
# Vault
VAULT_PATH=./vault
# Dry run
DRY_RUN=true
Troubleshooting
| Issue | Solution |
|---|---|
| QR code not showing | Clear session folder and restart |
| No messages detected | Check if WhatsApp Web is loaded |
| Browser crashes | Set PLAYWRIGHT_HEADLESS=false to debug |
| Session expired | Re-scan QR code |
Security Notes
- Session data stored locally in
~/.digital_fte/sessions/whatsapp - Never commit session files to version control
- Use dedicated business WhatsApp account for automation
- Be aware of WhatsApp's terms of service
Related Skills
- email-sending - Email communication
- linkedin-posting - Social media posting
Gives 0 of the 12 instructions most monitoring observability skills give
Counted across 481 of the 483 authors here whose files we hold, read 2026-08-06
- link every alert to a runbookin 43 of 481, across 35 files
- use structured json loggingin 36 of 481, across 31 files
- alert on user-facing symptomsin 20 of 481, across 15 files
- emit structured JSON logs with stable event namesin 18 of 481, across 13 files
- propagate trace context across boundariesin 16 of 481
- use histograms for latency trackingin 14 of 481, across 9 files
- use OpenTelemetry for distributed tracingin 13 of 481, across 8 files
- include a correlation ID on every log linein 13 of 481, across 8 files
- Define service level objectivesin 10 of 481, across 7 files
- Call useAzureMonitor before importing other modulesin 9 of 481, across 2 files
- stop and ask for clarification if inputs are missingin 9 of 481, across 2 files
- define on-call questions before adding telemetryin 9 of 481, across 4 files
Said here and by no other author read
- install dependencies
- start the WhatsApp watcher
- scan unread chats for keywords
- create an action file for matched messages
- process generated action files
- clear the session folder on QR errors
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.