Events
Triggering Webhook Types
The following event types are associated with the Conversation event payload from Spruce.Spruce Conversation CreatedSpruce Conversation UpdatedSpruce Conversation Deleted
Copy
Ask AI
{
"api_url": "https://api.sprucehealth.com/v1/conversations/conv_12345",
"app_url": "https://app.sprucehealth.com/conversations/conv_12345",
"archived": null,
"assigned_to_member_id": "member_67890",
"associated_contact_ids": [],
"contact_id": "entity_0E5QDGJC03000",
"conversation_type": "sms",
"created_at": "2025-02-11T08:22:10Z",
"external_participants": [
{
"contact": null,
"display_names": "John Doe",
"endpoint": {
"channel": "sms",
"display_value": "(555) 123-4567",
"endpoint_id": null,
"is_internal": null,
"labels": "mobile",
"object": "endpoint",
"raw_value": {
"email": "[email protected]",
"phone": "+15551231234",
"value": "secure_channel_id"
}
}
}
],
"id": "conv_12345",
"internal_endpoint": {
"channel": "sms",
"display_value": "(555) 123-4567",
"endpoint_id": null,
"is_internal": null,
"labels": "mobile",
"object": "endpoint",
"raw_value": {
"email": "[email protected]",
"phone": "+15551231234",
"value": "secure_channel_id"
}
},
"internal_member_ids": [],
"is_read_only": null,
"last_message_at": "2025-02-11T08:22:10Z",
"object": "conversation",
"subtitle": "Follow-up discussion",
"tags": [
{
"id": "tag_0E5QDGJC03000",
"value": "high-priority"
}
],
"title": "Patient Check-in"
}
Copy
Ask AI
{
"api_url": "API URL for this conversation.",
"app_url": "App URL for this conversation.",
"archived": "Whether this conversation is archived.",
"assigned_to_member_id": "ID of the member assigned to this conversation.",
"associated_contact_ids": "Contact IDs associated with this conversation.",
"contact_id": "Unique identifier for the contact in the Spruce system that is the external participant in this conversation",
"conversation_type": "Type of conversation (sms, email, etc.).",
"created_at": "Timestamp when the conversation was created.",
"external_participants": {
"contact": "Contact ID of the external participant.",
"display_names": "Display names for the external participant.",
"endpoint": {
"channel": "Communication channel type.",
"display_value": "Human-readable display value.",
"endpoint_id": "Unique identifier for the endpoint.",
"is_internal": "Whether this is an internal endpoint.",
"labels": "Labels associated with the endpoint.",
"object": "Object type identifier.",
"raw_value": {
"email": "Email address value.",
"phone": "Phone number value.",
"value": "Secure channel identifier."
}
}
},
"id": "Unique identifier for the conversation in the Spruce system.",
"internal_endpoint": {
"channel": "Communication channel type.",
"display_value": "Human-readable display value.",
"endpoint_id": "Unique identifier for the endpoint.",
"is_internal": "Whether this is an internal endpoint.",
"labels": "Labels associated with the endpoint.",
"object": "Object type identifier.",
"raw_value": {
"email": "Email address value.",
"phone": "Phone number value.",
"value": "Secure channel identifier."
}
},
"internal_member_ids": "Internal member IDs participating in this conversation.",
"is_read_only": "Whether this conversation is read-only.",
"last_message_at": "Timestamp of the last message in this conversation.",
"object": "Object type identifier.",
"subtitle": "Subtitle for the conversation.",
"tags": {
"id": "Unique identifier for the tag.",
"value": "Tag value."
},
"title": "Title of the conversation."
}
Payload Field Details
Hide fields
Hide fields
ID Unique identifier for the conversation in the Spruce system.CEL
Copy
Ask AI
id
Example
Copy
Ask AI
"conv_12345"
ID Unique identifier for the contact in the Spruce system that is the external participant in this conversationCEL
Copy
Ask AI
contact_id
Example
Copy
Ask AI
"entity_0E5QDGJC03000"
API URL for this conversation.
CEL
Copy
Ask AI
api_url
Example
Copy
Ask AI
"https://api.sprucehealth.com/v1/conversations/conv_12345"
App URL for this conversation.
CEL
Copy
Ask AI
app_url
Example
Copy
Ask AI
"https://app.sprucehealth.com/conversations/conv_12345"
Whether this conversation is archived.
CEL
Copy
Ask AI
archived
Example
Copy
Ask AI
null
ID ID of the member assigned to this conversation.CEL
Copy
Ask AI
assigned_to_member_id
Example
Copy
Ask AI
"member_67890"
ID Contact IDs associated with this conversation.CEL
Copy
Ask AI
associated_contact_ids
Example
Copy
Ask AI
[]
Timestamp when the conversation was created.
CEL
Copy
Ask AI
created_at
Example
Copy
Ask AI
"2025-02-11T08:22:10Z"
External participants in the conversation.
CEL
Copy
Ask AI
external_participants
Example
Copy
Ask AI
[
{
"contact": null,
"display_names": "John Doe",
"endpoint": {
"channel": "sms",
"display_value": "(555) 123-4567",
"endpoint_id": null,
"is_internal": null,
"labels": "mobile",
"object": "endpoint",
"raw_value": {
"email": "[email protected]",
"phone": "+15551231234",
"value": "secure_channel_id"
}
}
}
]
ID Mapped array of: Contact ID of the external participant.CEL
Copy
Ask AI
external_participants.map(x, x.contact)
Example
Copy
Ask AI
[
null
]
PII Mapped array of: Display names for the external participant.CEL
Copy
Ask AI
external_participants.map(x, x.display_names)
Example
Copy
Ask AI
[
"John Doe"
]
Mapped array of: Communication endpoint for the participant.
CEL
Copy
Ask AI
external_participants.map(x, x.endpoint)
Example
Copy
Ask AI
[
{
"channel": "sms",
"display_value": "(555) 123-4567",
"endpoint_id": null,
"is_internal": null,
"labels": "mobile",
"object": "endpoint",
"raw_value": {
"email": "[email protected]",
"phone": "+15551231234",
"value": "secure_channel_id"
}
}
]
Internal endpoint for the conversation.
CEL
Copy
Ask AI
internal_endpoint
Example
Copy
Ask AI
{
"channel": "sms",
"display_value": "(555) 123-4567",
"endpoint_id": null,
"is_internal": null,
"labels": "mobile",
"object": "endpoint",
"raw_value": {
"email": "[email protected]",
"phone": "+15551231234",
"value": "secure_channel_id"
}
}
Communication channel type.
CEL
Copy
Ask AI
internal_endpoint.channel
Example
Copy
Ask AI
"sms"
Human-readable display value.
CEL
Copy
Ask AI
internal_endpoint.display_value
Example
Copy
Ask AI
"(555) 123-4567"
ID Unique identifier for the endpoint.CEL
Copy
Ask AI
internal_endpoint.endpoint_id
Example
Copy
Ask AI
null
Whether this is an internal endpoint.
CEL
Copy
Ask AI
internal_endpoint.is_internal
Example
Copy
Ask AI
null
Labels associated with the endpoint.
CEL
Copy
Ask AI
internal_endpoint.labels
Example
Copy
Ask AI
"mobile"
Object type identifier.
CEL
Copy
Ask AI
internal_endpoint.object
Example
Copy
Ask AI
"endpoint"
Raw endpoint value with type-specific data.
CEL
Copy
Ask AI
internal_endpoint.raw_value
Example
Copy
Ask AI
{
"email": "[email protected]",
"phone": "+15551231234",
"value": "secure_channel_id"
}
PII Email address value.CEL
Copy
Ask AI
internal_endpoint.raw_value.email
Example
Copy
Ask AI
PII Phone number value.CEL
Copy
Ask AI
internal_endpoint.raw_value.phone
Example
Copy
Ask AI
"+15551231234"
PII Secure channel identifier.CEL
Copy
Ask AI
internal_endpoint.raw_value.value
Example
Copy
Ask AI
"secure_channel_id"
ID Internal member IDs participating in this conversation.CEL
Copy
Ask AI
internal_member_ids
Example
Copy
Ask AI
[]
Whether this conversation is read-only.
CEL
Copy
Ask AI
is_read_only
Example
Copy
Ask AI
null
Timestamp of the last message in this conversation.
CEL
Copy
Ask AI
last_message_at
Example
Copy
Ask AI
"2025-02-11T08:22:10Z"
Object type identifier.
CEL
Copy
Ask AI
object
Example
Copy
Ask AI
"conversation"
Subtitle for the conversation.
CEL
Copy
Ask AI
subtitle
Example
Copy
Ask AI
"Follow-up discussion"
Tags associated with the conversation.
CEL
Copy
Ask AI
tags
Example
Copy
Ask AI
[
{
"id": "tag_0E5QDGJC03000",
"value": "high-priority"
}
]
ID Mapped array of: Unique identifier for the tag.CEL
Copy
Ask AI
tags.map(x, x.id)
Example
Copy
Ask AI
[
"tag_0E5QDGJC03000"
]
Mapped array of: Tag value.
CEL
Copy
Ask AI
tags.map(x, x.value)
Example
Copy
Ask AI
[
"high-priority"
]
Title of the conversation.
CEL
Copy
Ask AI
title
Example
Copy
Ask AI
"Patient Check-in"
Type of conversation (sms, email, etc.).
CEL
Copy
Ask AI
conversation_type
Example
Copy
Ask AI
"sms"
