n8n-nodes-caldav-pro 3.1.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,27 @@ All notable changes to this project are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project
5
5
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [3.2.0]
8
+
9
+ ### Added
10
+
11
+ - **`startLocal` and `endLocal`** on returned events: the same moment as the
12
+ event's own local time with its offset applied, `2026-07-28T21:00:00+02:00`.
13
+
14
+ `start` is a UTC instant because that is what sorts and computes correctly,
15
+ but reading a local time off it requires knowing the offset in force on that
16
+ date — and language models get that wrong. Asked to show a 19:00Z summer
17
+ event in Berlin, one reported 23:00, then 20:00 on a later run: no offset,
18
+ then the winter offset. For a node that advertises `usableAsTool`, handing
19
+ the model arithmetic it cannot reliably do is a design fault, not the model's
20
+ problem.
21
+
22
+ Events stored in plain UTC carry no zone of their own and are rendered in the
23
+ workflow's timezone. All-day events keep their bare date. `start` and `end`
24
+ are unchanged, so nothing that reads them needs to.
25
+
26
+ - The node description now tells an agent which field to use for what.
27
+
7
28
  ## [3.1.2]
8
29
 
9
30
  ### Fixed
package/README.md CHANGED
@@ -1,314 +1,322 @@
1
- # n8n-nodes-caldav-pro
2
-
3
- [![CI](https://github.com/Daisytwo/n8n-nodes-caldav-pro/actions/workflows/ci.yml/badge.svg)](https://github.com/Daisytwo/n8n-nodes-caldav-pro/actions/workflows/ci.yml)
4
- [![npm](https://img.shields.io/npm/v/n8n-nodes-caldav-pro)](https://www.npmjs.com/package/n8n-nodes-caldav-pro)
5
-
6
- A community node for [n8n](https://n8n.io) that connects your workflows to any **CalDAV calendar** — Infomaniak, NextCloud, iCloud, Fastmail, Synology, SOGo, Radicale, and any other RFC 4791-compliant server.
7
-
8
- Drop it into a workflow to read, create, update, or delete calendar events — or let an **AI Agent** use it as a tool and manage your calendar from a chat prompt.
9
-
10
- ## What this node does
11
-
12
- This node gives n8n a full CRUD interface to CalDAV calendars. In practical terms:
13
-
14
- - **List your calendars** — auto-discovers every calendar on the server via CalDAV's well-known endpoints. No hard-coded URLs. Calendars you cannot write to — ones shared with you, or subscribed feeds like holiday calendars — are reported as `readOnly` and marked 🔒 in the dropdown, so a write does not fail with an unexplained 403.
15
- - **Create events** with title, start/end (ISO 8601 with timezone), description, location, attendees, recurrence (RRULE), and multiple reminders (VALARM).
16
- - **Fetch events** for any time window via server-side `REPORT` queries — fast even on calendars with thousands of events.
17
- - **Expand recurring series** — a weekly meeting is returned as the individual occurrences that fall inside your window, with `EXDATE` exclusions and moved instances (`RECURRENCE-ID`) applied.
18
- - **Update events** — change time, location, reminders, attendees. Updates are applied as a patch: fields you don't supply keep their stored value, including properties this node doesn't model (categories, organiser, custom `X-` properties).
19
- - **Delete events** by UID or URL.
20
- - **Address events written by other clients** — Get / Update / Delete / Move accept either the event's URL (as returned by every read operation) or its UID, which is resolved against the server. Events created in Thunderbird, Apple Calendar, or a web UI are stored under a filename the server chose, not under their UID.
21
- - **Round-trip iCalendar** — events you write come back correctly parsed, including RRULE, TZID, and alarms.
22
- - **Use it as an AI Agent tool** — every field has an LLM-readable description with examples, so an agent can call it cold and get it right on the first try.
23
-
24
- ### Typical use cases
25
-
26
- - **Telegram / Slack → Calendar**: a chat bot powered by an AI Agent creates meetings from natural-language messages ("Kickoff morgen 14 Uhr mit Alice und Bob, erinnere mich 15min vorher").
27
- - **Form submission → Booking**: a customer form in n8n creates an appointment event and sends a confirmation email.
28
- - **CRM sync**: mirror deal-related meetings into a shared CalDAV calendar.
29
- - **Reminder automation**: daily query of tomorrow's events, then send a summary via email / Slack / Telegram.
30
- - **Cross-calendar migration**: read events from one server and write them to another.
31
-
32
- ## Supported operations
33
-
34
- | Resource | Operations | Notes |
35
- | -------- | ----------------------------------------- | --------------------------------------------------- |
36
- | Calendar | Get Many | Lists every calendar available to the user |
37
- | Event | Create · Get · Get Many · Get Next · Search · Update · Move · Delete | Full CRUD, cross-calendar reads, and recurrence expansion |
38
-
39
- ### Event output format
40
-
41
- Read operations (`Get`, `Get Many`, `Get Next`, `Search`) return:
42
-
43
- | Field | Value |
44
- | ---------------------- | ------------------------------------------------------------------------------------------- |
45
- | `start` / `end` | All-day: `2026-04-20`. Timed: an ISO 8601 UTC instant, `2026-04-20T12:00:00.000Z`. |
46
- | `timezone` | The `TZID` the event is stored under, when it has one (e.g. `Europe/Berlin`). |
47
- | `allDay` | `true` for date-only events. |
48
- | `recurrenceId` | Present only on an occurrence of a recurring series, identifying which slot it is. |
49
- | `uid` / `url` | Shared by every occurrence of a series. |
50
- | `rrule` | The series rule, repeated on each occurrence. |
51
- | `raw` | The full `VCALENDAR` source only when **Simplify** is turned off. |
52
-
53
- > Changed in 2.9.0: read operations have a **Simplify** toggle, on by default, which omits `raw`. A recurring series repeats the same full `VCALENDAR` on every expanded occurrence, so leaving it in bloats the output and — when the node is used as an AI Agent tool — burns context. Turn Simplify off to get the old payload back.
54
-
55
- > Changed in 2.8.0: timed events previously reported `start` as a local wall clock with no offset (`2026-04-20T14:00:00`), which downstream nodes re-read in the n8n host's timezone. Times are now emitted as explicit UTC instants and sort correctly.
56
-
57
- ### Event fields supported
58
-
59
- - **Core**: summary, start, end, all-day
60
- - **Details**: description, location
61
- - **Timezone**: IANA TZID (e.g. `Europe/Berlin`) attached to DTSTART/DTEND for correct display across clients
62
- - **Attendees**: multiple email + optional name per event
63
- - **Recurrence**: RRULE (RFC 5545 string, e.g. `FREQ=WEEKLY;BYDAY=MO`)
64
- - **Reminders (VALARM)**: multiple alarms per event, configurable minutes-before and action (Display / Email)
65
- - **Custom UID**: override the auto-generated UUID on create if you need a deterministic identifier
66
-
67
- ## Upgrading from 2.6.x
68
-
69
- 3.0.0 fixes several bugs that silently produced wrong data, so events are now
70
- written and reported differently. Read
71
- [CHANGELOG.md](CHANGELOG.md) before upgrading a live workflow in short:
72
-
73
- - `start` / `end` are now UTC instants (`2026-04-20T12:00:00.000Z`) or bare
74
- dates for all-day events, not offsetless local times.
75
- - `raw` is omitted unless you turn **Simplify** off.
76
- - **Update** no longer creates an event that does not exist.
77
- - Events with a **Timezone** were previously written shifted by the n8n host's
78
- UTC offset, and all-day events one day early. Both are fixed — if you worked
79
- around either by adjusting your input, remove that adjustment.
80
-
81
- ## Installation
82
-
83
- ### n8n Community Nodes (recommended)
84
-
85
- In n8n **Settings Community Nodes Install**, enter:
86
-
87
- ```
88
- n8n-nodes-caldav-pro
89
- ```
90
-
91
- ### Local development / `npm link`
92
-
93
- ```bash
94
- # Build the node package
95
- cd n8n-nodes-caldav-pro
96
- npm install
97
- npm run build
98
- npm link
99
-
100
- # Link it into your n8n custom folder
101
- mkdir -p ~/.n8n/custom
102
- cd ~/.n8n/custom
103
- npm link n8n-nodes-caldav-pro
104
-
105
- # Restart n8n — the node appears as "CalDAV"
106
- n8n start
107
- ```
108
-
109
- ## Infomaniak Quickstart
110
-
111
- > Verified against **Infomaniak Workspace** on `sync.infomaniak.com` — see [Tested with](#tested-with).
112
-
113
- ### Step 1Find your short username
114
-
115
- Infomaniak's CalDAV username is **NOT** your email address. Go to
116
- **https://config.infomaniak.com/** → scroll to *Thunderbird* or *Apple profile*.
117
- You'll see your short username, e.g. `abc12345`.
118
-
119
- > *(Screenshot placeholder: `config.infomaniak.com` page showing the short username.)*
120
-
121
- ### Step 2Generate an app password (only if 2FA is enabled)
122
-
123
- If you have 2FA enabled, regular login passwords are rejected for CalDAV. Create an app password at
124
- **https://manager.infomaniak.com**top-right avatar **Account management**
125
- **Security** **Application passwords** *Generate new*.
126
- Name it `n8n-caldav`.
127
-
128
- ### Step 3 — Create the credential in n8n
129
-
130
- 1. In n8n, add a **CalDAV API** credential.
131
- 2. **Server URL**: `https://sync.infomaniak.com/`
132
- 3. **Username**: your short username from Step 1 (e.g. `abc12345`) — **not the email**.
133
- 4. **Password**: the app password from Step 2 (or your regular password if 2FA is off).
134
- 5. Click **Test**. A 207 Multi-Status confirms it works.
135
-
136
- ### Step 4Your first event
137
-
138
- 1. Drop a **CalDAV** node on the canvas.
139
- 2. Select **Resource** = `Event`, **Operation** = `Create`.
140
- 3. Pick a calendar from the dropdown (loaded dynamically via discovery).
141
- 4. Fill **Summary**, **Start**, **End** set **Timezone** to `Europe/Berlin` for correct display.
142
- 5. Execute. You'll get back `{ uid, url, etag, ... }`.
143
- 6. Verify in your calendar app (Thunderbird, Apple Calendar, or https://calendar.infomaniak.com/).
144
-
145
- ### FAQ — Infomaniak specifics
146
-
147
- **1. "401 Unauthorized"** the Username field contains your email address. Use the short username from https://config.infomaniak.com/ (format: letters + digits, e.g. `abc12345`).
148
-
149
- **2. "No calendars found"** — wrong or mistyped Server URL. Must be exactly `https://sync.infomaniak.com/` with trailing slash.
150
-
151
- **3. "2FA blocks login"** regular passwords are refused when 2FA is active. Create an app password at https://manager.infomaniak.com → Security → Application passwords.
152
-
153
- **4. "Event shows in wrong timezone (UTC / GMT+00:00)"** set the **Timezone** field on the event (e.g. `Europe/Berlin`). Otherwise the event is stored as UTC and some clients display it literally.
154
-
155
- > Versions before 2.7.0 additionally shifted timed events by the *n8n host's* UTC offset whenever **Timezone** was set, and wrote all-day events on the wrong calendar date. If you created events with an older version, re-check their times.
156
-
157
- ## AI Agent Usage
158
-
159
- The node is declared `usableAsTool: true` with LLM-friendly descriptions on every parameter. An AI Agent can call it directly from a chat prompt. Example:
160
-
161
- > *"Create a calendar event in my primary calendar for tomorrow at 14:00 Berlin
162
- > time. Title: 'Kickoff with customer'. Duration: 1 hour. Location: 'Zoom — link
163
- > in the invite'. Invite alice@example.com and bob@example.com. Remind me 1 day
164
- > and 15 minutes before."*
165
-
166
- The agent will populate:
167
-
168
- - `resource` = `event`, `operation` = `create`
169
- - `calendar` = picked from the dropdown via `getCalendars`
170
- - `summary` = `"Kickoff with customer"`
171
- - `start` = `"2026-04-22T14:00:00+02:00"`, `end` = `"2026-04-22T15:00:00+02:00"`
172
- - `additionalFields.timezone` = `"Europe/Berlin"`
173
- - `additionalFields.location` = `"Zoom — link in the invite"`
174
- - `additionalFields.attendees` = two attendee objects
175
- - `additionalFields.reminders` = `[{minutesBefore: 1440}, {minutesBefore: 15}]`
176
-
177
- ### Recommended system prompt
178
-
179
- ```
180
- You are a calendar assistant with access to a CalDAV tool.
181
-
182
- - Convert any time/date mentioned by the user to ISO 8601 with
183
- the Europe/Berlin timezone offset before calling the tool.
184
- Current time: {{ $now.toISO() }}.
185
- - Always include "timezone": "Europe/Berlin" in additionalFields.
186
- - Before creating: confirm title, start, end in one short sentence.
187
- - Before deleting: always confirm with the event UID.
188
- - If the user is vague ("irgendwann"), ask one clarifying question.
189
- - Use the default calendar (first one returned by getCalendars)
190
- unless the user names a specific one.
191
- ```
192
-
193
- ## Tested with
194
-
195
- | Provider | Status | Notes |
196
- | ------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
197
- | **Infomaniak Workspace** | Verified | Full smoke test passes against a live account (SabreDAV backend) — see below. |
198
- | **Fastmail** | Community-reported | Confirmed working in [#3](https://github.com/Daisytwo/n8n-nodes-caldav-pro/issues/3). Base URL `https://caldav.fastmail.com/dav` — no trailing slash. App password required; a read-only one works for reading, and read-only calendars show as 🔒. |
199
- | Radicale | ✅ Community-reported | Connecting and creating events confirmed in [#2](https://github.com/Daisytwo/n8n-nodes-caldav-pro/issues/2). |
200
- | NextCloud | 🟡 Expected | SabreDAV-based, same backend as Infomaniak. Base URL typically `https://<host>/remote.php/dav/`. |
201
- | iCloud | 🟡 Expected | Requires app-specific password. Base URL `https://caldav.icloud.com/`. |
202
- | Synology Calendar | 🟡 Expected | Base URL `https://<nas-host>:5006/caldav.php/`. |
203
-
204
- ### Verified run against Infomaniak Workspace (3.0.0)
205
-
206
- `smoke-test.js`, run against a live account. Every object it creates is removed
207
- afterwards.
208
-
209
- ```
210
- [1] Create with an explicit timezone
211
- ✓ PUT accepted (201)
212
- event is readable
213
- ✓ start round-trips to the correct instant
214
- timezone reported
215
- [2] Get Next and Search
216
- ✓ seeded event appears among upcoming
217
- ✓ keyword search finds exactly one
218
- [3] Update preserves fields it was not given
219
- description / location / unmodelled CATEGORIES preserved
220
- SEQUENCE incremented
221
- stale If-Match is rejected with 412
222
- [4] Locate an event whose filename is not its UID
223
- UID resolved to the real resource
224
- [5] Recurring series expansion
225
- four occurrences, one week apart, distinct recurrenceIds
226
- [6] Move between calendars
227
- skipped, no second writable calendar on the test account
228
-
229
- ═══ ALL SMOKE TESTS PASSED ═══
230
- ```
231
-
232
- Move is therefore covered only by the offline harness (`npm run smoke:dryrun`),
233
- not against a live server.
234
-
235
- ## Known limitations / TODOs
236
-
237
- 1. **No OAuth2** only HTTP Basic. Infomaniak / NextCloud / iCloud / Fastmail don't need it; if you're targeting Google Calendar use the official Google Calendar node instead.
238
- 2. **No Free/Busy** (`calendar-availability`) — only the basic `calendar-query` REPORT.
239
- 3. **No attachments** (VEVENT ATTACH property).
240
- 4. **No scheduling / RSVP** attendees are written as ATTENDEE lines, but no server-side `METHOD:REQUEST` invitation email is triggered.
241
- 5. **Recurrence is per-series, not per-occurrence** — reads expand a series into its occurrences, but all occurrences share one UID and one URL. Deleting or updating by UID therefore affects the whole series; there is no way to change a single occurrence. Because that is rarely what the caller means, Delete and Update refuse to touch a recurring event unless **Entire Series** is switched on.
242
- 6. **No `VTIMEZONE` is written** — events are stored with a `TZID` parameter but without the matching `VTIMEZONE` component. Clients resolve IANA identifiers from their own database, so this works in practice, but it is not strictly RFC 5545 compliant.
243
-
244
- ## Built with AI
245
-
246
- This node was designed, coded, and tested end-to-end with the help of **Anthropic Claude** via [Claude Code](https://claude.com/claude-code). The AI agent:
247
-
248
- - Analysed the official n8n Google Calendar node as a structural reference.
249
- - Designed the resource/operation layout, credential flow, and discovery cascade.
250
- - Wrote every fileTypeScript sources, iCalendar builder/parser, XML parsing, UI descriptions, eslint config.
251
- - Ran a live end-to-end test against a real Infomaniak Workspace account and iterated until all 7 protocol stages passed (auth → discovery → list → create → REPORT → delete → verify).
252
- - Hardened the code: removed hard-coded secrets, sanitised logs, scrubbed personal data before publishing.
253
-
254
- If you find a bug or want a feature, open an issue I'll fix it the same way.
255
-
256
- ## Development
257
-
258
- ```bash
259
- npm run dev # tsc --watch
260
- npm run build # tsc + copy node icons into dist/
261
- npm run lint # eslint (flat config, eslint.config.mjs)
262
- npm run lint:selftest # assert the n8n lint presets actually enforce
263
- npm run check:package # assert the tarball has what it should and nothing more
264
- npm run format # prettier
265
- npm test # vitest — unit tests, no server needed
266
- npm run test:watch # vitest in watch mode
267
- npm run smoke:dryrun # smoke test against an in-memory server
268
- ```
269
-
270
- CI runs all of these on push and on pull requests. The live smoke test is not
271
- part of it it needs credentials and writes to a real calendar.
272
-
273
- Development requires Node 22: `n8n-workflow`, a dev dependency, pulls in
274
- `isolated-vm`, which declares `engines >=22.0.0` and fails to install on Node
275
- 20. The published package is unaffected it depends only on `fast-xml-parser`
276
- and `ical.js`, and supports Node 20.15+.
277
-
278
- The tests cover iCalendar generation, the update merge, recurrence expansion,
279
- event lookup, and the read operations end to end against a fake CalDAV server —
280
- no network and no credentials required.
281
-
282
- They run the
283
- same input under several host timezones (`UTC`, `Europe/Berlin`,
284
- `America/New_York`, `Asia/Tokyo`) and assert the output is identical — the
285
- timezone bugs fixed in 2.7.0 were only visible when the host's zone differed
286
- from the event's, which is the normal case in Docker.
287
-
288
- ### Manual testing against your CalDAV server
289
-
290
- `smoke-test.js` exercises a real server end to end: discovery, create, read,
291
- update with `If-Match`, UID lookup, recurrence expansion, and move. It removes
292
- everything it creates, and lists anything it could not remove.
293
-
294
- Put your credentials in a `.env` next to it — see `.env.example`. That file is
295
- gitignored and cannot reach the npm package, which ships only `dist/`. Use an
296
- app password and revoke it when you are done.
297
-
298
- ```bash
299
- CALDAV_TEST_CALENDARS=Test1,Test2 node smoke-test.js
300
- ```
301
-
302
- `CALDAV_TEST_CALENDARS` picks which writable calendars to use. Set it: the
303
- script creates, moves, and deletes events, so it should not run loose in a
304
- calendar you actually use. Without it, the first two writable calendars are
305
- taken — read-only ones are skipped automatically, since shared calendars and
306
- subscribed feeds reject writes.
307
-
308
- Run `npm run smoke:dryrun` first. It executes the same script against an
309
- in-memory CalDAV server, so a scripting error surfaces before anything touches
310
- a real calendar.
311
-
312
- ## License
313
-
314
- MIT
1
+ # n8n-nodes-caldav-pro
2
+
3
+ [![CI](https://github.com/Daisytwo/n8n-nodes-caldav-pro/actions/workflows/ci.yml/badge.svg)](https://github.com/Daisytwo/n8n-nodes-caldav-pro/actions/workflows/ci.yml)
4
+ [![npm](https://img.shields.io/npm/v/n8n-nodes-caldav-pro)](https://www.npmjs.com/package/n8n-nodes-caldav-pro)
5
+
6
+ A community node for [n8n](https://n8n.io) that connects your workflows to any **CalDAV calendar** — Infomaniak, NextCloud, iCloud, Fastmail, Synology, SOGo, Radicale, and any other RFC 4791-compliant server.
7
+
8
+ Drop it into a workflow to read, create, update, or delete calendar events — or let an **AI Agent** use it as a tool and manage your calendar from a chat prompt.
9
+
10
+ ## What this node does
11
+
12
+ This node gives n8n a full CRUD interface to CalDAV calendars. In practical terms:
13
+
14
+ - **List your calendars** — auto-discovers every calendar on the server via CalDAV's well-known endpoints. No hard-coded URLs. Calendars you cannot write to — ones shared with you, or subscribed feeds like holiday calendars — are reported as `readOnly` and marked 🔒 in the dropdown, so a write does not fail with an unexplained 403.
15
+ - **Create events** with title, start/end (ISO 8601 with timezone), description, location, attendees, recurrence (RRULE), and multiple reminders (VALARM).
16
+ - **Fetch events** for any time window via server-side `REPORT` queries — fast even on calendars with thousands of events.
17
+ - **Expand recurring series** — a weekly meeting is returned as the individual occurrences that fall inside your window, with `EXDATE` exclusions and moved instances (`RECURRENCE-ID`) applied.
18
+ - **Update events** — change time, location, reminders, attendees. Updates are applied as a patch: fields you don't supply keep their stored value, including properties this node doesn't model (categories, organiser, custom `X-` properties).
19
+ - **Delete events** by UID or URL.
20
+ - **Address events written by other clients** — Get / Update / Delete / Move accept either the event's URL (as returned by every read operation) or its UID, which is resolved against the server. Events created in Thunderbird, Apple Calendar, or a web UI are stored under a filename the server chose, not under their UID.
21
+ - **Round-trip iCalendar** — events you write come back correctly parsed, including RRULE, TZID, and alarms.
22
+ - **Use it as an AI Agent tool** — every field has an LLM-readable description with examples, so an agent can call it cold and get it right on the first try.
23
+
24
+ ### Typical use cases
25
+
26
+ - **Telegram / Slack → Calendar**: a chat bot powered by an AI Agent creates meetings from natural-language messages ("Kickoff morgen 14 Uhr mit Alice und Bob, erinnere mich 15min vorher").
27
+ - **Form submission → Booking**: a customer form in n8n creates an appointment event and sends a confirmation email.
28
+ - **CRM sync**: mirror deal-related meetings into a shared CalDAV calendar.
29
+ - **Reminder automation**: daily query of tomorrow's events, then send a summary via email / Slack / Telegram.
30
+ - **Cross-calendar migration**: read events from one server and write them to another.
31
+
32
+ ## Supported operations
33
+
34
+ | Resource | Operations | Notes |
35
+ | -------- | ----------------------------------------- | --------------------------------------------------- |
36
+ | Calendar | Get Many | Lists every calendar available to the user |
37
+ | Event | Create · Get · Get Many · Get Next · Search · Update · Move · Delete | Full CRUD, cross-calendar reads, and recurrence expansion |
38
+
39
+ ### Event output format
40
+
41
+ Read operations (`Get`, `Get Many`, `Get Next`, `Search`) return:
42
+
43
+ | Field | Value |
44
+ | ---------------------- | ------------------------------------------------------------------------------------------- |
45
+ | `start` / `end` | All-day: `2026-04-20`. Timed: an ISO 8601 UTC instant, `2026-04-20T12:00:00.000Z`. Use for sorting and arithmetic. |
46
+ | `startLocal` / `endLocal` | The same moment as the event's own local time, offset applied: `2026-04-20T14:00:00+02:00`. Use for display. |
47
+ | `timezone` | The `TZID` the event is stored under, when it has one (e.g. `Europe/Berlin`). |
48
+ | `allDay` | `true` for date-only events. |
49
+ | `recurrenceId` | Present only on an occurrence of a recurring series, identifying which slot it is. |
50
+ | `uid` / `url` | Shared by every occurrence of a series. |
51
+ | `rrule` | The series rule, repeated on each occurrence. |
52
+ | `raw` | The full `VCALENDAR` source — only when **Simplify** is turned off. |
53
+
54
+ > Added in 3.2.0: `startLocal` / `endLocal`. Reading a local time off a UTC
55
+ > instant means knowing the offset in force on that date, and language models
56
+ > get that wrong — asked to show a 19:00Z summer event in Berlin, one reported
57
+ > 23:00 and, on a later run, 20:00. These fields do the arithmetic so the agent
58
+ > does not have to. Events stored in plain UTC are rendered in the workflow's
59
+ > timezone.
60
+
61
+ > Changed in 2.9.0: read operations have a **Simplify** toggle, on by default, which omits `raw`. A recurring series repeats the same full `VCALENDAR` on every expanded occurrence, so leaving it in bloats the output and — when the node is used as an AI Agent tool — burns context. Turn Simplify off to get the old payload back.
62
+
63
+ > Changed in 2.8.0: timed events previously reported `start` as a local wall clock with no offset (`2026-04-20T14:00:00`), which downstream nodes re-read in the n8n host's timezone. Times are now emitted as explicit UTC instants and sort correctly.
64
+
65
+ ### Event fields supported
66
+
67
+ - **Core**: summary, start, end, all-day
68
+ - **Details**: description, location
69
+ - **Timezone**: IANA TZID (e.g. `Europe/Berlin`) attached to DTSTART/DTEND for correct display across clients
70
+ - **Attendees**: multiple email + optional name per event
71
+ - **Recurrence**: RRULE (RFC 5545 string, e.g. `FREQ=WEEKLY;BYDAY=MO`)
72
+ - **Reminders (VALARM)**: multiple alarms per event, configurable minutes-before and action (Display / Email)
73
+ - **Custom UID**: override the auto-generated UUID on create if you need a deterministic identifier
74
+
75
+ ## Upgrading from 2.6.x
76
+
77
+ 3.0.0 fixes several bugs that silently produced wrong data, so events are now
78
+ written and reported differently. Read
79
+ [CHANGELOG.md](CHANGELOG.md) before upgrading a live workflow in short:
80
+
81
+ - `start` / `end` are now UTC instants (`2026-04-20T12:00:00.000Z`) or bare
82
+ dates for all-day events, not offsetless local times.
83
+ - `raw` is omitted unless you turn **Simplify** off.
84
+ - **Update** no longer creates an event that does not exist.
85
+ - Events with a **Timezone** were previously written shifted by the n8n host's
86
+ UTC offset, and all-day events one day early. Both are fixed — if you worked
87
+ around either by adjusting your input, remove that adjustment.
88
+
89
+ ## Installation
90
+
91
+ ### n8n Community Nodes (recommended)
92
+
93
+ In n8n → **Settings → Community Nodes → Install**, enter:
94
+
95
+ ```
96
+ n8n-nodes-caldav-pro
97
+ ```
98
+
99
+ ### Local development / `npm link`
100
+
101
+ ```bash
102
+ # Build the node package
103
+ cd n8n-nodes-caldav-pro
104
+ npm install
105
+ npm run build
106
+ npm link
107
+
108
+ # Link it into your n8n custom folder
109
+ mkdir -p ~/.n8n/custom
110
+ cd ~/.n8n/custom
111
+ npm link n8n-nodes-caldav-pro
112
+
113
+ # Restart n8nthe node appears as "CalDAV"
114
+ n8n start
115
+ ```
116
+
117
+ ## Infomaniak Quickstart
118
+
119
+ > Verified against **Infomaniak Workspace** on `sync.infomaniak.com` see [Tested with](#tested-with).
120
+
121
+ ### Step 1Find your short username
122
+
123
+ Infomaniak's CalDAV username is **NOT** your email address. Go to
124
+ **https://config.infomaniak.com/**scroll to *Thunderbird* or *Apple profile*.
125
+ You'll see your short username, e.g. `abc12345`.
126
+
127
+ > *(Screenshot placeholder: `config.infomaniak.com` page showing the short username.)*
128
+
129
+ ### Step 2 — Generate an app password (only if 2FA is enabled)
130
+
131
+ If you have 2FA enabled, regular login passwords are rejected for CalDAV. Create an app password at
132
+ **https://manager.infomaniak.com** top-right avatar **Account management**
133
+ **Security** **Application passwords** *Generate new*.
134
+ Name it `n8n-caldav`.
135
+
136
+ ### Step 3Create the credential in n8n
137
+
138
+ 1. In n8n, add a **CalDAV API** credential.
139
+ 2. **Server URL**: `https://sync.infomaniak.com/`
140
+ 3. **Username**: your short username from Step 1 (e.g. `abc12345`) **not the email**.
141
+ 4. **Password**: the app password from Step 2 (or your regular password if 2FA is off).
142
+ 5. Click **Test**. A 207 Multi-Status confirms it works.
143
+
144
+ ### Step 4 — Your first event
145
+
146
+ 1. Drop a **CalDAV** node on the canvas.
147
+ 2. Select **Resource** = `Event`, **Operation** = `Create`.
148
+ 3. Pick a calendar from the dropdown (loaded dynamically via discovery).
149
+ 4. Fill **Summary**, **Start**, **End** set **Timezone** to `Europe/Berlin` for correct display.
150
+ 5. Execute. You'll get back `{ uid, url, etag, ... }`.
151
+ 6. Verify in your calendar app (Thunderbird, Apple Calendar, or https://calendar.infomaniak.com/).
152
+
153
+ ### FAQInfomaniak specifics
154
+
155
+ **1. "401 Unauthorized"** the Username field contains your email address. Use the short username from https://config.infomaniak.com/ (format: letters + digits, e.g. `abc12345`).
156
+
157
+ **2. "No calendars found"** — wrong or mistyped Server URL. Must be exactly `https://sync.infomaniak.com/` with trailing slash.
158
+
159
+ **3. "2FA blocks login"** regular passwords are refused when 2FA is active. Create an app password at https://manager.infomaniak.com Security Application passwords.
160
+
161
+ **4. "Event shows in wrong timezone (UTC / GMT+00:00)"** — set the **Timezone** field on the event (e.g. `Europe/Berlin`). Otherwise the event is stored as UTC and some clients display it literally.
162
+
163
+ > Versions before 2.7.0 additionally shifted timed events by the *n8n host's* UTC offset whenever **Timezone** was set, and wrote all-day events on the wrong calendar date. If you created events with an older version, re-check their times.
164
+
165
+ ## AI Agent Usage
166
+
167
+ The node is declared `usableAsTool: true` with LLM-friendly descriptions on every parameter. An AI Agent can call it directly from a chat prompt. Example:
168
+
169
+ > *"Create a calendar event in my primary calendar for tomorrow at 14:00 Berlin
170
+ > time. Title: 'Kickoff with customer'. Duration: 1 hour. Location: 'Zoom — link
171
+ > in the invite'. Invite alice@example.com and bob@example.com. Remind me 1 day
172
+ > and 15 minutes before."*
173
+
174
+ The agent will populate:
175
+
176
+ - `resource` = `event`, `operation` = `create`
177
+ - `calendar` = picked from the dropdown via `getCalendars`
178
+ - `summary` = `"Kickoff with customer"`
179
+ - `start` = `"2026-04-22T14:00:00+02:00"`, `end` = `"2026-04-22T15:00:00+02:00"`
180
+ - `additionalFields.timezone` = `"Europe/Berlin"`
181
+ - `additionalFields.location` = `"Zoom — link in the invite"`
182
+ - `additionalFields.attendees` = two attendee objects
183
+ - `additionalFields.reminders` = `[{minutesBefore: 1440}, {minutesBefore: 15}]`
184
+
185
+ ### Recommended system prompt
186
+
187
+ ```
188
+ You are a calendar assistant with access to a CalDAV tool.
189
+
190
+ - Convert any time/date mentioned by the user to ISO 8601 with
191
+ the Europe/Berlin timezone offset before calling the tool.
192
+ Current time: {{ $now.toISO() }}.
193
+ - Always include "timezone": "Europe/Berlin" in additionalFields.
194
+ - Before creating: confirm title, start, end in one short sentence.
195
+ - Before deleting: always confirm with the event UID.
196
+ - If the user is vague ("irgendwann"), ask one clarifying question.
197
+ - Use the default calendar (first one returned by getCalendars)
198
+ unless the user names a specific one.
199
+ ```
200
+
201
+ ## Tested with
202
+
203
+ | Provider | Status | Notes |
204
+ | ------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
205
+ | **Infomaniak Workspace** | ✅ Verified | Full smoke test passes against a live account (SabreDAV backend) — see below. |
206
+ | **Fastmail** | ✅ Community-reported | Confirmed working in [#3](https://github.com/Daisytwo/n8n-nodes-caldav-pro/issues/3). Base URL `https://caldav.fastmail.com/dav` no trailing slash. App password required; a read-only one works for reading, and read-only calendars show as 🔒. |
207
+ | Radicale | ✅ Community-reported | Connecting and creating events confirmed in [#2](https://github.com/Daisytwo/n8n-nodes-caldav-pro/issues/2). |
208
+ | NextCloud | 🟡 Expected | SabreDAV-based, same backend as Infomaniak. Base URL typically `https://<host>/remote.php/dav/`. |
209
+ | iCloud | 🟡 Expected | Requires app-specific password. Base URL `https://caldav.icloud.com/`. |
210
+ | Synology Calendar | 🟡 Expected | Base URL `https://<nas-host>:5006/caldav.php/`. |
211
+
212
+ ### Verified run against Infomaniak Workspace (3.0.0)
213
+
214
+ `smoke-test.js`, run against a live account. Every object it creates is removed
215
+ afterwards.
216
+
217
+ ```
218
+ [1] Create with an explicit timezone
219
+ PUT accepted (201)
220
+ event is readable
221
+ start round-trips to the correct instant
222
+ timezone reported
223
+ [2] Get Next and Search
224
+ seeded event appears among upcoming
225
+ keyword search finds exactly one
226
+ [3] Update preserves fields it was not given
227
+ description / location / unmodelled CATEGORIES preserved
228
+ ✓ SEQUENCE incremented
229
+ stale If-Match is rejected with 412
230
+ [4] Locate an event whose filename is not its UID
231
+ ✓ UID resolved to the real resource
232
+ [5] Recurring series expansion
233
+ four occurrences, one week apart, distinct recurrenceIds
234
+ [6] Move between calendars
235
+ skipped, no second writable calendar on the test account
236
+
237
+ ═══ ALL SMOKE TESTS PASSED ═══
238
+ ```
239
+
240
+ Move is therefore covered only by the offline harness (`npm run smoke:dryrun`),
241
+ not against a live server.
242
+
243
+ ## Known limitations / TODOs
244
+
245
+ 1. **No OAuth2** — only HTTP Basic. Infomaniak / NextCloud / iCloud / Fastmail don't need it; if you're targeting Google Calendar use the official Google Calendar node instead.
246
+ 2. **No Free/Busy** (`calendar-availability`) only the basic `calendar-query` REPORT.
247
+ 3. **No attachments** (VEVENT ATTACH property).
248
+ 4. **No scheduling / RSVP** attendees are written as ATTENDEE lines, but no server-side `METHOD:REQUEST` invitation email is triggered.
249
+ 5. **Recurrence is per-series, not per-occurrence** reads expand a series into its occurrences, but all occurrences share one UID and one URL. Deleting or updating by UID therefore affects the whole series; there is no way to change a single occurrence. Because that is rarely what the caller means, Delete and Update refuse to touch a recurring event unless **Entire Series** is switched on.
250
+ 6. **No `VTIMEZONE` is written** events are stored with a `TZID` parameter but without the matching `VTIMEZONE` component. Clients resolve IANA identifiers from their own database, so this works in practice, but it is not strictly RFC 5545 compliant.
251
+
252
+ ## Built with AI
253
+
254
+ This node was designed, coded, and tested end-to-end with the help of **Anthropic Claude** via [Claude Code](https://claude.com/claude-code). The AI agent:
255
+
256
+ - Analysed the official n8n Google Calendar node as a structural reference.
257
+ - Designed the resource/operation layout, credential flow, and discovery cascade.
258
+ - Wrote every file — TypeScript sources, iCalendar builder/parser, XML parsing, UI descriptions, eslint config.
259
+ - Ran a live end-to-end test against a real Infomaniak Workspace account and iterated until all 7 protocol stages passed (auth → discovery → list → create → REPORT → delete → verify).
260
+ - Hardened the code: removed hard-coded secrets, sanitised logs, scrubbed personal data before publishing.
261
+
262
+ If you find a bug or want a feature, open an issue — I'll fix it the same way.
263
+
264
+ ## Development
265
+
266
+ ```bash
267
+ npm run dev # tsc --watch
268
+ npm run build # tsc + copy node icons into dist/
269
+ npm run lint # eslint (flat config, eslint.config.mjs)
270
+ npm run lint:selftest # assert the n8n lint presets actually enforce
271
+ npm run check:package # assert the tarball has what it should and nothing more
272
+ npm run format # prettier
273
+ npm test # vitest unit tests, no server needed
274
+ npm run test:watch # vitest in watch mode
275
+ npm run smoke:dryrun # smoke test against an in-memory server
276
+ ```
277
+
278
+ CI runs all of these on push and on pull requests. The live smoke test is not
279
+ part of it it needs credentials and writes to a real calendar.
280
+
281
+ Development requires Node 22: `n8n-workflow`, a dev dependency, pulls in
282
+ `isolated-vm`, which declares `engines >=22.0.0` and fails to install on Node
283
+ 20. The published package is unaffected it depends only on `fast-xml-parser`
284
+ and `ical.js`, and supports Node 20.15+.
285
+
286
+ The tests cover iCalendar generation, the update merge, recurrence expansion,
287
+ event lookup, and the read operations end to end against a fake CalDAV server —
288
+ no network and no credentials required.
289
+
290
+ They run the
291
+ same input under several host timezones (`UTC`, `Europe/Berlin`,
292
+ `America/New_York`, `Asia/Tokyo`) and assert the output is identical — the
293
+ timezone bugs fixed in 2.7.0 were only visible when the host's zone differed
294
+ from the event's, which is the normal case in Docker.
295
+
296
+ ### Manual testing against your CalDAV server
297
+
298
+ `smoke-test.js` exercises a real server end to end: discovery, create, read,
299
+ update with `If-Match`, UID lookup, recurrence expansion, and move. It removes
300
+ everything it creates, and lists anything it could not remove.
301
+
302
+ Put your credentials in a `.env` next to it — see `.env.example`. That file is
303
+ gitignored and cannot reach the npm package, which ships only `dist/`. Use an
304
+ app password and revoke it when you are done.
305
+
306
+ ```bash
307
+ CALDAV_TEST_CALENDARS=Test1,Test2 node smoke-test.js
308
+ ```
309
+
310
+ `CALDAV_TEST_CALENDARS` picks which writable calendars to use. Set it: the
311
+ script creates, moves, and deletes events, so it should not run loose in a
312
+ calendar you actually use. Without it, the first two writable calendars are
313
+ taken — read-only ones are skipped automatically, since shared calendars and
314
+ subscribed feeds reject writes.
315
+
316
+ Run `npm run smoke:dryrun` first. It executes the same script against an
317
+ in-memory CalDAV server, so a scripting error surfaces before anything touches
318
+ a real calendar.
319
+
320
+ ## License
321
+
322
+ MIT
@@ -57,6 +57,7 @@ async function collectEvents(opts) {
57
57
  displayName: c.displayName,
58
58
  }))
59
59
  : [{ url: calendarUrl, displayName: '' }];
60
+ const localZone = this.getTimezone();
60
61
  const body = (0, GenericFunctions_1.buildTimeRangeReport)(rangeStart.toISOString(), rangeEnd.toISOString());
61
62
  const collected = [];
62
63
  for (const target of targets) {
@@ -65,7 +66,7 @@ async function collectEvents(opts) {
65
66
  Depth: '1',
66
67
  'Content-Type': 'application/xml; charset=utf-8',
67
68
  });
68
- const events = (0, GenericFunctions_1.parseCalendarQueryResponse)(resp.body, target.url, serverUrl, rangeStart, rangeEnd);
69
+ const events = (0, GenericFunctions_1.parseCalendarQueryResponse)(resp.body, target.url, serverUrl, rangeStart, rangeEnd, localZone);
69
70
  for (const event of events) {
70
71
  if (accept && !accept(event))
71
72
  continue;
@@ -91,7 +92,7 @@ class CalDav {
91
92
  group: ['input'],
92
93
  version: 1,
93
94
  subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
94
- description: 'Read and write calendar events over CalDAV (Infomaniak, NextCloud, iCloud, Fastmail, Synology). Works as an AI Agent tool.',
95
+ description: 'Read and write calendar events over CalDAV (Infomaniak, NextCloud, iCloud, Fastmail, Synology). Works as an AI Agent tool. Returned events carry two forms of each time: "startLocal"/"endLocal" are the event\'s own local time with its UTC offset already applied — use these to tell someone when an event is. "start"/"end" are UTC instants for sorting and arithmetic; do not convert them by hand.',
95
96
  defaults: {
96
97
  name: 'CalDAV',
97
98
  },
@@ -242,7 +243,7 @@ class CalDav {
242
243
  const resp = await GenericFunctions_1.davRequest.call(this, 'GET', eventUrl, undefined, {
243
244
  Accept: 'text/calendar',
244
245
  });
245
- const parsed = (0, GenericFunctions_1.parseICalEvent)(resp.body, eventUrl, resp.headers.etag?.replace(/"/g, ''));
246
+ const parsed = (0, GenericFunctions_1.parseICalEvent)(resp.body, eventUrl, resp.headers.etag?.replace(/"/g, ''), this.getTimezone());
246
247
  if (!parsed) {
247
248
  throw new n8n_workflow_1.NodeApiError(this.getNode(), { message: `Event ${uid} not parseable`, description: resp.body });
248
249
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CalDav.node.js","sourceRoot":"","sources":["../../../nodes/CalDav/CalDav.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CalDav.node.js","sourceRoot":"","sources":["../../../nodes/CalDav/CalDav.node.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export interface CalDavEvent {
15
15
  location?: string;
16
16
  start?: string;
17
17
  end?: string;
18
+ startLocal?: string;
19
+ endLocal?: string;
18
20
  allDay?: boolean;
19
21
  timezone?: string;
20
22
  rrule?: string;
@@ -74,12 +76,12 @@ export interface PatchEventInput {
74
76
  reminders?: EventReminder[];
75
77
  }
76
78
  export declare function patchICalEvent(raw: string, patch: PatchEventInput): string;
77
- export declare function parseICalEvent(raw: string, url: string, etag?: string): CalDavEvent | null;
79
+ export declare function parseICalEvent(raw: string, url: string, etag?: string, localZone?: string): CalDavEvent | null;
78
80
  export declare function seriesRecurrenceRule(raw: string): string | undefined;
79
- export declare function expandCalendarObject(raw: string, url: string, etag?: string, rangeStart?: Date, rangeEnd?: Date): CalDavEvent[];
81
+ export declare function expandCalendarObject(raw: string, url: string, etag?: string, rangeStart?: Date, rangeEnd?: Date, localZone?: string): CalDavEvent[];
80
82
  export declare function buildUidQueryReport(uid: string): string;
81
83
  export declare function resolveEventUrl(this: RequestCtx, calendarUrl: string, uid: string, explicitUrl?: string, serverUrl?: string): Promise<string>;
82
84
  export declare function simplifyEvent(event: CalDavEvent): Omit<CalDavEvent, 'raw'>;
83
85
  export declare function buildTimeRangeReport(timeMin: string, timeMax: string): string;
84
- export declare function parseCalendarQueryResponse(xml: string, calendarUrl: string, serverUrl: string, rangeStart?: Date, rangeEnd?: Date): CalDavEvent[];
86
+ export declare function parseCalendarQueryResponse(xml: string, calendarUrl: string, serverUrl: string, rangeStart?: Date, rangeEnd?: Date, localZone?: string): CalDavEvent[];
85
87
  export {};
@@ -86,11 +86,11 @@ function getFirstPropstat(resp) {
86
86
  async function discoverCalendarHome(serverUrl, username) {
87
87
  const base = serverUrl.replace(/\/$/, '');
88
88
  const logger = this.logger;
89
- const principalBody = `<?xml version="1.0" encoding="utf-8"?>
89
+ const principalBody = `<?xml version="1.0" encoding="utf-8"?>
90
90
  <d:propfind xmlns:d="DAV:"><d:prop><d:current-user-principal/></d:prop></d:propfind>`;
91
- const homeBody = `<?xml version="1.0" encoding="utf-8"?>
92
- <d:propfind xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
93
- <d:prop><c:calendar-home-set/></d:prop>
91
+ const homeBody = `<?xml version="1.0" encoding="utf-8"?>
92
+ <d:propfind xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
93
+ <d:prop><c:calendar-home-set/></d:prop>
94
94
  </d:propfind>`;
95
95
  const tryPrincipal = async (url) => {
96
96
  try {
@@ -235,15 +235,15 @@ async function discoverCalendars(serverUrl, username) {
235
235
  }
236
236
  async function discoverCalendarsUncached(serverUrl, username) {
237
237
  const home = await discoverCalendarHome.call(this, serverUrl, username);
238
- const body = `<?xml version="1.0" encoding="utf-8"?>
239
- <d:propfind xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:ic="http://apple.com/ns/ical/">
240
- <d:prop>
241
- <d:resourcetype/>
242
- <d:displayname/>
243
- <d:current-user-privilege-set/>
244
- <cs:getctag/>
245
- <ic:calendar-color/>
246
- </d:prop>
238
+ const body = `<?xml version="1.0" encoding="utf-8"?>
239
+ <d:propfind xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:ic="http://apple.com/ns/ical/">
240
+ <d:prop>
241
+ <d:resourcetype/>
242
+ <d:displayname/>
243
+ <d:current-user-privilege-set/>
244
+ <cs:getctag/>
245
+ <ic:calendar-color/>
246
+ </d:prop>
247
247
  </d:propfind>`;
248
248
  const resp = await davRequest.call(this, 'PROPFIND', home, body, { Depth: '1' });
249
249
  const responses = extractResponses(resp.body);
@@ -368,6 +368,28 @@ function instantOf(time, tzid) {
368
368
  }
369
369
  return time.toJSDate();
370
370
  }
371
+ function zoneOffsetMinutes(instant, tz) {
372
+ const shown = wallClockInZone(instant, tz);
373
+ const asUtc = Date.UTC(shown.year, shown.month - 1, shown.day, shown.hour, shown.minute, shown.second);
374
+ return Math.round((asUtc - instant.getTime()) / 60000);
375
+ }
376
+ function formatLocalTime(time, tzid, fallbackZone) {
377
+ if (time.isDate)
378
+ return formatEventTime(time, tzid);
379
+ const zone = tzid && isKnownZone(tzid)
380
+ ? tzid
381
+ : fallbackZone && isKnownZone(fallbackZone)
382
+ ? fallbackZone
383
+ : 'UTC';
384
+ const instant = instantOf(time, tzid);
385
+ const w = wallClockInZone(instant, zone);
386
+ const offset = zoneOffsetMinutes(instant, zone);
387
+ const sign = offset < 0 ? '-' : '+';
388
+ const abs = Math.abs(offset);
389
+ const pad = (n) => String(n).padStart(2, '0');
390
+ return (`${w.year}-${pad(w.month)}-${pad(w.day)}T${pad(w.hour)}:${pad(w.minute)}:${pad(w.second)}` +
391
+ `${sign}${pad(Math.floor(abs / 60))}:${pad(abs % 60)}`);
392
+ }
371
393
  function formatEventTime(time, tzid) {
372
394
  if (time.isDate) {
373
395
  const pad = (n) => String(n).padStart(2, '0');
@@ -594,7 +616,7 @@ function readReminders(vevent) {
594
616
  function startTzid(vevent) {
595
617
  return vevent.getFirstProperty('dtstart')?.getParameter('tzid');
596
618
  }
597
- function toCalDavEvent(vevent, url, etag, raw, times) {
619
+ function toCalDavEvent(vevent, url, etag, raw, times, localZone) {
598
620
  const event = new ical_js_1.default.Event(vevent);
599
621
  const tzid = times?.tzid ?? startTzid(vevent);
600
622
  const start = times?.start ?? event.startDate;
@@ -610,6 +632,8 @@ function toCalDavEvent(vevent, url, etag, raw, times) {
610
632
  location: event.location ?? undefined,
611
633
  start: start ? formatEventTime(start, tzid) : undefined,
612
634
  end: end ? formatEventTime(end, tzid) : undefined,
635
+ startLocal: start ? formatLocalTime(start, tzid, localZone) : undefined,
636
+ endLocal: end ? formatLocalTime(end, tzid, localZone) : undefined,
613
637
  allDay: start?.isDate ?? false,
614
638
  timezone: tzid,
615
639
  rrule: rruleProp ? rruleProp.getFirstValue()?.toString() : undefined,
@@ -619,14 +643,14 @@ function toCalDavEvent(vevent, url, etag, raw, times) {
619
643
  raw,
620
644
  };
621
645
  }
622
- function parseICalEvent(raw, url, etag) {
646
+ function parseICalEvent(raw, url, etag, localZone) {
623
647
  try {
624
648
  const comp = new ical_js_1.default.Component(ical_js_1.default.parse(raw));
625
649
  const vevents = comp.getAllSubcomponents('vevent');
626
650
  if (!vevents.length)
627
651
  return null;
628
652
  const master = vevents.find((v) => !v.hasProperty('recurrence-id')) ?? vevents[0];
629
- return toCalDavEvent(master, url, etag, raw);
653
+ return toCalDavEvent(master, url, etag, raw, undefined, localZone);
630
654
  }
631
655
  catch {
632
656
  return null;
@@ -646,7 +670,7 @@ function seriesRecurrenceRule(raw) {
646
670
  }
647
671
  const MAX_OCCURRENCES_PER_OBJECT = 1000;
648
672
  const MAX_ITERATIONS_PER_OBJECT = 20000;
649
- function expandCalendarObject(raw, url, etag, rangeStart, rangeEnd) {
673
+ function expandCalendarObject(raw, url, etag, rangeStart, rangeEnd, localZone) {
650
674
  try {
651
675
  const comp = new ical_js_1.default.Component(ical_js_1.default.parse(raw));
652
676
  const vevents = comp.getAllSubcomponents('vevent');
@@ -655,13 +679,13 @@ function expandCalendarObject(raw, url, etag, rangeStart, rangeEnd) {
655
679
  const masters = vevents.filter((v) => !v.hasProperty('recurrence-id'));
656
680
  const overrides = vevents.filter((v) => v.hasProperty('recurrence-id'));
657
681
  if (!masters.length) {
658
- return overrides.map((v) => toCalDavEvent(v, url, etag, raw));
682
+ return overrides.map((v) => toCalDavEvent(v, url, etag, raw, undefined, localZone));
659
683
  }
660
684
  const out = [];
661
685
  for (const master of masters) {
662
686
  const event = new ical_js_1.default.Event(master);
663
687
  if (!rangeStart || !rangeEnd || !event.isRecurring()) {
664
- out.push(toCalDavEvent(master, url, etag, raw));
688
+ out.push(toCalDavEvent(master, url, etag, raw, undefined, localZone));
665
689
  continue;
666
690
  }
667
691
  for (const o of overrides) {
@@ -689,7 +713,7 @@ function expandCalendarObject(raw, url, etag, rangeStart, rangeEnd) {
689
713
  end: details.endDate,
690
714
  recurrenceId: details.recurrenceId,
691
715
  tzid,
692
- }));
716
+ }, localZone));
693
717
  if (++collected >= MAX_OCCURRENCES_PER_OBJECT)
694
718
  break;
695
719
  }
@@ -709,20 +733,20 @@ function escapeXml(value) {
709
733
  .replace(/'/g, '&apos;');
710
734
  }
711
735
  function buildUidQueryReport(uid) {
712
- return `<?xml version="1.0" encoding="utf-8"?>
713
- <c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
714
- <d:prop>
715
- <d:getetag/>
716
- </d:prop>
717
- <c:filter>
718
- <c:comp-filter name="VCALENDAR">
719
- <c:comp-filter name="VEVENT">
720
- <c:prop-filter name="UID">
721
- <c:text-match collation="i;octet">${escapeXml(uid)}</c:text-match>
722
- </c:prop-filter>
723
- </c:comp-filter>
724
- </c:comp-filter>
725
- </c:filter>
736
+ return `<?xml version="1.0" encoding="utf-8"?>
737
+ <c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
738
+ <d:prop>
739
+ <d:getetag/>
740
+ </d:prop>
741
+ <c:filter>
742
+ <c:comp-filter name="VCALENDAR">
743
+ <c:comp-filter name="VEVENT">
744
+ <c:prop-filter name="UID">
745
+ <c:text-match collation="i;octet">${escapeXml(uid)}</c:text-match>
746
+ </c:prop-filter>
747
+ </c:comp-filter>
748
+ </c:comp-filter>
749
+ </c:filter>
726
750
  </c:calendar-query>`;
727
751
  }
728
752
  async function resolveEventUrl(calendarUrl, uid, explicitUrl, serverUrl) {
@@ -764,22 +788,22 @@ function buildTimeRangeReport(timeMin, timeMax) {
764
788
  return (`${d.getUTCFullYear()}${String(d.getUTCMonth() + 1).padStart(2, '0')}${String(d.getUTCDate()).padStart(2, '0')}T` +
765
789
  `${String(d.getUTCHours()).padStart(2, '0')}${String(d.getUTCMinutes()).padStart(2, '0')}${String(d.getUTCSeconds()).padStart(2, '0')}Z`);
766
790
  };
767
- return `<?xml version="1.0" encoding="utf-8"?>
768
- <c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
769
- <d:prop>
770
- <d:getetag/>
771
- <c:calendar-data/>
772
- </d:prop>
773
- <c:filter>
774
- <c:comp-filter name="VCALENDAR">
775
- <c:comp-filter name="VEVENT">
776
- <c:time-range start="${toIcal(timeMin)}" end="${toIcal(timeMax)}"/>
777
- </c:comp-filter>
778
- </c:comp-filter>
779
- </c:filter>
791
+ return `<?xml version="1.0" encoding="utf-8"?>
792
+ <c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
793
+ <d:prop>
794
+ <d:getetag/>
795
+ <c:calendar-data/>
796
+ </d:prop>
797
+ <c:filter>
798
+ <c:comp-filter name="VCALENDAR">
799
+ <c:comp-filter name="VEVENT">
800
+ <c:time-range start="${toIcal(timeMin)}" end="${toIcal(timeMax)}"/>
801
+ </c:comp-filter>
802
+ </c:comp-filter>
803
+ </c:filter>
780
804
  </c:calendar-query>`;
781
805
  }
782
- function parseCalendarQueryResponse(xml, calendarUrl, serverUrl, rangeStart, rangeEnd) {
806
+ function parseCalendarQueryResponse(xml, calendarUrl, serverUrl, rangeStart, rangeEnd, localZone) {
783
807
  const responses = extractResponses(xml);
784
808
  const events = [];
785
809
  for (const r of responses) {
@@ -796,7 +820,7 @@ function parseCalendarQueryResponse(xml, calendarUrl, serverUrl, rangeStart, ran
796
820
  continue;
797
821
  const etag = (prop.getetag ?? '').toString().replace(/"/g, '');
798
822
  const url = absoluteUrl(href, serverUrl || calendarUrl);
799
- events.push(...expandCalendarObject(raw, url, etag || undefined, rangeStart, rangeEnd));
823
+ events.push(...expandCalendarObject(raw, url, etag || undefined, rangeStart, rangeEnd, localZone));
800
824
  }
801
825
  return events;
802
826
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/CalDav/GenericFunctions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/CalDav/GenericFunctions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-caldav-pro",
3
- "version": "3.1.2",
3
+ "version": "3.2.0",
4
4
  "description": "n8n community node for CalDAV calendars (Infomaniak, NextCloud, iCloud, Fastmail). Usable as AI Agent tool.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",