Skip to main content

Chat & Collaboration Endpoints

Chat & Collaboration

LiveChatHeader

GET /Chat

Summary: List of LiveChatHeader

Returns multiple LiveChatHeader objects. Requires authentication.

ParameterTypeDescription
afterstringCursor for pagination
chatprofile_idstringFilter by chat profile ID
checkavailablebooleanCheck agent availability
countintegerNumber of records to return
ignore_all_closedbooleanIgnore all closed chats
orderstringPrimary sort field
order2stringSecondary sort field
order3stringTertiary sort field
order4stringQuaternary sort field
order5stringQuinary sort field
orderdescbooleanDescending for primary sort
orderdesc2booleanDescending for secondary sort
orderdesc3booleanDescending for tertiary sort
orderdesc4booleanDescending for quaternary sort
orderdesc5booleanDescending for quinary sort
page_nointegerPage number
page_sizeintegerPage size
pageinatebooleanEnable pagination
teams_conversation_idstringFilter by Microsoft Teams conversation ID
ticket_idintegerFilter by associated ticket ID

POST /Chat

Creates a new LiveChatHeader record.

No query parameters. No documented request body schema.


GET /Chat/{id}

Returns a single LiveChatHeader by ID.

ParameterTypeDescription
id (path)integerChat header ID (required)

LiveChatMsg

GET /ChatMessage

Summary: List of LiveChatMsg

Returns multiple LiveChatMsg objects. Requires authentication.

ParameterTypeDescription
chat_idintegerFilter by chat session ID
last_idintegerReturn messages after this ID
max_idintegerReturn messages up to this ID

POST /ChatMessage

Creates one or more chat messages.

Request Body: Array of LiveChatMsg

LiveChatMsg schema:

PropertyTypeDescription
idintegerMessage ID
chat_idintegerParent chat session ID
sender_idintegerSender's user/agent ID
textstringMessage text (HTML)
textplainstringPlain text version of message
value_intintegerInteger value (for flow inputs)
value_boolbooleanBoolean value (for flow inputs)
value_datedatetimeDate value (for flow inputs)
value_multistringMulti-select value (for flow inputs)
timestampdatetimeMessage timestamp
system_idintegerSystem message type ID
ticket_idintegerAssociated ticket ID
user_idintegerAssociated end-user ID
agent_idintegerAssociated agent ID
unknown_idstringIdentifier for anonymous users
display_namestringDisplay name of sender
lastmessageidintegerID of the last message in session
input_idintegerCurrent flow input step ID
next_input_idintegerNext flow input step ID
chatprofileidstringChat profile ID
chatprofilekeystringChat profile key
chat_image_typeintegerImage type for chat avatar
attachment_idintegerSingle attachment ID
attachment_idsarrayList of attachment ID pairs
kb_search_resultsarrayKB article search results
services_search_resultsarrayServices search results
is_message_safebooleanWhether message passed safety checks
modified_by_agent_idintegerAgent who last modified the message
modified_by_agent_namestringName of agent who modified
_warningstringWarning message
_abandonedbooleanWhether the chat was abandoned

POST /ChatMessage/IsTyping

Sends a typing indicator for a live chat session.

Request Body: LiveChatIsTyping

LiveChatIsTyping schema:

PropertyTypeRequiredDescription
chat_idintegerYesChat session ID
sender_idintegerYesSender's ID
timestampdatetimeNoTimestamp of typing event
_stoppedbooleanNoWhether typing has stopped

ChatFlow

POST /ChatFlow

Processes a chat flow step.

Request Body: Array of ChatFlowProcess

ChatFlowProcess schema:

PropertyTypeDescription
chat_idintegerChat session ID
chat_profile_idstringChat profile ID
flow_stepintegerCurrent flow step index

ChatMatchingData

POST /ChatMatchingData

Stores chat matching data used for customer identification.

Request Body: Array of ChatMatchingData

ChatMatchingData schema:

PropertyTypeDescription
guiduuidUnique identifier
keyuuidMatching key
json_contentanyJSON content payload

ChatProfile

GET /ChatProfile

Summary: List of ChatProfile

Returns multiple ChatProfile objects. Requires authentication.

ParameterTypeDescription
typeintegerFilter by profile type

POST /ChatProfile

Creates one or more chat profiles.

Request Body: Array of ChatProfile

ChatProfile schema (key fields):

