Install
openclaw skills install fastmailClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Manages Fastmail email and calendar via JMAP and CalDAV APIs. Use for emails (read, send, reply, search, organize, bulk operations, threads) or calendar (events, reminders, RSVP invitations). Timezone auto-detected from system.
openclaw skills install fastmailInvoke tools via CLI:
# Install dependencies first
cd .opencode/skills/fastmail && bun install
# Email: List mailboxes
bunx fastmail list_mailboxes
# Email: Send
bunx fastmail send_email \
'{"to": [{"email": "user@example.com"}], "subject": "Hi", "text_body": "Message"}'
# Calendar: List events
bunx fastmail list_events \
'{"start_date": "2024-01-01", "end_date": "2024-01-31"}'
# Calendar: Create event with reminder
bunx fastmail create_event_with_reminder \
'{"title": "Meeting", "start": "2024-01-15T10:00:00", "end": "2024-01-15T11:00:00", "reminder_minutes": [15, 60]}'
# List all available tools
bunx fastmail --list
| Tool | Purpose |
|---|---|
list_mailboxes | List all folders |
list_emails | List emails in mailbox |
get_email | Get full email content |
get_thread | Get all emails in a conversation thread |
search_emails | Search by text query |
send_email | Send new email |
reply_email | Reply to email |
move_email | Move to folder |
set_labels | Apply labels ($seen, $flagged) |
delete_email | Delete (move to trash) |
| Tool | Purpose |
|---|---|
bulk_move_emails | Move multiple emails at once |
bulk_set_labels | Apply labels to multiple emails |
bulk_delete_emails | Delete multiple emails at once |
| Tool | Purpose |
|---|---|
list_calendars | List all calendars |
list_events | List events by date range |
get_event | Get event details |
create_event | Create new event |
update_event | Update existing event |
delete_event | Delete event |
search_events | Search by title/description |
create_recurring_event | Create repeating event |
list_invitations | List calendar invitations |
respond_to_invitation | Accept/decline/maybe invitations |
| Tool | Purpose |
|---|---|
add_event_reminder | Add reminder to event |
remove_event_reminder | Remove reminder(s) |
list_event_reminders | List reminders for event |
create_event_with_reminder | Create event + reminder in one call |
# Check inbox (limit 10)
bunx fastmail list_emails '{"limit": 10}'
# Search for emails
bunx fastmail search_emails '{"query": "invoice"}'
# Get specific email content
bunx fastmail get_email '{"email_id": "xxx"}'
# Get email thread/conversation
bunx fastmail get_thread '{"email_id": "xxx"}'
# Bulk operations
bunx fastmail bulk_move_emails '{"email_ids": ["id1", "id2"], "target_mailbox_id": "archive"}'
bunx fastmail bulk_delete_emails '{"email_ids": ["id1", "id2", "id3"]}'
# Create recurring event (daily for 10 days)
bunx fastmail create_recurring_event \
'{"title": "Standup", "start": "2024-01-01T09:00:00", "end": "2024-01-01T09:30:00", "recurrence": "daily", "recurrence_count": 10}'
# Calendar invitations
bunx fastmail list_invitations
bunx fastmail respond_to_invitation '{"event_id": "xxx", "response": "accept"}'
Need to manage email?
list_emails or search_emailsget_emailget_threadsend_email or reply_emailmove_email, set_labels, delete_emailbulk_move_emails, bulk_set_labels, bulk_delete_emailsNeed to manage calendar?
list_calendars or list_eventscreate_event or create_recurring_eventupdate_eventdelete_eventlist_invitations, respond_to_invitationNeed reminders?
add_event_remindercreate_event_with_reminder (faster)list_event_reminders, remove_event_reminderAll tools return JSON:
{
"success": true,
"data": { /* tool-specific response */ },
"timestamp": "2024-01-15T10:00:00+07:00"
}
| Variable | Purpose | Required |
|---|---|---|
FASTMAIL_API_TOKEN | Email via JMAP | Yes (for email) |
FASTMAIL_USERNAME | Calendar via CalDAV | Yes (for calendar) |
FASTMAIL_PASSWORD | Calendar app password | Yes (for calendar) |
FASTMAIL_TIMEZONE | Calendar timezone (IANA format) | No (auto-detected) |
Setup:
export FASTMAIL_API_TOKEN="your-api-token"
export FASTMAIL_USERNAME="your-email@fastmail.com"
export FASTMAIL_PASSWORD="your-app-password"
# Optional: Override timezone (defaults to system local timezone)
export FASTMAIL_TIMEZONE="America/New_York" # or "Asia/Bangkok", "Europe/London", etc.
⏰ Configurable calendar timezone
FASTMAIL_TIMEZONE environment variableAmerica/New_York, Asia/Bangkok, Europe/London).opencode/skills/fastmail/references/TOOLS.md.opencode/skills/fastmail/README.md