with one click
monzo
// Access Monzo bank account - check balance, view transactions, manage pots, send feed notifications. For personal finance queries and banking automation.
// Access Monzo bank account - check balance, view transactions, manage pots, send feed notifications. For personal finance queries and banking automation.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | monzo |
| description | Access Monzo bank account - check balance, view transactions, manage pots, send feed notifications. For personal finance queries and banking automation. |
Access your Monzo bank account to check balances, view transactions, manage savings pots, and send notifications to your Monzo app.
Before setting up this skill, you need:
curl, jq, openssl, bc (pre-installed on most Linux systems)# 1. Add env var to Clawdbot config (~/.clawdbot/clawdbot.json):
# skills.entries.monzo.env.MONZO_KEYRING_PASSWORD = "your-secret-password"
# 2. Create OAuth client at https://developers.monzo.com/
# - Set Confidentiality: Confidential
# - Set Redirect URL: http://localhost
# 3. Run setup
scripts/setup.sh
# 4. Approve in Monzo app when prompted, then:
scripts/setup.sh --continue
# 5. Test it
scripts/balance.sh
Add the encryption password to your Clawdbot config (~/.clawdbot/clawdbot.json):
{
skills: {
entries: {
"monzo": {
enabled: true,
env: {
"MONZO_KEYRING_PASSWORD": "choose-a-secure-password-here"
}
}
}
}
}
Important: This password encrypts your Monzo credentials at rest. Choose something secure and don't lose it ā you'll need it if you ever move or restore the skill.
After editing, restart Clawdbot:
clawdbot gateway restart
Clawdbot (or your preferred name)http://localhost ā exactly this, no trailing slashoauth2client_...) and Client Secret (mnzconf....)scripts/setup.sh
The wizard will:
Alternative: Non-interactive mode (useful for automation or agents):
scripts/setup.sh --non-interactive \
--client-id oauth2client_xxx \
--client-secret mnzconf.xxx \
--auth-code eyJ...
ā ļø This step is required! Monzo requires Strong Customer Authentication.
If you don't see a notification:
After approving, complete setup:
scripts/setup.sh --continue
# Check authentication
scripts/whoami.sh
# Check your balance
scripts/balance.sh
You should see your account info and current balance. You're done! š
This section tells the agent how to use this skill effectively.
Use this skill when the user asks about:
# "How much money do I have?"
scripts/balance.sh
# "Show me recent transactions" / "What did I spend?"
scripts/transactions.sh # All available, newest first
# "Show me my last 5 transactions"
scripts/transactions.sh --limit 5 # 5 most recent
# "What did I spend this week?"
scripts/transactions.sh --since 7d
# "How much did I spend on coffee this month?"
scripts/transactions.sh --search coffee --since 30d
# "What are my savings pots?"
scripts/pots.sh
# "Put £50 in my holiday fund"
scripts/pots.sh deposit pot_XXXXX 5000 # Amount in pence!
# "Send a reminder to my phone"
scripts/feed.sh --title "Don't forget!" --body "Check the gas meter"
--since 7d means last 7 days--json flag)scripts/pots.sh first to get pot IDs before depositing/withdrawingscripts/whoami.sh to see all accounts.If you see forbidden.insufficient_permissions:
scripts/setup.sh --continueIf you see MONZO_KEYRING_PASSWORD not set:
~/.clawdbot/clawdbot.json under skills.entries.monzo.envscripts/balance.sh # Default account
scripts/balance.sh acc_... # Specific account
scripts/balance.sh --json # JSON output
Output:
Current Balance: £1,234.56
Total (with pots): £2,500.00
Spent today: £12.34
Fetches all available transactions (paginated), displayed newest first.
scripts/transactions.sh # All transactions, newest first
scripts/transactions.sh --limit 10 # 10 most recent
scripts/transactions.sh --since 7d # Last 7 days only
scripts/transactions.sh --since 2026-01-01 # Since specific date
scripts/transactions.sh --search coffee # Search by merchant/description/notes
scripts/transactions.sh --search "Pret" --since 30d # Combined filters
scripts/transactions.sh --id tx_... # Get specific transaction
scripts/transactions.sh --json # JSON output
Output:
DATE AMOUNT DESCRIPTION CATEGORY
============ ========== =================================== ===============
2026-01-29 -Ā£3.50 Pret A Manger eating_out
2026-01-29 -Ā£12.00 TfL transport
2026-01-28 -Ā£45.23 Tesco groceries
Total: 3 transaction(s)
scripts/pots.sh # List all pots
scripts/pots.sh list --json # JSON output
scripts/pots.sh deposit pot_... 5000 # Deposit £50 (5000 pence)
scripts/pots.sh withdraw pot_... 2000 # Withdraw £20 (2000 pence)
Output (list):
NAME BALANCE GOAL ID
========================= ============ ============ ====================
Holiday Fund £450.00 £1,000.00 pot_0000...
Emergency £2,000.00 £3,000.00 pot_0001...
scripts/feed.sh --title "Reminder" # Simple notification
scripts/feed.sh --title "Alert" --body "Details here" # With body
scripts/feed.sh --title "Link" --url "https://..." # With tap action
scripts/whoami.sh # Show auth status and accounts
scripts/whoami.sh --account-id # Just the default account ID
scripts/whoami.sh --json # JSON output
scripts/receipt.sh create tx_... --merchant "Shop" --total 1234 --item "Thing:1234"
scripts/receipt.sh get ext_...
scripts/receipt.sh delete ext_...
scripts/webhooks.sh list
scripts/webhooks.sh create https://your-server.com/webhook
scripts/webhooks.sh delete webhook_...
Most common issue! Monzo requires app approval (SCA).
Fix:
scripts/setup.sh --continueThe env var isn't in Clawdbot's environment.
Fix: Add to ~/.clawdbot/clawdbot.json:
{
skills: {
entries: {
"monzo": {
env: { "MONZO_KEYRING_PASSWORD": "your-password" }
}
}
}
}
Then restart: clawdbot gateway restart
Each auth code is single-use. Start fresh:
scripts/setup.sh --reset
Your OAuth client isn't set to "Confidential". Create a new client with Confidentiality = Confidential, then:
scripts/setup.sh --reset
Run setup first:
scripts/setup.sh
Wrong MONZO_KEYRING_PASSWORD. Check your config matches what you used during setup.
MONZO_KEYRING_PASSWORDskills/monzo/
āāā SKILL.md # This documentation
āāā scripts/
āāā lib/monzo.sh # Shared library
āāā setup # OAuth setup wizard
āāā whoami # Validate authentication
āāā balance # Check balance
āāā transactions # Transaction history
āāā pots # Savings pots
āāā feed # App notifications
āāā receipt # Receipt management
āāā webhooks # Webhook management
Credentials: ~/.clawdbot/credentials/monzo.json (encrypted)
| Feature | Scripts |
|---|---|
| Authentication | setup, whoami |
| Balance | balance |
| Transactions | transactions |
| Pots (Savings) | pots |
| Feed (Notifications) | feed |
| Receipts | receipt |
| Webhooks | webhooks |