Skip to main content

Update Case Escalation

The UPDATE_CASE_ESCALATION event is triggered when an existing escalation's note, assignedToId, or dueDate is edited, or the escalation is marked complete. At present, this is only possible through the CareGLP application; see the limitation below for how the REST API differs.

Completing an escalation can have a few side effects worth knowing about:

  • If it was the case's last remaining open escalation, the case itself is de-escalated.
  • If the escalation is a support escalation with reason "Payment Failed," any pending payment retries for the case are cancelled.
  • Escalations linked to it as children may be completed automatically as a result. Whether each of those child completions fires its own UPDATE_CASE_ESCALATION webhook has not been confirmed.
Known limitations

Editing or completing an escalation through the REST API — including marking it complete — updates the database directly and does not fire this webhook. Only escalation edits made through the CareGLP application are confirmed to trigger it; new escalations added through the REST API do fire their own webhook (see Add Case Escalation).

Two automatic flows also resolve escalations without sending any webhook at all: completing a "Missing ID" escalation and adding a follow-up "ID Received" escalation when a patient attaches a document to a case comment, and completing review-related escalations when a case decision is approved. Teams relying on these webhooks to track escalation completions should keep these gaps in mind.

The payload.activity object is selected by case and activity type only, taking the most recent match — it isn't tied to this specific escalation. When two escalations of the same type are updated on the same case close together, the activity object attached to one webhook can end up describing the other escalation.

Attributes