PropertyTypeDescription
idstringProfile ID
namestringProfile name
keystringPublic access key
intentstringAI/NLP intent identifier
access_typeintegerAccess restriction type
greetingstringInitial greeting message
bot_namestringName displayed for the bot
technamevisibilityintegerWhether tech name is visible to user
techmustonlinebooleanRequire tech to be online
workdays_idintegerWorking hours schedule ID
logticketintegerAuto-log ticket setting
tickettype_idintegerDefault ticket type ID
iconstringIcon identifier
colourstringBrand color
themestringUI theme
enable_feedbackbooleanEnable post-chat feedback
feedback_message_beforestringFeedback prompt before rating
feedback_message_afterstringFeedback message after rating
stepsarrayChat flow steps (FlowDetail)
flow_chart_jsonstringFlow chart configuration JSON
cors_whitelist_listarrayAllowed CORS origins
access_controlarrayAccess control rules
access_control_levelintegerAccess control enforcement level
default_ticket_clientsiteintegerDefault client/site for new tickets
bubble_typeintegerChat bubble display type
message_box_sizeintegerMessage input box size
_chat_availablebooleanWhether chat is currently available
_chat_modestringCurrent chat mode
agent_rolesarrayAllowed agent roles

GET /ChatProfile/{id}

Summary: Get one ChatProfile

Returns a single ChatProfile by ID. Requires authentication.

ParameterTypeDescription
id (path)stringProfile ID (required)
check_availablebooleanCheck agent availability
includedetailsbooleanInclude full detail data
keystringPublic access key for unauthenticated access

DELETE /ChatProfile/{id}

Deletes a chat profile by ID.

ParameterTypeDescription
id (path)stringProfile ID (required)

Slack

POST /Slack/Manifest

Creates a Slack app manifest for installation.

Request Body: CreateSlackManifest

CreateSlackManifest schema:

PropertyTypeDescription
namestringApp name
shortDescriptionstringShort description for Slack directory
longDescriptionstringLong description for Slack directory
startChatDescriptionstringDescription for starting a chat
endChatDescriptionstringDescription for ending a chat

POST /Slack/Command

Handles an incoming Slack slash command. No documented request body.


POST /Slack/Event

Handles an incoming Slack event webhook. No documented request body.


POST /Slack/Interactivity

Handles Slack interactive component callbacks (buttons, modals, etc.). No documented request body.


SlackChatApp

GET /SlackChatApp

Returns all Slack Chat App configurations. No query parameters.


POST /SlackChatApp

Creates one or more Slack Chat App configurations.

Request Body: Array of SlackChatApp

SlackChatApp schema:

PropertyTypeDescription
idintegerRecord ID
namestringApp name
app_idstringSlack app ID
new_bot_user_oauth_tokenstringBot OAuth token (write-only)
new_signing_secretstringSigning secret (write-only)
chat_profile_idstringAssociated HaloPSA chat profile ID
chat_profile_namestringName of associated chat profile

GET /SlackChatApp/{id}

Returns a single Slack Chat App configuration by ID.

ParameterTypeDescription
id (path)integerApp configuration ID (required)

DELETE /SlackChatApp/{id}

Deletes a Slack Chat App configuration by ID.

ParameterTypeDescription
id (path)integerApp configuration ID (required)

SlackDetails

GET /SlackDetails

Summary: List of SlackDetails

Returns Slack integration configuration records. Requires authentication.

ParameterTypeDescription
agent_idstringFilter by agent ID
channel_namestringFilter by Slack channel name
includedisabledstringInclude disabled integrations
includeenabledstringInclude enabled integrations
team_namestringFilter by Slack team/workspace name

POST /SlackDetails

Creates or updates Slack integration details.

Request Body: Array of SlackDetails

SlackDetails schema (key fields):

PropertyTypeDescription
idintegerRecord ID
namestringSlack channel name
teamnamestringSlack workspace/team name
team_idstringSlack team ID
new_access_tokenstringOAuth access token (write-only)
webhookurlstringIncoming webhook URL
enabledbooleanWhether integration is enabled
agent_idintegerAssociated HaloPSA agent ID
channel_idstringSlack channel ID
allow_ticket_createbooleanAllow ticket creation via Slack command
ticket_typeintegerDefault ticket type for new tickets
command_ticket_typeintegerTicket type for slash command tickets
command_userintegerDefault user for slash command tickets
oauth_codestringOAuth authorization code
oauth_redirectstringOAuth redirect URI
scopesarrayGranted OAuth scopes
uninstalledbooleanWhether app has been uninstalled

GET /SlackDetails/{id}

Summary: Get one SlackDetails

Returns a single Slack integration detail record. Requires authentication.

ParameterTypeDescription
id (path)integerRecord ID (required)
includedetailsbooleanInclude full detail data

DELETE /SlackDetails/{id}

Deletes a Slack integration detail record.

ParameterTypeDescription
id (path)integerRecord ID (required)

POST /SlackDetails/Uninstall

Triggers uninstall flow for a Slack integration. No request body.