Last Updated: 2026-07-16
DotNetCloud Calendar lets you manage calendars and events, invite attendees, set reminders, and sync with external calendar applications via CalDAV.
- Open Calendar from the left sidebar
- Click New Calendar
- Enter a name for the calendar
- Optionally set:
- Description — what this calendar is for
- Color — a hex color code for visual distinction
- Timezone — IANA timezone identifier (e.g.,
America/New_York). Defaults to UTC.
- Click Create
You can have multiple calendars (e.g., "Work", "Personal", "Holidays").
- Click the settings icon next to the calendar name
- Update the name, description, color, or timezone
- Click Save
Toggle the visibility checkbox next to a calendar name to show or hide its events in the calendar view without deleting it.
- Click the settings icon next to the calendar
- Click Delete
- The calendar and all its events are soft-deleted
- Click on a date/time in the calendar view, or click New Event
- Fill in the event details:
- Title (required)
- Calendar — which calendar to add it to
- Start and End date/time (required)
- All Day — toggle for full-day events
- Location — free text
- Description — supports Markdown
- Color — override the calendar's default color
- URL — link to related content
- Add Attendees (see Invitations below)
- Add Reminders (see Reminders below)
- Click Save
- Click on an event in the calendar view
- Click Edit
- Update any fields
- Click Save
- Click on an event
- Click Delete
- The event is soft-deleted
- Click the Search icon in the toolbar
- Enter keywords to search event titles, descriptions, and locations
- Optionally filter by date range
- Results show matching events across all your calendars
When creating or editing an event:
- Click Add Attendee
- Search for a user or enter an email address
- Set the attendee's role:
- Required — essential participant
- Optional — invited but not critical
- Informational — FYI only (no response expected)
- Save the event
When you're invited to an event:
- Open the event from your calendar
- Click your RSVP status:
- Accept — you'll attend
- Decline — you won't attend
- Tentative — you may attend
- Optionally add a comment
- Click Save
| Status | Meaning |
|---|---|
| Needs Action | No response yet (default) |
| Accepted | Attendee confirmed |
| Declined | Attendee won't attend |
| Tentative | Attendee may attend |
When creating or editing an event:
- Click Add Reminder
- Choose the reminder method:
- Notification — in-app notification
- Email — email reminder
- Set the time: minutes before the event starts
- You can add multiple reminders per event
| Setting | When It Fires |
|---|---|
| 15 minutes before | 15 min before start |
| 60 minutes before | 1 hour before start |
| 1440 minutes before | 1 day before start |
Reminders automatically fire for each occurrence of a recurring event. For example, a "15 minutes before" reminder on a weekly meeting will fire every week, 15 minutes before that occurrence starts. If you edit a single occurrence and change its reminders, only that instance is affected — the rest of the series keeps the original reminders.
Events can repeat on a regular schedule using RFC 5545 recurrence rules.
- Daily — every N days
- Weekly — on specific days of the week (e.g., Mon, Wed, Fri)
- Monthly — on a specific day of the month
- Yearly — on a specific date each year
- Repeat every — interval (e.g., every 2 weeks)
- On days — specific weekdays (for weekly recurrence)
- Until — end date for the recurrence
- Count — maximum number of occurrences
When editing a recurring event, you can:
- Edit this occurrence — modify only this instance (creates a recurrence exception)
- Edit all events — modify the entire series
Under the hood, recurrence uses RFC 5545 RRULE format:
FREQ=WEEKLY;BYDAY=MO,WE,FR;UNTIL=20260630T000000Z
This format is compatible with CalDAV clients and iCalendar imports/exports.
You can share entire calendars with other users or teams. Sharing applies to all events in the calendar.
- Click the settings icon next to the calendar name
- Click Share
- Search for the user
- Choose a permission level:
- Read Only — can view events but not modify them
- Read/Write — can view, create, edit, and delete events
- Click Share
- Click the calendar settings icon
- Click Share
- Select a team
- Choose a permission level
- Click Share
- Open the calendar's share settings
- Click Remove next to the share
Only the calendar owner can manage shares and delete the calendar.
DotNetCloud accepts iCalendar (RFC 5545) format files. Most calendar applications can export to this format.
- Go to Calendar
- Click Import
- Select the target calendar
- Paste or upload your
.icsfile content - Review the import preview
- Click Import
| iCalendar Field | Mapped To |
|---|---|
SUMMARY |
Event Title |
DTSTART / DTEND |
Start / End Time |
DESCRIPTION |
Description |
LOCATION |
Location |
URL |
URL |
RRULE |
Recurrence Rule |
VALARM |
Reminders |
ATTENDEE |
Attendees |
- You can import single events or entire calendars
- Duplicate detection uses start time + title
- All-day events are supported
- Timezone information in the
.icsfile is respected - Use dry-run mode to preview before importing large files
- Go to Calendar
- Click the settings icon next to the calendar
- Click Export
- All events download as an
.icsfile
- Open an event
- Click Export as iCalendar
- The event downloads as an
.icsfile
Exported files use iCalendar RFC 5545 format, compatible with all major calendar applications.
CalDAV lets you sync your DotNetCloud calendars with external applications in real time.
- Install DAVx5 from Google Play or F-Droid
- Add a new account → Login with URL
- Enter your server URL:
https://your-server/.well-known/caldav - Authenticate with your DotNetCloud credentials
- Select the calendars to sync
- Events appear in your phone's Calendar app
- In Thunderbird, go to Calendar → New Calendar
- Select On the Network → CalDAV
- URL:
https://your-server/.well-known/caldav - Enter your credentials
- Select calendars to subscribe to
- Go to Settings → Accounts → Add Account → Other
- Select Add CalDAV Account
- Server:
your-server - User Name and Password: your DotNetCloud credentials
- Calendars appear in the Calendar app
- Changes sync automatically in both directions
- Conflict detection uses ETags — the most recent change wins
- New calendars created on external devices appear in DotNetCloud
- Deleted events are removed from all synced devices
- Sync tokens enable efficient incremental sync (only changes are transferred)
- All events are stored in UTC on the server
- Each calendar has a timezone setting for display purposes
- CalDAV clients handle timezone conversion locally
- All-day events span the full day in the calendar's timezone
- Reminders fire based on the event's UTC start time
- Check the import report for errors or skipped records
- Verify the
.icsfile follows RFC 5545 format - Ensure start and end dates are valid
- Verify the server URL includes
/.well-known/caldav - Check authentication credentials
- Ensure the server's TLS certificate is trusted
- Verify your reverse proxy forwards PROPFIND and REPORT methods
- Check the calendar's timezone setting
- Verify the recurrence rule uses UTC timestamps
- CalDAV clients should handle timezone conversion — check client settings
- Another user modified the event while you were editing
- Reload the event to get the latest version and retry your changes