System and Session Variables
Overview
##Chime System Variables When the card is rendered, these variables will be replaced with information from the chat session.
##QueueConfig
@Model.ExpertCWEUrl: Agent Conversation Extension URL @Model.ExpertDashboardUrl: Agent dashboard URL @Model.TransferFrom: Original queue name @Model.QueueDashboardUrl: Queue Dashboard URL @Model.TransferTo: Rollover queue name @Model.Schedule: Schedule for the queue @Model.TeamsClickToChatLink: Teams Click-to-Chat URL
##Session
@Model.SessionToolsWindowUrl: Agent Session Context Window Tools @Model.Agent: Agent that is connected to the chat @Model.SkillTags: All problem tags assigned to the guest's chat session @Model.PositionInQueue: Approximate position of seeker in queue @Model.SessionFeedbackUrl: Chat Session Feedback Survey URL @Model.ConferenceUri: Conference web URL @Model.SessionState: Current State of the session (added 780, sept 2021) @Model.ExpertDisplayName: Display name of the agent connected to the guest @Model.SeekerDisplayName: Display name of the guest @Model.ExpertEmail: Email address of the agent connected with the guest @Model.ExpectedWaitTime: Expected wait time for this guest as TimeSpan @Model.ExpectedWaitTimeSeconds: Expected wait time for this guest in seconds @Model.ExpectedWaitTimeLastHour: Expected wait time over the last hour for this guest as TimeSpan @Model.ExpectedWaitTimeSecondsLastHour: Expected wait time over the last hour for this guest in seconds @Model.ExpertFirstName: First name of the agent @Model.SeekerFirstName: First name of the guest @Model.PrimarySkillTag: First problem tag chosen by the guest @Model.ExpertFullName: Full name of the agent @Model.SeekerFullName: Full name of the guest @Model.SeekerEmail: Guest's email address @Model.ExpertId: ID of the agent @Model.ReferrerUrl: If a web guest, URL of the page the guest launched the webclient from @Model.SeekerUri: IM URI of the guest @Model.SeekerQuestion: Initial guest question @Model.IsConnectedWithAgent: Is the chat connected to an agent? (added 780, sept 2021) @Model.ExpertLastName: Last name of the agent @Model.SeekerLastName: Last name of the guest @Model.Text: Message text sent from an external bot @Model.BotName: Name of the external bot currently invoked @Model.RolloverQueueName: Name of the rollover queue @Model.NumberOfAgentsConnected: Number of agents connected to the chat (added 780, sept 2021) @Model.WaitMessageCount: Number of times the wait message has been displayed to the guest (added 780, sept 2021) @Model.SeekerSamAccount: SAMaccountName of the guest @Model.SelectedOption: Selected interview option @Model.MessageSender: Sender of the current message @Model.SessionGuid: Session GUID @Model.SessionGuidUrlEncoded: Session GUID URL-Encoded @Model.ChatID: Unique ID of a chat session @Model.SeekerToken: Unique ID of the guest @Model.ConnectedExpert: URI of the agent connected to the guest @Model.SeekerTimeWaitingMinutes: Wait time for this guest as TimeSpan @Model.SeekerTimeWaiting: Wait time for this guest in seconds
##Complex Session Variables Some of our System Variables use lists to give more information about the number of agents that are in a chat. Using them normally like the other system variables won't work and we'll have to use a Razor code snippet to allow them to work correctly. Below are the System Variables that currently return lists as well as a code example on how you can use them:
@Model.ConnectedAgents: List of agents that are connected to the chat (added 780, sept 2021) @Model.OtherAgents: Other agents that are connected to the chat (added 780, sept 2021)
The below example is a scenario where multiple agents are connected to a chat session and one of them leaves but you want to let the Guest know which Agent left and which Agent(s) are still in the chat session.
@{
var text = "Hopefully the live agent was able to help you out. Let me know if there is anything else I can help you with.";
if (Model.NumberOfAgentsConnected > 1) {
var others = "";
foreach (var agent in Model.OtherAgents){
others += agent.ExpertDN + ", ";
}
text = Model.ExpertDisplayName + " has left. You are still connected with " + others;
}
}
{
"type": "AdaptiveCard",
"body": [
{
"type": "Container",
"items": [
{
"type": "TextBlock",
"text": "@text",
"wrap": true
}
]
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
##QueueStats
@Model.SeekerAverageWaitTimeMinutes: Average wait time for guests in the queue as TimeSpan for the day @Model.SeekerAverageWaitTimeLastHourMinutes: Average wait time for guests in the queue as TimeSpan over the last hour @Model.SeekerAverageWaitTime: Average wait time for guests in the queue in seconds for the day @Model.SeekerAverageWaitTimeLastHour: Average wait time for guests in the queue in seconds over the last hour @Model.AvailableExpertsCount: Count of available agents in the queue @Model.WaitingSeekerCount: Count of guests waiting in the queue @Model.QueueAvailable: Is the queue available? @Model.QueueName: Name of the queue @Model.ConnectedSessionCount: Number of connected sessions in the queue @Model.QueueID: Queue ID @Model.TotalSessionCount: Total chat sessions in the queue
##System
@Model.ServerIP: Chime Server address @Model.ServerFQDN: Chime Server FQDN @Model.CurrentDate: Current date @Model.CurrentTime: Current time
#Guest Information IDs You may use these values as the IDs of Adaptive Card input elements. When the guest submits the card, the corresponding information about the guest will be updated.
AadObjectId: AadObjectId AutoDeflectComment: AutoDeflectComment AutoDeflected: WasAutoDeflected botcheck: Botcheck chatType: ChatType country: SeekerCountry DeflectionReason: DeflectionReason domainAuthenticated: DomainAuthenticated email: Email entryPoint: EntryPoint firstName: FirstName ip: SeekerIP IsResolved: IsResolved lastName: LastName locale: Locale Phone: Phone platform: SeekerPlatform question: Question referrerURL: ReferreringUrl rolloverFromQueue: RolloverFromQueue rolloverFromSession: RolloverFromSession rolloverToQueue: RolloverToQueue samaccountName: SAMAccountName seekerComment: SeekerComment SeekerDN: SeekerDN seekerOffsetMinutes: SeekerTimeZoneOffsetMinutes seekerRating: SeekerRating sessionGuid: SessionGuid sessionStartedUTC: SessionStartedUTC sip: Sip skillTags: SkillTags webVisitor: SeekerIsWebVisitor