Update Appointment

highlevel.update_appointment
ActionCRM & salesconnection required

Calls the HighLevel API with the connection's credentials.

Reschedule an appointment or change its status.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
HighLevel
Secret shape
{"client_id": "…", "client_secret": "…", "refresh_token": "…"} for a marketplace app, or {"access_token": "…"} for a Private Integration Token
Config it needs
location_id, user_type, base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

16 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
event_id
The appointment (event) id. For one occurrence of a recurring appointment pass the instance id; for the whole series pass the masterEventId.
stringYes———
start_time
New start, ISO-8601 with an offset.
stringNo—iso8601 format—
end_time
New end, ISO-8601 with an offset.
stringNo—iso8601 format—
calendar_id
Move it to this calendar.
stringNo———
title
Replaces the appointment's title; blank leaves it as it is.
stringNo———
description
New description.
stringNo———
appointment_status
New status — 'cancelled' is how an appointment is cancelled without deleting it.
stringNo—one of "new", "confirmed", "cancelled", "showed", "noshow", "invalid"—
assigned_user_id
User to assign it to.
stringNo———
meeting_location_type
Where the meeting happens.
stringNo—one of "custom", "zoom", "gmeet", "phone", "address", "ms_teams", "google"—
meeting_location_id
The configured meeting location to use.
stringConditional—only with meeting_location_type—
address
New address or meeting link.
stringNo———
rrule
A new iCalendar RFC 5545 RRULE for the series.
stringNo———
to_notify
Let HighLevel's automations run for this change.
booleanNo———
ignore_date_range
Ignore the calendar's minimum scheduling notice and date range.
booleanNo———
ignore_free_slot_validation
Move it to a time the calendar does not offer.
booleanNo———
override_location_config
Use this node's meeting location instead of the calendar's.
booleanNo———

Output

One shape.

result

FieldTypeExample
id
The appointment (event) id.
string—
calendarId
The calendar it was booked on.
string—
locationId
The sub-account it belongs to.
string—
contactId
The contact it was booked for.
string—
startTime
Start of the appointment (ISO-8601).
string—
endTime
End of the appointment (ISO-8601).
string—
title
Appointment title.
string—
appointmentStatus
new, confirmed, cancelled, showed, noshow or invalid.
string—
assignedUserId
User the appointment is assigned to.
string—
address
Where it happens, or the meeting link.
string—
{
  "address": "",
  "appointmentStatus": "",
  "assignedUserId": "",
  "calendarId": "",
  "contactId": "",
  "endTime": "",
  "id": "",
  "locationId": "",
  "startTime": "",
  "title": ""
}

See Update Appointment run in a workflow.

In a technical demo we add the HighLevel connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.