openclaw-nextcloudManage Notes, Tasks, Calendar, Files, and Contacts in your Nextcloud instance via CalDAV, WebDAV, and Notes API. Use for creating notes, managing todos and calendar events, uploading/downloading files, and managing contacts.
Install via ClawdBot CLI:
clawdbot install keithvassallomt/openclaw-nextcloudThis skill provides integration with a Nextcloud instance. It supports access to Notes, Tasks (Todos), Calendars, Files, and Contacts.
The skill requires the following environment variables:
NEXTCLOUD_URL: The base URL of your Nextcloud instance (e.g., https://cloud.example.com).NEXTCLOUD_USER: Your Nextcloud username.NEXTCLOUD_TOKEN: An App Password (recommended) or your login password.index.php/apps/notes/api/v1/notesRun the skill via the bundled script.
node scripts/nextcloud.js <command> <subcommand> [options]
notes listnotes get --id notes create --title --content [--category ] notes edit --id [--title ] [--content ] [--category ] notes delete --id tasks list [--calendar ] tasks create --title [--calendar ] [--due ] [--priority ] [--description ]
tasks edit --uid [--calendar ] [--title ] [--due ] [--priority ] [--description ]
tasks delete --uid [--calendar ] tasks complete --uid [--calendar ] calendar list [--from ] [--to ] (Defaults to next 7 days)calendar create --summary --start --end [--calendar ] [--description ] calendar edit --uid [--calendar ] [--summary ] [--start ] [--end ] [--description ] calendar delete --uid [--calendar ] calendars list [--type ] files list [--path ] files search --query files get --path (download file content)files upload --path --content files delete --path contacts list [--addressbook ] contacts get --uid [--addressbook ] contacts search --query [--addressbook ]
contacts create --name [--addressbook ] [--email ] [--phone ] [--organization ] [--title ] [--note ]
contacts edit --uid [--addressbook ] [--name ] [--email ] [--phone ] [--organization ] [--title ] [--note ]
contacts delete --uid [--addressbook ] addressbooks listAll outputs are JSON formatted.
{
"status": "success",
"data": [
{
"uid": "unique-task-id",
"calendar": "Calendar Name",
"summary": "Task title",
"status": "NEEDS-ACTION",
"due": "20260201T153000Z",
"priority": 0
}
]
}
due: CalDAV format date (YYYYMMDDTHHmmssZ) or nullpriority: 0-9 (0 = undefined, 1 = highest, 9 = lowest) or null{
"status": "success",
"data": [
{
"uid": "unique-event-id",
"calendar": "Calendar Name",
"summary": "Event title",
"start": "20260205T100000Z",
"end": "20260205T110000Z"
}
]
}
{
"status": "success",
"data": [
{
"uid": "unique-contact-id",
"addressBook": "Address Book Name",
"fullName": "John Doe",
"name": "Doe;John;;;",
"phones": ["+1234567890"],
"emails": ["john@example.com"],
"organization": "ACME Inc",
"title": "Developer",
"note": "Met at conference"
}
]
}
phones: Array of phone numbers or nullemails: Array of email addresses or nullname: Structured name in vCard format (Last;First;Middle;Prefix;Suffix){
"status": "success",
"data": [ ... ]
}
or
{
"status": "error",
"message": "Error description"
}
When creating tasks or calendar events, if the user does not specify a calendar:
calendars list --type tasks (for tasks) or calendars list --type events (for events)default_task_calendar and/or default_event_calendar--calendar always takes precedence over the defaultdefault_task_calendar: Default calendar name for tasks (VTODO)default_event_calendar: Default calendar name for events (VEVENT)When creating contacts, if the user does not specify an address book:
addressbooks listdefault_addressbook--addressbook always takes precedence over the defaultdefault_addressbook: Default address book name for contactsWhen displaying data to the user, format it in a readable way. Output may be sent to messaging platforms (Telegram, WhatsApp, etc.) where markdown does not render, so avoid markdown formatting.
code, tables, or lists with - or *)Tasks: ā (completed), ⬠(pending), š“ (high priority), š” (medium), š¢ (low)
Calendar: š (event), ā° (time), š (location)
Notes: š (note), š (category)
Files: š (file), š (folder), š¾ (size)
Contacts: š¤ (person), š§ (email), š± (phone), š¢ (organization)
Status: ⨠(created), āļø (updated), šļø (deleted), ā (error)
Tasks:
š Your Tasks
⬠š“ Buy groceries ā Due: Tomorrow 3:30 PM
⬠š” Review PR #42 ā Due: Feb 5
ā
Send email to client
Calendar Events:
š
Upcoming Events
šļø Team Standup
ⰠMon, Feb 3 ⢠10:00 AM - 10:30 AM
š Zoom
šļø Project Review
ⰠWed, Feb 5 ⢠2:00 PM - 3:00 PM
Contacts:
š¤ John Doe
š§ john@example.com
š± +1 234 567 890
š¢ ACME Inc ā Developer
Files:
š Documents/
š report.pdf (2.3 MB)
š notes.txt (4 KB)
š Archive/
Convert CalDAV format 20260205T100000Z to readable format like Wed, Feb 5 ⢠10:00 AM
Show relative dates when helpful: "Tomorrow", "Next Monday", "In 3 days"
Use the user's local timezone when possible
Generated Mar 1, 2026
Individuals use the skill to manage daily tasks, notes, and calendar events from a single interface, syncing with their Nextcloud instance. This helps streamline personal organization by automating reminders and note-taking without switching apps.
Small teams leverage the skill to coordinate tasks, share files, and manage contacts within their Nextcloud setup. It enables seamless collaboration by allowing members to update project files and schedule meetings through automated commands.
Teachers and students use the skill to organize lecture notes, assignment tasks, and class calendars on a Nextcloud server. It facilitates easy access to educational materials and deadlines, enhancing study efficiency and classroom coordination.
Freelancers employ the skill to manage client contacts, project tasks, and invoicing files stored in Nextcloud. This automates client communication logs and project timelines, improving time management and professional record-keeping.
Offer the skill as part of a premium subscription service that includes enhanced support, additional integrations, and advanced features like automated backups. Revenue is generated through monthly or annual fees from users seeking reliable Nextcloud management tools.
Sell enterprise licenses to organizations needing custom integrations, bulk user management, and dedicated support for their Nextcloud deployments. Revenue comes from one-time license purchases or annual maintenance contracts tailored to large-scale operations.
Provide a free basic version of the skill with core features, while charging for premium add-ons such as advanced analytics, priority support, or integration with third-party apps. Revenue is driven by upselling to users who require extended functionality.
š¬ Integration Tip
Ensure environment variables are securely configured and test API connectivity to avoid common network issues during skill deployment.
Interact with Google Calendar via the Google Calendar API ā list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.
Read, search, and manage Outlook emails and calendar via Microsoft Graph API. Use when the user asks about emails, inbox, Outlook, Microsoft mail, calendar events, or scheduling.
Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.
This skill should be used when interacting with Apple Calendar on macOS. Use it for listing calendars, viewing events, creating/updating/deleting calendar events, and checking availability/free-busy times. Triggers on requests like "check my calendar", "schedule a meeting", "what's on my schedule", "am I free tomorrow", or any calendar-related operations.
Access and manage Google Calendar events with gogcli for cross-calendar agendas, keyword search, and filtered outputs avoiding unwanted calendars like holidays.
Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries