Chat & Collaboration Endpoints (cont.)
Chat & Collaboration (continued)
MicrosoftTeams
GET /MicrosoftTeams/Get
Returns Microsoft Teams integration configuration. No query parameters.
MicrosoftTeamsMapping
GET /MicrosoftTeamsMapping
Returns all Microsoft Teams channel mappings. No query parameters.
POST /MicrosoftTeamsMapping
Creates one or more Teams channel mappings.
Request Body: Array of MicrosoftTeamsMapping
MicrosoftTeamsMapping schema:
| Property | Type | Description |
|---|---|---|
| id | integer | Record ID |
| team_id | string | Microsoft Teams team ID |
| team_name | string | Microsoft Teams team name |
| subscription_id | string | Graph API subscription ID |
| subscription_expiry | datetime | When the subscription expires |
| subscribed | boolean | Whether currently subscribed |
| new_subscription_key | string | New subscription key (write-only) |
GET /MicrosoftTeamsMapping/{id}
Returns a single Teams mapping by ID.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Mapping ID (required) |
DELETE /MicrosoftTeamsMapping/{id}
Deletes a Teams channel mapping.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Mapping ID (required) |
TeamsChatMessage
GET /ExternalChatMessage
Returns all external (Teams) chat messages. No query parameters.
POST /ExternalChatMessage
Creates one or more Teams chat message records.
Request Body: Array of TeamsChatMessage_List
TeamsChatMessage_List schema:
| Property | Type | Description |
|---|---|---|
| id | integer | Record ID |
| chat_id | string | Teams chat thread ID |
| message_id | string | Teams message ID |
| external_link_id | integer | HaloPSA external link record ID |
| note_html | string | Message content (HTML) |
| note | string | Message content (plain text) |
| who_azure_id | string | Azure AD ID of sender |
| who | string | Display name of sender |
| datetime | datetime | Message timestamp |
| whoagent_id | integer | HaloPSA agent ID of sender |
| whoagent_name | string | Agent name |
| remote_session_id | integer | Associated remote session ID |
GET /ExternalChatMessage/{id}
Returns a single Teams chat message by ID.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Message ID (required) |
DELETE /ExternalChatMessage/{id}
Deletes a Teams chat message record.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Message ID (required) |
MattermostChannelDetails
GET /MattermostChannelDetails
Returns Mattermost channel configuration. No query parameters.
MattermostDetails
GET /MattermostDetails
Returns Mattermost integration configuration. No query parameters.
POST /MattermostDetails
Creates or updates Mattermost integration details.
Request Body: Array of MattermostDetails
MattermostDetails schema:
| Property | Type | Description |
|---|---|---|
| id | integer | Record ID |
| name | string | Integration name |
| url | string | Mattermost server URL |
| new_integration_method | boolean | Use new integration method |
| new_access_token | string | Access token (write-only) |
| authorized | boolean | Whether integration is authorized |
| channels | array | Associated channel configurations |
| enableintegrator | boolean | Enable the integrator service |
| integratorhours | integer | Integrator polling interval in hours |
GET /MattermostDetails/{id}
Returns a single Mattermost integration record by ID.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Record ID (required) |
DELETE /MattermostDetails/{id}
Deletes a Mattermost integration record.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Record ID (required) |
Twilio
POST /Twilio/callback
Receives Twilio callback events (e.g., call status updates).
| Parameter | Type | Description |
|---|---|---|
| guid (query) | uuid | Identifies the Twilio configuration |
Request Body: multipart/form-data with array of key-value pairs (StringStringValuesKeyValuePair).
POST /Twilio/twiml
Returns TwiML instructions for an incoming Twilio call.
| Parameter | Type | Description |
|---|---|---|
| guid (query) | uuid | Identifies the Twilio configuration |
Request Body: multipart/form-data with array of key-value pairs.
TwilioDetails
GET /TwilioDetails
Returns Twilio integration configuration. No query parameters.
TwilioWhatsAppDetails
GET /TwilioWhatsAppDetails
Returns all Twilio WhatsApp integration configurations. No query parameters.
POST /TwilioWhatsAppDetails
Creates or updates Twilio WhatsApp integration details.
Request Body: Array of TwilioWhatsAppDetails
TwilioWhatsAppDetails schema:
| Property | Type | Description |
|---|---|---|
| id | integer | Record ID |
| name | string | Integration name |
| twilio_sid | string | Twilio account SID |
| phone_number | string | WhatsApp phone number |
| sender_configured | boolean | Whether sender is configured |
| site_id | integer | Associated site ID |
| ticket_type | integer | Default ticket type |
| reopen_existing_tickets | boolean | Reopen existing tickets on new message |
| allow_inbound | boolean | Allow inbound messages |
| integrator_backup | boolean | Use integrator as backup sync |
| integrator_lastsync | datetime | Last sync timestamp |
| integrator_lasterror | string | Last sync error message |
| new_auth_token | string | Auth token (write-only) |
| display_name | string | Display name for sender |
| allow_content_templates | boolean | Allow WhatsApp content templates |
| allow_inline_voice_notes | boolean | Allow inline voice notes |
| restrict_team_usage | boolean | Restrict to specific teams |
| allowed_teams | array | Teams allowed to use this configuration |
| templates | array | WhatsApp content templates |
GET /TwilioWhatsAppDetails/{id}
Returns a single Twilio WhatsApp configuration by ID.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Record ID (required) |
DELETE /TwilioWhatsAppDetails/{id}
Deletes a Twilio WhatsApp configuration.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Record ID (required) |
GET /WhatsApp/Get/Data
Returns WhatsApp integration data. No query parameters.
GET /WhatsApp/Get/ProcessedIds
Returns IDs of processed WhatsApp messages. No query parameters.
Zoom
POST /Zoom/Message
Sends a message via the Zoom Chat integration.
Request Body: ZoomCreateMessageRequest
| Property | Type | Description |
|---|---|---|
| to | string | Recipient's Zoom user ID or email |
| message | string | Message text to send |
CallLog
GET /CallLog
Summary: List of CallLog
Returns call log records. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
| showall | boolean | Include all calls (not just current user's) |
POST /CallLog
Creates one or more call log records.
Request Body: Array of CallLog
CallLog schema (key fields):
| Property | Type | Description |
|---|---|---|
| id | integer | Record ID |
| start_date | datetime | Call start time |
| end_date | datetime | Call end time |
| timetaken | number | Call duration |
| agent_id | integer | Handling agent ID |
| client_id | integer | Associated client ID |
| site_id | integer | Associated site ID |
| user_id | integer | End user ID |
| callerid | string | Caller's phone number |
| diallednumber | string | Dialled number |
| caller_name | string | Caller's name |
| caller_email | string | Caller's email |
| outcome_id | integer | Call outcome/disposition ID |
| ticket_id | integer | Linked ticket ID |
| action_number | integer | Linked action number |
| summary | string | Call summary |
| note | string | Call notes |
| call_status | integer | Call status code |
| call_direction | integer | Inbound (0) or outbound (1) |
| call_type | string | Call type identifier |
| call_transcript | string | Transcription text |
| transferred_agentid | integer | Agent call was transferred to |
| transferred_teamid | integer | Team call was transferred to |
| call_category | string | Call category |
| category1–4 | string | Custom category fields |
| caller_other1–5 | string | Custom caller data fields |
| third_party_id | string | External system reference ID |
| displayname | string | Display name override |
| existingticketid | string | Pre-existing ticket to link |
GET /CallLog/{id}
Summary: Get one CallLog
Returns a single call log record by ID. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Call log ID (required) |
| includedetails | boolean | Include full detail data |
TranscriptionStore
GET /TranscriptionStore
Returns all transcription store records. No query parameters.
POST /TranscriptionStore
Creates one or more transcription store records.
Request Body: Array of TranscriptionStore
TranscriptionStore schema:
| Property | Type | Description |
|---|---|---|
| id | integer | Record ID |
| date_started | datetime | Transcription job start time |
| date_finished | datetime | Transcription job finish time |
| job_id | string | External transcription job ID |
| attachment_id | integer | ID of the audio attachment transcribed |
| transcription | string | Full transcription text |
GET /TranscriptionStore/{id}
Returns a single transcription store record by ID.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Record ID (required) |
DELETE /TranscriptionStore/{id}
Deletes a transcription store record.
| Parameter | Type | Description |
|---|---|---|
| id (path) | integer | Record ID (required) |