All nodes/Integrations/Calendar

Delete Calendar Event

DELETE a calendar resource.

Delete Calendar Event
Calendar storeSuccess
Error

Type in the graph: calendar_delete_event

Exec

An error branch can be enabled (expose_error_output) to handle failures on their own path.

Ports can be split into separate execution and data handles.

Try it

Minimal working workflow

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
Calendar storecalendar_storeDatadata

required

Outputs

PortWirePayloadNotes
SuccessoutputExecute + 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 graph does not need a separate CalDAV Config node. A node wired to the 'calendar_store' 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.