eventstring
The name of the event that was triggered. For this webhook, the value will always be `UPDATE_CASE_ESCALATION`.
payloadobject
The main object containing all data related to the event.
Show child attributes
escalationobject
The escalation record associated with this event. Only `null` if the originating action did not carry an escalation ID, which does not happen for any confirmed trigger of ADD_CASE_ESCALATION, UPDATE_CASE_ESCALATION, or REMOVE_CASE_ESCALATION.
Show child attributes
idstring<UUID>
The unique identifier for the escalation.
categorystring
Allowed values:SUPPORT_ESCALATION,CLINICAL_ESCALATION,EXTERNAL_SUPPORT_ESCALATION
The category of the escalation.
reasonstring
The specific reason for the escalation (e.g. "Missing ID", "Waiting for patient reply"). Valid values depend on `category` and are not a fixed platform-wide enum.
notestring | null
An optional free-text note attached to the escalation.
isCompletedboolean
Whether the escalation has been marked complete.
addedAtstring<date-time>
The timestamp when the escalation was added.
dueDatestring<date-time> | null
The follow-up due date for the escalation, if one was set.
addedByobject
The user who added the escalation. Always present.
Show child attributes
idstring
The unique identifier of the user.
firstNamestring
The user's first name.
lastNamestring
The user's last name.
emailstring
The user's email address.
assignedToobject | null
The user the escalation is assigned to. `null` if unassigned.
Show child attributes
idstring
The unique identifier of the user.
firstNamestring
The user's first name.
lastNamestring
The user's last name.
emailstring
The user's email address.
caseobject
An object containing the full details of the case at the time of the event.
Show child attributes
idstring<UUID>
The unique identifier for the case.
typestring
The type or category of the case (e.g., "GLP").
titlestring
The title of the case.
statusstring
Allowed values:OPEN,ASSIGNED,IN_PROGRESS,APPROVED,REJECTED,NO_DECISION
The current status of the case.
shortIdstring
A short, human-readable identifier for the case.
createdAtstring<date-time>
The timestamp when the case was created.
updatedAtstring<date-time>
The timestamp when the case was last updated.
assignedAtstring<date-time>
The timestamp when an assignee was first added to the case.
inProgressAtstring<date-time>
The timestamp when the case status changed to "IN_PROGRESS".
closedAtstring<date-time>
The timestamp when the case was closed. null if still open.
isArchivedboolean
Indicates if the case is closed/archived.
isEscalatedboolean
Indicates if the case is escalated.
isImportedboolean
Indicates if the case is imported from outside.
referralCodestring
Indicates if user have any referralCode.
closedBystring
The unique identifier for the user that case mark close.
inProgressBystring
The unique identifier for the user which make case in InProgress.
organizationIdstring<UUID>
The unique identifier for the case belongs which organization.
archiveReasonstring
Allowed values:COMPLETE,INELIGIBLE
Indicates if the case is archived any reason status.
archiveNotestring
Indicates if the case is archived any reason for it, null if still open.
visitTypeVisitType
Allowed values:NO_SHOW,ASYNC_TEXT_EMAIL,SYNC_VIDEO,SYNC_PHONE,ORDER_FORM
productBundleIdstring<UUID>
The unique identifier for the case belongs which product bundle.
productBundleobject
Details about the product bundle associated with the case.
Show child attributes
namestring
Indicates case product bundle name.
submitterobject
An object containing the details of the user who submitted the case.
Show child attributes
idstring
The unique identifier of the submitter.
firstNamestring
The first name of the submitter.
lastNamestring
The last name of the submitter.
emailstring
The email address of the submitter.
dobstring<date-time>
The date of birth of the submitter in ISO 8601 format.
genderstring
The gender of the submitter (e.g., MALE, FEMALE, OTHER).
phoneNumberstring
The phone number of the submitter, including country code.
addressstring
The primary address line of the submitter.
address2string
The secondary address line of the submitter, if applicable.
citystring
The city of the submitter's address.
statestring
The state or province of the submitter's address.
postalCodestring
The postal code of the submitter's address.
activityobject
The most recent `CaseActivity` row of type `UPDATE_CASE_ESCALATION` on this case, looked up by `caseId` + `type` only (not scoped to this specific escalation). If two escalations of the same type are updated on the same case in quick succession, this can describe the wrong one — see the caution note above.
Show child attributes
idstring<UUID>
The unique identifier for this activity log entry.
typestring
Allowed values:CREATE_CASE,CHANGE_CASE_STATUS,ADD_CASE_COMMENT,DELETE_CASE_COMMENT,ADD_CASE_DECISION,ARCHIVE_CASE,ESCALATE_CASE,DEESCALATE_CASE,ADD_CASE_ESCALATION,REMOVE_CASE_ESCALATION,UPDATE_CASE_ESCALATION,DECISION_DELETED,ADD_CASE_ATTACHMENT,ADD_CASE_ASSIGNEE,REMOVE_CASE_ASSIGNEE,IMPORT_CASE,ADD_FORM_RESPONSE,UPDATE_FORM_RESPONSE,ADD_HR_REP,REMOVE_HR_REP,DELETE_ATTACHMENT,FOLLOWUP_EMAIL,PAYMENT_ADDED,PAYMENT_COMPLETED,PAYMENT_DELETED,PAYMENT_UPDATED,ORDER_CREATED,TEXT_INFO,REOPEN_CASE,SMS_SENT,SMS_RECEIVED,INBOUND_EMAIL,OUTBOUND_EMAIL,FOLLOWUP_FORM,ORDER_STATUS_CHANGED,ORDER_TRACKING_ADDED,PAYMENT_INFO_LINK_SENT,ADD_PAYMENT_INFO_USING_LINK,CALENDAR_EVENT_CREATED,CALENDAR_EVENT_RESCHEDULED,CALENDAR_EVENT_CANCELED,CALENDAR_EVENT_NO_SHOW,CALENDAR_EVENT_NO_SHOW_REMOVED,SUPPORT_NOTE_ADDED,SUPPORT_NOTE_UPDATED,SUPPORT_NOTE_COMPLETED,COMMENT_ACKNOWLEDGED,NOTE_ACKNOWLEDGED,VISIT_TYPE_CHANGED,PAYMENT_PREAUTHORIZED,SUBSCRIPTION_ADDED,SUBSCRIPTION_ACTIVATED,SUBSCRIPTION_COMPLETED,SUBSCRIPTION_PAUSED,SUBSCRIPTION_RESUMED,SUBSCRIPTION_CANCELLED,SUBSCRIPTION_UPDATED,ADD_CASE_PRODUCT,CLOSE_CASE_PRODUCT,OPEN_CASE_PRODUCT
The type of activity.
isPHIboolean
Indicates if the activity contains Protected Health Information (PHI).
isRestrictedboolean
Indicates if the activity details are restricted to internal users due to sensitivity (for example, payment data).
valueBeforestring | null
The previous value before this activity, if any. For this event, usually `null`.
valueAfterstring | null
A short description of the result of the activity, such as `payment info has been added`.
timestampstring<date-time>
The exact timestamp when the activity occurred.
actorobject
The user who performed the action (i.e., who added the new assignee).
Show child attributes
idstring<UUID>
The ID of the actor.
firstNamestring
The first name of the actor.
lastNamestring
The last name of the actor.
emailstring
The email of the actor.
targetUserobject
The user who was the target of the action (i.e., the user who was assigned).
Show child attributes
idstring<UUID>
The ID of the assigned user.
firstNamestring
The first name of the assigned user.
lastNamestring
The last name of the assigned user.
emailstring
The email of the assigned user.

