Skip to main content

Remove Case Escalation

The REMOVE_CASE_ESCALATION event is triggered automatically; there is no direct action a user or client can take to fire it. It occurs when a patient, the case submitter on a partner organization's case, replies to a case through an in-app comment or an inbound email while an escalation with reason "waiting for patient reply" is still open in the support or clinical category. That escalation is completed as a result.

The name is misleading — no record is deleted

Despite the name, this event marks the matching escalation complete rather than deleting it. Integrations should check escalation.isCompleted rather than assuming the record disappears when this event is received.

The same patient reply typically also fires one or more ADD_CASE_ESCALATION events shortly after, since a "Patient has responded" (or, for clinical escalations, "Patient has responded to providers question") escalation is added immediately following the completion.

payload.activity may describe a different escalation

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. If more than one REMOVE_CASE_ESCALATION event occurs on the same case close together, the activity object attached to one webhook can describe a different occurrence.

Attributes

eventstring
The name of the event that was triggered. For this webhook, the value will always be `REMOVE_CASE_ESCALATION`.
payloadobject
The main object containing all data related to the event.
Show child attributes
escalationobject
The `CaseEscalation` record this event refers to. `isCompleted` will be `true` — despite the event name, the only confirmed trigger for this event marks the record complete rather than deleting it. See the caution note above.
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 `REMOVE_CASE_ESCALATION` on this case, looked up by `caseId` + `type` only (not scoped to this specific escalation). If multiple such events occur 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": "REMOVE_CASE_ESCALATION",
"payload": {
"escalation": {
"id": "d2f7b2b3-0c4f-4c9b-8a8b-2f3d4e5f6071",
"category": "SUPPORT_ESCALATION",
"reason": "Waiting for patient reply",
"note": null,
"isCompleted": true,
"addedAt": "2025-09-02T14:10:00.000Z",
"dueDate": null,
"addedBy": {
"id": "YaM948FdwiQa3Ek3GCnYsnZTTSW2",
"firstName": "Alex",
"lastName": "Johnson",
"email": "alex@example.com"
},
"assignedTo": null
},
"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-04T11:15:00.000Z",
"assignedAt": "2025-08-06T18:04:26.412Z",
"inProgressAt": "2025-09-03T22:56:27.563Z",
"closedAt": null,
"isArchived": false,
"isEscalated": true,
"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": "81c7g98e-959g-6e4b-a299-a59c767014b2",
"type": "REMOVE_CASE_ESCALATION",
"isPHI": false,
"isRestricted": false,
"timestamp": "2025-09-04T11:15:00.000Z",
"valueBefore": null,
"valueAfter": null,
"actor": {
"id": "WzvygANWTEcfsLlDW1K22WWS7dY2",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com"
},
"targetUser": null
}
}
}