Getting Started with DeskDirector
DeskDirector Portals
Browser Support
What is the DeskDirector Admin Portal?
What is the DeskDirector TECH Portal?
What is the DeskDirector Client Portal?
Desktop Portal
Managing Your Account
Pricing & Subscription Plans
Deskdirector - Sign up walk through
Managing your DeskDirector Subscription
Admin Essentials
Release Notes
Permissions & Feature Configuration (Tokity)
Permissions & Feature Configuration (ConnectWise/Autotask Partners)
Automatic Contact Creation
The Developer Corner
DeskDirector Features Overview
Desktop Portal Version Differences
Logging in to DeskDirector
User Profiles & Profile Pictures
Office Hours
Using Markdown
How Searching Works
Embedding Help Page Media
Get started with the DeskDirector Power Automate Connector
Features
Portal Customization
Service Catalogue
Forms
Getting started with DeskDirector Forms
DeskDirector Forms - Question Types in Detail
Dynamic Form Content
Communication
Actionable Messages for Emails
Real-Time Chats
Notifications
Email Notifications
Email Template Engine
Surveys
Broadcasts
Generative AI
DeskDirector with Generative AI
Setting up AI Service Providers
AI Assistants in DeskDirector
Custom Tools for AI Assistants
Knowledge Bases for AI Assistants
Ticket Summary for Tech Portal
Advanced
Login & Authentication
Contact & User Groups
Approvals
Task Lists
The Learning Center
Group Tags
Custom Domains
File Storage
Portal Deep Linking
Clean Tickets
Contacts
Accounts
Service Dashboard
Auditing and Analytics
Integrations
ConnectWise
ConnectWise Custom Menu Item for DeskDirector
ConnectWise
ConnectWise Quotes & Invoices
ConnectBooster
ConnectWise Sell
ConnectWise - Avoid Aggressive Notifications
AutoTask
Switching or Merging PSAs
QuoteWerks
Wise-Pay
TimeZest
BiggerBrains
OneNote Notebooks
Integrations - Frequently Asked Questions
IT Glue
Microsoft Teams App
Introducing the DeskDirector for Microsoft Team App
Installing the Microsoft Teams App (Client Mode)
Installing the Microsoft Teams App (Tech Mode)
Setting up Tags for Teams Discussions (Tech)
Branding the DeskDirector Teams App
DeskDirector Teams App Notifications
User Groups Integration with Microsoft Teams
Setting up Content Security Policy (CSP)
Advanced topic: Setting up Tech & Client Mode in the same tenancy
Integrating Microsoft Teams with DeskDirector Tech Portal
Smart Alerts for Tech Users
Microsoft Power Automate
Actions
Solutions
Power Automate Template Gallery
Featured Solution: Teams Ticket Discussion
Featured Solution: Ticket Briefing
Introduction to Power Automate
Power Automate Connector - Setting up your first flow
DeskDirector Power Platform Connector Reference
DeskDirector Connector Triggers
Troubleshooting
Troubleshooting via Web Developer Tools
Desktop Portal - Common Issues
Contact & Service Agent Impersonation
Diagnose Entities Tool
DeskDirector Desktop App - Installation Issues
Troubleshooting DeskDirector Connection Issues
Login & Authentication - Common Issues
Permissions & Access - Common Issues
Tickets & Chats - Common Issues
Approvals - Common Issues
Email & Email Delivery - Common Issues
PSA Entity Syncing - Common Issues
PSA Integration - Common Issues
ConnectWise Integration - Common Issues
Autotask Integration - Common Issues
ConnectWise Audit Trail - Exporting API Logs
Microsoft Teams App - Common Issues
Contact DeskDirector Support
Security
Glossary
Archived
- All Categories
- Archived
- Chat Session Payload
Chat Session Payload
This is the chat session payload interface you can expect from the New Chat Session or Chat Session Status Changedwebhooks (written in TypeScript):
Note that webhooks return arrays in general. So the chat session webhook payloads will be arrays of ChatSessions.
interface ChatSession {
id: string
name: string
type: 'request' | 'push'
status: ChatSessionStatus
pastStatus: ChatSessionStatus[]
report: {
creatorWaited: number
handledDateTime: string
chatDuration: number
}
reference?: {
type: 'ticket'
id: string
}
creator: User
callback?: {
type: 'phone' | 'chat'
phone?: string
note?: string
preferredTime?: Array<{
start: string
end: string
}>
}
targetUsers?: User[]
closeRecord?: {
user: User
note?: string
lastModifiedDateTime: string
}
closedDateTime: string
users: User[]
participants: User[]
lastMessageId?: string
createdDateTime?: string
lastModifiedDateTime: string
}
type ChatSessionStatus = 'created' | 'handled' | 'missed' | 'completed' | 'callback'
interface User {
entityId: number
name: string
userId: string
company: {
entityId: number
name: string
identifier: string
}
}Contacts and Members in a chat session
Users (as described above) can be either contacts or members, they can appear in:
- creator - the user who created the chat session (from portal or tech)
- participants - the users who have participated in the chat session (either currently active or inactive)
- users - the users who are active at the moment in the chat session
- targetUsers - the invited users who haven't joined the chat session
Notes:
The userId contains: an internal instance ID, user type (c for contacts and m for members) and the user integer ID separated with ~ symbol. E.g. nzlancomdev~c~11220
Example payload
[
{
"id": "1530162945-9852",
"name": "Chat Request from Liam Tait at DeskDirector",
"type": "request",
"status": "completed",
"pastStatus": ["handled"],
"report": {},
"creator": {
"entityId": 11220,
"name": "Liam Tait",
"userId": "nzlancomdev~c~11220",
"company": {
"entityId": 2952,
"name": "DeskDirector",
"identifier": "DeskDirectorLtd"
}
},
"targetUsers": [],
"closeRecord": {
"user": {
"entityId": 268,
"name": "Andrew Lahikainen",
"userId": "nzlancomdev~m~268"
},
"lastModifiedDateTime": "2018-06-28T05:18:26.9468948Z"
},
"closedDateTime": "2018-06-28T05:18:26.9478983Z",
"users": [
{
"entityId": 200,
"name": "Warwick Eade",
"userId": "nzlancomdev~m~200"
}
],
"participants": [
{
"entityId": 11220,
"name": "Liam Tait",
"userId": "nzlancomdev~c~11220",
"company": {
"entityId": 2952,
"name": "DeskDirector",
"identifier": "DeskDirectorLtd"
}
},
{
"entityId": 268,
"name": "Andrew Lahikainen",
"userId": "nzlancomdev~m~268"
},
{
"entityId": 200,
"name": "Warwick Eade",
"userId": "nzlancomdev~m~200"
}
],
"lastMessageId": "1530163058374-5E-nzlancomdev~c~11220",
"createdDateTime": "2018-06-28T05:15:45.7824134Z",
"lastModifiedDateTime": "2018-06-29T06:07:27.3929346Z"
}
]