All nodes/Integrations/Calendar

Delete Calendar Event

DELETE a calendar resource.

Delete Calendar Event▶
CalDAV connectionOutcome
Error

Type in the graph: calendar_delete_event

Exec

An error output can be enabled to handle failures on their own path.

Ports can be split into separate execution and data handles.

Try it

Minimal working scenario

Entry
Delete Calendar Event▶
CalDAV Config
Exit▶
  • Execute
  • Data
  • Execute + Data
Press “Copy nodes”, open the editor and hit Ctrl+V on the canvas.

Pick your own connection or knowledge base first — the graph carries REPLACE_ME.

When to use it

Removes a calendar object by address. Cancelling a meeting softly — leaving it in the calendar with a marker — is a different job: Patch Calendar Event cannot change the status, while Put Calendar Event can, via its “Status” field set to “Cancelled”. Deleting wipes the object without a trace.

How it works

The node addresses the server through the “Event href” field. The address comes straight from Calendar Query or Get Calendar Event, unmodified.

A blank ETag means “delete whatever is there now”. A filled one becomes a condition: if the event has been modified meanwhile, the server answers 412 (error_code PRECONDITION_FAILED) and nothing is deleted. The output is { "ok": true } — the operation has no other confirmation.

Common mistakes

  • The whole resource goes. For a recurring meeting that is the entire series. A single occurrence cannot be dropped by deleting — that takes adding an EXDATE to the event body and writing it back.
  • Running it twice is an error. A second delete at the same address gets a 404 and stops with the NOT_FOUND code. When the step may run twice (a replayed turn, a retry branch), turn on “Error output” and treat that code as success.
  • A typo looks exactly the same. NOT_FOUND means “there is nothing at this address”, not “the event was already deleted” — check that an href was substituted, not a UID.
  • Attendees learn nothing. Deleting the resource sends no notifications; a cancellation goes out through Calendar Schedule with the “Cancel (CANCEL)” operation.
  • A failure stops the run. The node has no failure branch by default: without “Error output” enabled, an unsuccessful delete brings down the whole turn.

Inputs

PortWirePayloadNotes
CalDAV connectioncalendar_storeDatadata—

required

Outputs

PortWirePayloadNotes
OutcomeoutputExecute + Dataexecute_dataobject
Erroron_errorExecute + Dataexecute_data—

shown when expose_error_output = true

Configuration

FieldTypeDefaultDescription
CalDAV connectionconnection_idstring""

Saved workspace CalDAV connection, so a simple calendar scenario does not need a separate CalDAV connection node. A node wired to the 'CalDAV connection' port wins over this field.

connection: caldavoverridden by port: calendar_store

Event hrefhrefstring""

Path or absolute URL of the calendar object, exactly as returned by Calendar Query or Calendar Multiget ({{ nodes.<query>.output.events[0].href }}). A relative path is resolved against the connection's base URL. Example: /remote.php/dav/calendars/user/personal/9f1c-1234.ics

supports templates

Advanced
ETagetagstring""

Optimistic-concurrency token from a previous Get/Query. Empty = delete whatever is there now; a stale token makes the server answer 412 (error_code=PRECONDITION_FAILED) instead of deleting someone else's edit.

supports templates

Shared fields

Every node has these three — the platform adds them, not the node author.

  • expose_error_output — When enabled, show an execution output to connect nodes that run if this step fails.
  • split_ports_in — Show separate execution and data input handles instead of one combined port.
  • split_ports_out — Show separate execution and data output handles instead of one combined port.