Response

{
"event": "UPDATE_CASE_ESCALATION",
"payload": {
"escalation": {
"id": "b1e6a1a2-9b3e-4b8a-9b7a-1f2c3d4e5f60",
"category": "SUPPORT_ESCALATION",
"reason": "Missing ID",
"note": "Requested ID via SMS",
"isCompleted": true,
"addedAt": "2025-09-03T23:24:31.127Z",
"dueDate": "2025-09-10T00:00:00.000Z",
"addedBy": {
"id": "YaM948FdwiQa3Ek3GCnYsnZTTSW2",
"firstName": "Alex",
"lastName": "Johnson",
"email": "alex@example.com"
},
"assignedTo": {
"id": "4cNpFgLRTtPcEjbAH9ujWAv1zY03",
"firstName": "Sarah",
"lastName": "Williams",
"email": "sarah@example.com"
}
},
"case": {
"id": "ec7ebb4c-3a36-43bf-93f7-3c292020c281",
"type": "GLP",
"title": "Case for John Doe",
"status": "IN_PROGRESS",
"shortId": "ADA-C1HM17",
"createdAt": "2025-08-05T08:51:38.903Z",
"updatedAt": "2025-09-04T10:02:11.129Z",
"assignedAt": "2025-08-06T18:04:26.412Z",
"inProgressAt": "2025-09-03T22:56:27.563Z",
"closedAt": null,
"isArchived": false,
"isEscalated": false,
"isImported": false,
"referralCode": null,
"closedBy": null,
"inProgressBy": "YaM948FdwiQa3Ek3GCnYsnZTTSW2",
"organizationId": "652f45e9-eb17-4955-8197-4170e375327f",
"archiveReason": null,
"productBundle": {
"name": "ORG-PRODUCT-BUNDLE-1"
},
"submitter": {
"id": "WzvygANWTEcfsLlDW1K22WWS7dY2",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"dob": "1998-12-17T00:00:00.000Z",
"gender": "MALE",
"phoneNumber": "+12286475628",
"address": "1271 6th Avenue",
"address2": "",
"city": "New York",
"state": "AK",
"postalCode": "10020"
}
},
"activity": {
"id": "70b6f87d-848f-5d3a-9188-948b656903a1",
"type": "UPDATE_CASE_ESCALATION",
"isPHI": false,
"isRestricted": false,
"timestamp": "2025-09-04T10:02:11.129Z",
"valueBefore": null,
"valueAfter": null,
"actor": {
"id": "4cNpFgLRTtPcEjbAH9ujWAv1zY03",
"firstName": "Sarah",
"lastName": "Williams",
"email": "sarah@example.com"
},
"targetUser": null
}
}
}