📧 Protonmail OpenClaw Skill - ClawHub
Do you want your AI agent to automate Protonmail workflows? This free skill from ClawHub helps with communication tasks without building custom tools from scratch.
What this skill does
Read, search, and scan ProtonMail via IMAP bridge (Proton Bridge or hydroxide). Includes daily digest for important emails.
Install
npx clawhub@latest install protonmailFull SKILL.md
Open original| name | description |
|---|---|
| protonmail | Read, search, and scan ProtonMail via IMAP bridge (Proton Bridge or hydroxide). Includes daily digest for important emails. |
ProtonMail Skill
Access ProtonMail via IMAP using either:
- Proton Bridge (official, recommended)
- hydroxide (third-party, headless)
Setup
Option 1: Proton Bridge (Docker)
# Pull and run
docker run -d --name=protonmail-bridge \
-v protonmail:/root \
-p 143:143 -p 1025:25 \
--restart=unless-stopped \
shenxn/protonmail-bridge
# Initial login (interactive)
docker run --rm -it -v protonmail:/root shenxn/protonmail-bridge init
# Then: login → enter credentials → info (shows bridge password) → exit
Option 2: hydroxide (Headless)
# Install
git clone https://github.com/emersion/hydroxide.git
cd hydroxide && go build ./cmd/hydroxide
# Login
./hydroxide auth [email protected]
# Run as service
./hydroxide serve
Configuration
Create config file at ~/.config/protonmail-bridge/config.env:
PROTONMAIL_HOST=127.0.0.1
PROTONMAIL_PORT=143
[email protected]
PROTONMAIL_PASS=your-bridge-password
Or set environment variables directly.
Usage
# List mailboxes
protonmail.py mailboxes
# Show recent inbox
protonmail.py inbox --limit 10
# Show unread emails
protonmail.py unread
# Search emails
protonmail.py search "keyword"
# Read specific email
protonmail.py read 123
Daily Scan
The daily-scan.py script identifies important emails based on:
- Important senders (banks, government, schools)
- Urgent keywords (DE/EN/NL)
Configure important patterns in the script or via environment variables.
Sieve Filters (ProtonMail)
Recommended Sieve filter for auto-sorting:
require ["fileinto", "imap4flags"];
# Important emails - flag them
if anyof (
address :contains "From" ["@bank", "@government"],
header :contains "Subject" ["Urgent", "Dringend", "Belangrijk"]
) {
addflag "\\Flagged";
}
# Newsletters - auto-read and move
if anyof (
address :contains "From" "newsletter@",
address :contains "From" "noreply@"
) {
addflag "\\Seen";
fileinto "Newsletter";
stop;
}