Openclaw Nextcloud
Manage 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
Manage 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
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
This 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 <id>notes create --title <t> --content <c> [--category <cat>]notes edit --id <id> [--title <t>] [--content <c>] [--category <cat>]notes delete --id <id>tasks list [--calendar <c>]tasks create --title <t> [--calendar <c>] [--due <d>] [--priority <p>] [--description <d>]tasks edit --uid <u> [--calendar <c>] [--title <t>] [--due <d>] [--priority <p>] [--description <d>]tasks delete --uid <u> [--calendar <c>]tasks complete --uid <u> [--calendar <c>]calendar list [--from <iso>] [--to <iso>] (Defaults to next 7 days)calendar create --summary <s> --start <iso> --end <iso> [--calendar <c>] [--description <d>]calendar edit --uid <u> [--calendar <c>] [--summary <s>] [--start <iso>] [--end <iso>] [--description <d>]calendar delete --uid <u> [--calendar <c>]calendars list [--type <tasks|events>]files list [--path <path>]files search --query <q>files get --path <path> (download file content)files upload --path <path> --content <content>files delete --path <path>contacts list [--addressbook <ab>]contacts get --uid <u> [--addressbook <ab>]contacts search --query <q> [--addressbook <ab>]contacts create --name <n> [--addressbook <ab>] [--email <e>] [--phone <p>] [--organization <o>] [--title <t>] [--note <n>]contacts edit --uid <u> [--addressbook <ab>] [--name <n>] [--email <e>] [--phone <p>] [--organization <o>] [--title <t>] [--note <n>]contacts delete --uid <u> [--addressbook <ab>]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:
First time (no default set):
calendars list --type tasks (for tasks) or calendars list --type events (for events)If user sets a default:
default_task_calendar and/or default_event_calendarIf user declines to set a default:
User can always override:
--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:
First time (no default set):
addressbooks listIf user sets a default:
default_addressbookIf user declines to set a default:
User can always override:
--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
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.