# About

About the Landis Contact Center for Microsoft Teams

## What is this product?

[Landis Contact Center for Microsoft Teams](https://landistechnologies.com/microsoft-teams-contact-center/) is a service that provides contact center functionality for Microsoft Teams with the "flip of a switch". It is built using the Microsoft Teams Calling API's which provides a deep level of integration to your existing Teams application.

## Who is Landis Technologies?

Is a Microsoft Partner with experience deploying Microsoft call handling & routing solutions in over 60 countries.

The landing page for this product is <https://landistechnologies.com/microsoft-teams-contact-center/>

Support Portal: <https://support.landis.cloud>\
Talk to Sales: [Contact Sales](https://landistechnologies.com/contact-sales-cc/)


# Getting Started

## Overview

We have designed Contact Center to be a simple as possible to setup.&#x20;

* [ ] Enable the Contact Center [Service](/definitions/contact-center-service) for your organization (creating a New [Organization](/definitions/contact-center-organization))
* [ ] Grant Contact Center service permissions to interact with your Microsoft Teams tenant
* [ ] Configure your Organization's Contact Center settings

{% hint style="info" %}
A free 30 day full featured trial is included in the initial setup.
{% endhint %}

{% embed url="<https://youtu.be/IOTOEJhi2Kg>" %}

## Enabling the Service for Your Organization

&#x20;Browse to <https://cc.landis.cloud/account/organization-signup>

Select Sign in with Microsoft button. We recommend using a Microsoft 365 Global Administrator account.

| Field                     | Description                                                                                                                     |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Organization Name         | This will be the short name for your organization and cannot be changed. It cannot include spaces.                              |
| Organization Display Name | This will be a longer and more descriptive name for your organization.                                                          |
| Admin Email               | This will be populated automatically.                                                                                           |
| Region                    | Choose your preferred region for hosting your contact center organization. This decision is final and cannot be modified later. |

Click Submit.

{% hint style="info" %}
Creating a new service for your organization should just take a few seconds.
{% endhint %}

When the service for your organization is created, sign into the service portal to continue.&#x20;

## Granting Permissions to Microsoft 365 Services

### Grant Teams/Azure Permissions

To grant contact center the ability to interact with the organization's Teams and Azure tenant, sign in to the portal and navigate to Administration | Settings.  Select the four Grant Permissions buttons.  The requested permissions will be listed when granting consent. The permissions needed will be listed when granting consent. Also see [Integration Permissions](/appendix/integration-permissions)

{% hint style="info" %}
Verify that you are signed into the correct Microsoft 365 tenant before granting permissions.
{% endhint %}

## Configure for Your Organization

Your are now ready to configure some contact center specific settings. See [Setup](/setup)

{% hint style="info" %}
To speed up getting started, your contact center will have preconfigured wrap-up questions, wall boards, user roles and so on.&#x20;
{% endhint %}


# Setup


# Organization Settings

Navigate to Administration | Settings | General

Timezone: This sets the default time and date for all users in Contact Center.&#x20;

For more information see [Timezone Reference](/appendix/timezone-reference)

{% hint style="info" %}
Users can change their personal timezone by selecting the avatar (top,right corner) | My Settings | Timezone.
{% endhint %}


# Set Up Users

Users that will act as administrators, managers, or agents will need to be added as users in the contact center.

Navigate to Configuration | Users | Add | Search and select user | Select | Edit user settings (optional) | Save

The new user should now appear in the list of users. See [Users](/administration/users) for more details.

{% hint style="info" %}
Add users in bulk by creating a [User Template](/administration/user-templates). Apply the template to an Entra group or selected users.
{% endhint %}

{% hint style="warning" %}
User's that are receiving call from Landis Contact Center queues or IVRs are required to be enabled for Teams voice (Enterprise Voice Enabled).
{% endhint %}

{% hint style="info" %}
Only users that are marked active will be able to log into the contact center.
{% endhint %}


# Set Up Voice Channel


# Set Up Voice Queue

{% hint style="info" %}
If the Add button does not appear for a user, verify the user has a data access policy assigned to an OU that gives them queue create permissions. The same applies to the Edit or delete buttons.
{% endhint %}

1. Navigate to Queues & IVRs | Queues | Add Calling Queue.
2. Setup resource account. See [Set Up Queue or IVR Resource Account](/setup/set-up-voice-channel/set-up-queue-or-ivr-resource-account)

#### Queue Settings:

{% tabs %}
{% tab title="General" %}

| Options                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name                                      | The unique name for this queue object.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Description                               | This is an area to describe this object in more detail.                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Routing Type                              | This is what method is used to determine which agent(s) are alerted. See [Routing Type](/appendix/routing-type).                                                                                                                                                                                                                                                                                                                                                                      |
| Priority Level                            | See [Queue Priority](/appendix/queue-priority)                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Enable Skills Routing                     | See [Skills Based Routing](/appendix/skills-based-routing)                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Allow agents to opt out of taking calls   | If unchecked, agents will not be able to sign in/out of the queue, they will be permanently signed into the queue.                                                                                                                                                                                                                                                                                                                                                                    |
| Teams Presence-based routing              | See [Teams Presence-based Routing](/appendix/teams-presence-based-routing)                                                                                                                                                                                                                                                                                                                                                                                                            |
| Route Callers When Teams Presence Is Busy | See [Teams Presence-based Routing](https://cc.docs.landis.cloud/appendix/teams-presence-based-routing)                                                                                                                                                                                                                                                                                                                                                                                |
| Alert Type                                | What alerting method is used to notify an agent. See [Alerting Type](/appendix/alerting-type).                                                                                                                                                                                                                                                                                                                                                                                        |
| Select User                               | The users are agents for this queue. These users are required to be enabled for Teams voice (Enterprise Voice Enabled).                                                                                                                                                                                                                                                                                                                                                               |
| Wrap-up                                   | The wrap-up question set to assign this queue. See [Setup Wrap-up Question Set](/setup/setup-wrap-up-question-set)                                                                                                                                                                                                                                                                                                                                                                    |
| Wrap-up Timeout                           | Wrap-up timeout in seconds. The wrap-up panel will disappear from the agent panel after the specified timeout period has expired. Can be used with or without a wrap-up question set.                                                                                                                                                                                                                                                                                                 |
| Queue Service Level                       | <p>The target timeframe the contact center aims to meet for handling calls. This is the duration from the moment a call enters the queue until the call is considered <em>handled</em>. A call is considered handled when:</p><ul><li>It is connected to an agent, <strong>or</strong></li><li>The caller takes an action to remove the call from the queue, such as using a queue breakout option or abandoning the call.</li></ul><p>These metrics are included in the reports.</p> |
| Short Abandoned                           | This specifies what calls are considered short abandoned. Short abandoned is an interaction that ends before being connected to an agent and before the configured short abandoned time is reached. These interactions are excluded from abandoned calculations in the summary reports.                                                                                                                                                                                               |
| Alert Timeout                             | Alert time in seconds. This is how long an agent will be alerted before moving to the next available agent. Note: The alert may appear for a shorter period on the Teams endpoint because the time is counted server side. ≥20 seconds recommended.                                                                                                                                                                                                                                   |
| {% endtab %}                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

{% tab title="Audio Messages" %}

| Options                    | Description                                                                                                                                                                                                                                                                                                                                                         |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Welcome Message            | This is the welcome message for this queue. See [Audio Prompts.](/appendix/audio-prompts)                                                                                                                                                                                                                                                                           |
| Hold Music                 | This specifies the music on hold for this queue. See [Audio Prompts.](/appendix/audio-prompts)                                                                                                                                                                                                                                                                      |
| Callback Message           | This specifies the callback message for this queue. See [Audio Prompts.](/appendix/audio-prompts)                                                                                                                                                                                                                                                                   |
| Select Marketing Messages  | Existing audio prompts can be searched and selected. If position in queue announcement is not enabled, marketing messages will play at the specified interval in the order defined. If position is queue announcement is enabled, the marketing messages will play after the queue announcement in the order defined. See [Audio Prompts.](/appendix/audio-prompts) |
| Marketing Message Interval | Marketing Message audio prompt interval in seconds.                                                                                                                                                                                                                                                                                                                 |
| Announce Position in Queue | Announces queue position when in a queue.                                                                                                                                                                                                                                                                                                                           |
| Announcement Interval      | Position in queue announcement interval in seconds.                                                                                                                                                                                                                                                                                                                 |
| Position in Queue Prompts  | Ability to select custom position in queue announcement prompts.                                                                                                                                                                                                                                                                                                    |
| {% endtab %}               |                                                                                                                                                                                                                                                                                                                                                                     |

{% tab title="Schedule" %}

| Options        | Description                                                      |
| -------------- | ---------------------------------------------------------------- |
| Timezone       | Specifies time zone of queue.                                    |
| Business Hours | See [Setup Business Hours Sets](/setup/setup-business-hours)     |
| Holiday Hours  | See [Setup Holiday Hours Sets](/setup/set-up-holiday-hours-sets) |
| {% endtab %}   |                                                                  |

{% tab title="Callback" %}

| Options                                 | Description                                                                                                  |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Callback Enabled                        | Enables callers to request a callback at any time while waiting in queue. See [Callback](/appendix/callback) |
| Callback Key                            | Key to request a callback.                                                                                   |
| Automatic Callback Is Enabled (Preview) | See [Automatic Callback (Preview)](#automatic-callback-preview)                                              |
| Resource Account                        | Callback calls will be initiated by this resource account.\*                                                 |
| Welcome Message                         | Audio prompt that is played to the agent prior to the PSTN call being connected                              |
| Hold Music                              | Audio prompt that is played to the agent while the PSTN call is being connected                              |
| Wait for key to connect with callee     | Option to wait for the agent to press a key before initiating the PSTN call. (Recommended)                   |

{% hint style="warning" %}
\*The resource account selected must have a Teams Phone Resource Account license and one of the following assigned:

For Microsoft provided numbers:

* A [pay-as-you-go](https://learn.microsoft.com/en-us/microsoftteams/calling-plans-for-office-365#pay-as-you-go-calling-plan) license assigned or
* [Communications credits](https://learn.microsoft.com/en-us/microsoftteams/what-are-communications-credits)

For Direct Routing numbers:

* An [online voice routing policy](https://learn.microsoft.com/en-us/microsoftteams/manage-voice-routing-policies).
  * Phone number assignment is optional when using Direct Routing.

There are no additional requirements when an [Operator Connect](https://learn.microsoft.com/en-us/microsoftteams/operator-connect-plan) phone number is assigned.
{% endhint %}

#### Automatic Callback (Preview)

When a caller requests a callback, the caller's position in queue will be saved and when an agent becomes available, the callback will automatically be initiated. The queue will call the agent and wait until the call is connected. The selected audio prompt will play wait for the agent to press a key (Optional) and the PSTN call will be initiated. If the agent misses the alert, the call will route to the next available agent following the routing method configured on the queue. The default Automatic Callback feature uses the caller ID to return the call. To give the caller the option to modify the number, break out to an IVR to perform the number collection and use the [callback block](/setup/set-up-voice-channel/setup-ivr#example-callback-block).
{% endtab %}

{% tab title="Exception Handling" %}

| Options                                       | Description                                                                                                                                                                                                       |
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Enable Queue Timeout                          | Enables the ability to timeout a queue                                                                                                                                                                            |
| Enable Queue Timeout When No Agents Available | This will automatically timeout a queue when no agents are available. Availability is determined by queue sign in state and/or agent status. Note: Teams presence or call state *will* *not* trigger the timeout. |
| Queue Timeout                                 | Queue timeout in seconds. This is how long a caller will wait in queue before the queue timeout action is taken.                                                                                                  |
| Queue Timeout Action                          | What action that will be taken after the timeout period. Prerequisites are required for Transfer to PSTN. See [Transfer to PSTN](/appendix/transfer-to-pstn)                                                      |
| Enable Queue Breakout                         | Enables the ability for the caller to press a key to be transferred to a destination at any time while waiting in queue.                                                                                          |
| Breakout Key                                  | Key to request to be transferred                                                                                                                                                                                  |
| Breakout Type                                 | Transfer destination                                                                                                                                                                                              |
| RONA Enabled                                  | See [Reroute on No Answer (RONA)](/appendix/reroute-on-no-answer-rona)                                                                                                                                            |
| Minimum RONA alert time                       | See [Reroute on No Answer (RONA)](/appendix/reroute-on-no-answer-rona)                                                                                                                                            |
| {% endtab %}                                  |                                                                                                                                                                                                                   |

{% tab title="Integrations" %}

| Options                         | Description                                                        |
| ------------------------------- | ------------------------------------------------------------------ |
| Call Pop URL                    | See [Call Pop URL](/appendix/call-popup)                           |
| Open Call Pop In New Tab        | See [Call Pop URL](/appendix/call-popup)                           |
| New Queue Call Webhook URL      | See [New Queue Call Webhook URL](/appendix/event-webhook)          |
| Abandoned Call Webhook URL      | See[ Abandoned Call Webhook URL](/appendix/event-webhook)          |
| End Call Webhook URL            | See [End Call Webhook URL](/appendix/event-webhook)                |
| Enable Graph Transfer Reporting | See [Graph Transfer Reporting](/appendix/graph-transfer-reporting) |
| {% endtab %}                    |                                                                    |

{% tab title="Skills" %}
{% hint style="info" %}
This Tab is only available if skills routing is enabled on the queue.
{% endhint %}

See [Queue Skills](/appendix/skills-based-routing/queue-skills)
{% endtab %}

{% tab title="Outbound (Preview)" %}
**This feature is in** [**Preview**](/appendix/feature-states)**.**

Outbound calling allows agents to initiate outbound calls as the queue.&#x20;

When enabled, the outbound call controls will appear on the agent panel. The agent can select the queue from the dropdown, enter a PSTN number in E.164 format, and select the button Place a Call.

Alternatively, an outbound call can be initiated via a URL using the format below:

```
https://cc.landis.cloud/client/agentpanel/<QueueId>/<PhoneNumber>

Example: https://cc.landis.cloud/client/agentpanel/15269/+17177330793
```

{% hint style="info" %}

* The Landis queue ID can be found in the URL when editing the queue.
* The phone number should be in E.164 format.
  {% endhint %}

After the call is initiated, the queue will call the agent and wait until the call is connected. The selected audio prompt will play and then the PSTN call will be initiated.

***

| Property                            | Description                                                                                |
| ----------------------------------- | ------------------------------------------------------------------------------------------ |
| Enable Outbound Calling             | Enables the outbound calling feature for the queue.                                        |
| Resource Account                    | Outbound calls will be initiated by this resource account.\*                               |
| Welcome Message                     | Audio prompt that is played to the agent prior to the PSTN call being connected            |
| Hold Music                          | Audio prompt that is played to the agent while the PSTN call is being connected            |
| Wait for key to connect with callee | Option to wait for the agent to press a key before initiating the PSTN call. (Recommended) |

{% hint style="warning" %}
\*The resource account selected must have a Teams Phone Resource Account license and one of the following assigned:

For Microsoft provided numbers:

* A [pay-as-you-go](https://learn.microsoft.com/en-us/microsoftteams/calling-plans-for-office-365#pay-as-you-go-calling-plan) license assigned or
* [Communications credits](https://learn.microsoft.com/en-us/microsoftteams/what-are-communications-credits)

For Direct Routing numbers:

* An [online voice routing policy](https://learn.microsoft.com/en-us/microsoftteams/manage-voice-routing-policies).
  * Phone number assignment is optional when using Direct Routing.

There are no additional requirements when an [Operator Connect](https://learn.microsoft.com/en-us/microsoftteams/operator-connect-plan) phone number is assigned.
{% endhint %}
{% endtab %}

{% tab title="Action Rules" %}
Action rules can change the color of a specific column cell on the wallboard based on one or multiple rules. The action rules are specific to the queue you are editing.

{% hint style="info" %}
If two actions rules are true for the same column, the last one in the list will be applied.
{% endhint %}

| Options  | Description                                                                    |
| -------- | ------------------------------------------------------------------------------ |
| Column   | Wallboard column that will be evaluated                                        |
| Operator | How the wallboard column cell is compared to the Value setting                 |
| Value    | This numerical value will be compared against the wallboard column cell        |
| Color    | If the comparison is true, the column cell will change to the color specified. |

#### Advanced: Action Rules V1 (deprecated)

#### Expression

The below properties can be used in the expression:

|                        |                                                                                                                  |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------- |
| InQueueCount           | Number shown on In Queue column                                                                                  |
| RingingCount           | Number shown on In Ringing column                                                                                |
| CurrentCount           | Number shown on Live column                                                                                      |
| PercentMetServiceLevel | Percentage shown on Service Level Column. This is a range from 0 to 1. For example, 0.25 would be 25%. 1 is 100% |
| CompletedCount         | Number shown on Calls column                                                                                     |
| AvgCallLengthMinutes   | Number shown on Avg Handle column                                                                                |
| AbandonedCount         | Number shown on Abandoned column                                                                                 |
| RequestedCallbacks     | Number shown on Requested Callbacks column                                                                       |

Comparison operators

|    |                          |
| -- | ------------------------ |
| =  | equals                   |
| <  | Less than                |
| >  | Greater than             |
| <= | Less than or equal to    |
| >= | Greater than or equal to |

Examples:

&#x20;    InQueueCount > 20

&#x20;    PercentMetServiceLevel < 0.85

#### Column

Column name that will change color.

#### Color

Column color when the expression is true.
{% endtab %}

{% tab title="Advanced" %}

| Options             | Description                                                                                                         |
| ------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Organization Unit   | Specifies under which OU the queue is located. See [Organization Unit](/administration/organizational-units)s       |
| Call Setting Policy | Specifies the Call Setting Policy for the queue. See [Call Settings Policy](/administration/call-settings-policies) |
| Color               | Queue wallboard color                                                                                               |
| Language            | Language for position in queue prompt. (Not utilized if using custom position in queue prompts.)                    |
| {% endtab %}        |                                                                                                                     |
| {% endtabs %}       |                                                                                                                     |

<br>


# Set Up IVR

{% hint style="info" %}
If the Add button does not appear for a user, verify the user has a data access policy assigned to an OU that gives them IVR create permissions. The same applies to the Edit or delete buttons.
{% endhint %}

1. Navigate to Queues & IVRs | IVRs | Add
2. Enter a Name and Description for the IVR.
3. Create the IVR Flow using the Designer tab
4. Setup resource account. See [Set Up Queue or IVR Resource Account](/setup/set-up-voice-channel/set-up-queue-or-ivr-resource-account)

### IVR Designer

The Designer Tab can be used to create an IVR flow. Blocks can be added, edited and deleted by using the controls on the top left corner.

There are 8 call blocks that either trigger the flow or perform an action:

| Block                                                                         | Description                                                                        |
| ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [Root](/setup/set-up-voice-channel/setup-ivr#example-root-block)              | Triggers the flow                                                                  |
| [DataDip](/setup/set-up-voice-channel/setup-ivr#example-data-dip-block)       | Sends or retrieves data from an external API                                       |
| [Transfer](/setup/set-up-voice-channel/setup-ivr#example-call-action-block)   | Transfers or ends the call                                                         |
| [PlayPrompt](/setup/set-up-voice-channel/setup-ivr#example-play-prompt-block) | Plays audio prompt                                                                 |
| [ListenToTone](#example-listen-to-tone-block)                                 | Play Prompt (optional) and Listen for (DTMF) Tone and voice input (optional) Block |
| [MultiTone](/setup/set-up-voice-channel/setup-ivr#example-multitone-block)    | Listens for DTMF until the # and stores it into a variable                         |
| [VoiceInput](#example-voiceinput-block)                                       | Records audio, converts the speech to text, and stores the text into a variable.   |
| [Regex](/setup/set-up-voice-channel/setup-ivr#example-regex-block)            | Performs a regex match                                                             |
| [TextToSpeech](/setup/set-up-voice-channel/setup-ivr#example-text-to-speech)  | Plays the text                                                                     |
| [BusinessHours](/setup/set-up-voice-channel/setup-ivr#example-business-hours) | Routing based on business hours set                                                |
| [HolidayHours](/setup/set-up-voice-channel/setup-ivr#example-holiday-hours)   | Routing based on holiday hours set                                                 |
| [Callback](#example-callback-block)                                           | Creates a new callback record in the reports                                       |
| [AIQuery](#example-ai-query)                                                  | Sends a prompt to Azure OpenAI and stores the response in a variable               |
| Copilot Agent                                                                 | Not supported in voice channel                                                     |

* Each flow begins with the Root block which triggers the flow when there is an incoming call.
* There can be multiple of the same call blocks which perform different actions.
* Each instance of a block has a unique ID.&#x20;
* The Transition to Block property specifies the Name/ID of next block that will perform the next action.
* The Name field is not optional
* The Description field is optional.

{% hint style="info" %}
For information about Data Value fields on Root State, DataDip, VoiceInput, Regex, AIQuery, and MultiTone blocks, see [Data Collection](#data-collection)
{% endhint %}

#### Variables

* Variables can be created and referenced in blocks.&#x20;
  * Default variables are CallerNumber, CallerName, and ScenarioId.
  * Variables are case sensitive.
  * Only DataDip, VoiceInput, TextToSpeech, Regex, AIQuery, and MultiTone blocks can create new variables. The names of the variables created by these blocks are prefixed by the block name followed by \_result, e.g. AccountNumber\_result.
  * Variables can be referenced in the following blocks: DataDip, Regex, CallAction, TextToSpeech, AIQuery, and Callback. For more details on using variables in these blocks, refer to the examples below.
  * Variables can used to populate Data Collection fields. See [Data Collection](/administration/data-collection)&#x20;

#### **Example Root Block:**

Explanation: When there is an incoming call, the next action will be the block with ID 2

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FfpbGHS4BdAmsxVX8i6iR%2Fimage.png?alt=media\&token=02b42c9d-33f8-4bf7-94d2-b8a6f7865879)

#### **Example Data Dip Block:**

If Input Parameter Names field is empty, the body of the HTTP POST will include all the available variables. If variables are specified, only the contents of those variables will be included in the body of the post. Multiple variables are required to be separated by commas.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FBCzV8kCcuX8tCuMCbkxP%2Fimage.png?alt=media&amp;token=ebe4a042-0447-4c38-967e-af40292165b5" alt="" width="297"><figcaption></figcaption></figure></div>

Explanation: A HTTP post is sent to the URL.  A Microsoft Flow is triggered by the HTTP POST. A decision is made by the Power Automate Flow and the returned response will be stored in the "datadip\_result" variable. See [IVR Data Dip Power Automate Flow Configuration](/appendix/ivr-data-dip-power-automate-flow-configuration). The next action will be the block with ID 7. If there is no response to the HTTP POST after 30 seconds, the next block will be 6.

#### **Example Transfer Block:**

* Type of Action To Take options:
  * Transfer To Queue/IVR
  * Transfer To User
  * Transfer To Voicemail
  * End Call
  * Transfer to PSTN.  *E.164 format required.* *Prerequisites are required.* See [Transfer to PSTN](/appendix/transfer-to-pstn)
* On Transfer Failure (optional)&#x20;

  If the transfer fails, an alternative block can be selected. This is recommended when using a variable as the transfer destination.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FSWmeCjUHOGNHnb2b3E8Z%2F2022-11-02%2016_14_04-Window.png?alt=media\&token=6707ea88-a38d-40a2-a829-9506eeb44f60)

Note: Variable can be used for the action target. The variable name is required to be placed inside curly braces. If transferring to a user or user voicemail, the content of the variable is required to be the Azure Active Directory object ID of the user.

Explanation: Disconnect Call.

#### **Example Play Prompt Block:**

The block will play back the specified audio prompt.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FxIsiFbT8KRtcCAOpJhRZ%2Fimage.png?alt=media\&token=007bbd51-8588-468c-b182-b77e835c3057)

Explanation: The audio file will play that is specified. The next action will be the block with ID 5.

#### **Example Listen to Tone Block:**

The block will listen for a tone *while and after* a prompt is played. If voice input is enabled, the block will listen for voice input *after* the audio prompt is played.

* Audio Prompt Values
  * Audio Prompt
  * Empty (no prompt)
* Repeat Prompt Values
  * Audio Prompt
  * &#x20;\[Disabled] (no prompt. Will skip the next timeout period.)
  * Empty (replays prompt URI or plays default prompt if prompt URI is null)
* Cannot Connect Prompt Values (Plays only if On Timeout Go To is empty)
  * Audio Prompt
  * \[Disabled] (no prompt)
  * Empty (plays default prompt)
* On Timeout Go To
  * Next Block Name - ID
  * Empty (If empty and no menu options have been selected, the Cannot Connect prompt will be played before the call is automatically disconnected.)
* Number Of Repeats
  * 0-1000
* Repeat Wait Seconds
  * 0-1000
* Voice Input Enabled
  * When enabled keywords can be entered beside each menu option and the voice input will be matched against these keywords and be routed accordingly.

{% hint style="info" %}
Voice input is collected after a prompt is finished playing.
{% endhint %}

{% hint style="info" %}
Voice input: Due to Azure Service limitations in EMEA, EMEA Contact Center orgs will use an audio AI model located in US Azure datacenter.
{% endhint %}

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2Fr19ljG5tzej4kpELRVfH%2F2025-07-29%2016_26_39-.png?alt=media&amp;token=c8ac7c86-c830-40dd-9b8a-b59e653c0fd9" alt="" width="300"><figcaption></figcaption></figure></div>

Explanation: Audio prompt is played. If no buttons are pressed, after 10 seconds the repeat prompt is played. Again if no buttons are pressed, after another 10 seconds the call will timeout and the next block will be ID 3. If 0 is pressed at anytime, the next action will be ID 3. If 1 is pressed, the next action will be ID 7. Voice input is also enabled. The caller can say Sales and be routed to ID 3 or say Business hours and be routed to ID 7.

#### Example MultiTone Block:

The block can play an audio prompt and will collect DTMF digits until the pound key is pressed. The DTMF digits will be stored in a variable.

Note: Pause on Pound and Pause time are settings not currently enabled.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FSWZpc19L3nGFG18daBnk%2F2022-08-11%2010_42_58-Window.png?alt=media\&token=4bb3ca30-07e4-4b10-b87a-77279d1cca92)

Explanation: Block will collect DTMF digits until the pound key is pressed and store the digits in a variable named GatherAccountNumber\_result. Next block is ID 8.

#### Example VoiceInput Block:

{% hint style="info" %}
Speech recognition API Key is required for production use. See step 3 and 4 in [Set Up Sentiment Analysis](/setup/set-up-sentiment-analysis)
{% endhint %}

The block can play an audio prompt and will record the caller until either the stop key is pressed, or the max silence timeout is met. The audio recording will be converted to text and stored in a variable.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FRk90u1F2WdLhoHijm4sA%2Fimage.png?alt=media&amp;token=a04ee34a-eca2-4d57-8939-913f4003db6b" alt="" width="296"><figcaption></figcaption></figure></div>

* Play Beep (when recording is started) (optional)
* Audio Prompt that is played (before recording is started) (optional)
* Stop Tone or key to End the recording
* Max Silence Timeout in Seconds. The system will try to detect silence and will stop the recording after the amount of silence specified.
* Max Recording Duration in Seconds. Max time the system will record a caller.
* Language. The language spoken by the caller.
* On Action Failure (optional)
  * The On Action Failure is used if the audio does not contain text or if there is an error converting the audio to text.

Explanation: After the audio prompt is played, a beep will play indicating the caller is being recorded. After the caller is done speaking, they can either press the # key or wait until the recording stops. The audio recording is converted to text and stored in a variable named NewVoiceInput\_result.

#### Example Regex Block:

The block will perform one or multiple regex matches on a variable. The expressions are evaluated in order top down. On No Match Found option is used if no matches are found. The Regex Replace field is optional but can be used to create a variable to be referenced in a later block.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FWYBZKp6p8I8b1pMpIhWv%2Fimage.png?alt=media&amp;token=ee86d110-bd91-4910-9f58-97639247637f" alt="" width="298"><figcaption></figcaption></figure></div>

Explanation:&#x20;

If NewDataDip\_result variable matches 123, the call will be transferred to Queue01 and "Queue01" will be stored in a variable.

If NewDataDip\_result variable matches 456, the call will be transferred to Queue02 and "Queue02" will be stored in a variable

If NewDataDip\_result does not match 123 or 456, the call will be transferred to Queue01.

#### Example Text To Speech:

The block will play the text in the Text field. The language and voice can be customized under Show advanced voice settings.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2F3OEXZsCASGbtAVzxWbnE%2Fimage.png?alt=media&amp;token=6871bd5a-103a-4489-b437-7f3648a13160" alt="" width="297"><figcaption></figcaption></figure></div>

Note: Variables can be used in the text. The variable name is required to be placed inside curly braces. When an opening curly brace is entered, a dropdown list of available variables will appear, and they can be selected from the list.

Explanation: Block will play the contents of the Text field. Next block is ID 7.

#### Example Business Hours:

The block will determine the call action if during business hours or during an off time.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FiaDtuElUyAz8sktColU7%2Fimage.png?alt=media\&token=a8f035d2-c1ec-487e-9040-d1d65d3385b6)

Explanation: Business hours set "Default" will be observed using Eastern Standard Time. On hours next block is 6. DefaultOff action next block is 7

#### Example Holiday Hours:

The block will determine the call action when during a holiday hours set.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FphIYHnAyL9xBdXPkHb20%2Fimage.png?alt=media\&token=cf3cae3d-6bfa-4a16-ab44-8ff7f7d7657b)

Explanation: The "2023 Holidays" will be observed using Easter Standard Time. If the current time is during the 2023 holiday hours set, next block is 6. When off holiday, next block is 7.

#### Example Callback Block

The block will create a callback record.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FZ0BJcSXrzqnsew4wXp6t%2Fimage.png?alt=media&amp;token=a2ccab1e-8286-4394-8064-fa76209a40a9" alt="" width="297"><figcaption></figcaption></figure></div>

Note: The Callback Contact and Callback Description fields are free text fields. If variables used in these fields, they required to be placed inside curly braces. When an opening curly brace is entered, a dropdown list of available variables will appear, and they can be selected from the list.

Explanation: A call back record will be created with the Callback Contact being the CallerNumber variable. The Callback Description will be what was captured in a previous voice input block. Link to Parent is enabled, so the callback record will be associated with the IVR or Queue that transferred the call. If it was not enabled, it will be linked to this IVR. Next block is 5.

#### Example AI Query

The block sends the prompt to Azure Open AI and stores the response in a variable.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2Fg14m1TxxeLbB3KDs7FiK%2Fimage.png?alt=media&amp;token=ac963eb6-a106-42a4-9b38-f3c905e5b6e0" alt="" width="300"><figcaption></figcaption></figure></div>

Note: Variables can be used in the Prompt text. The variable name is required to be placed inside curly braces. When an opening curly brace is entered, a dropdown list of available variables will appear, and they can be selected from the list.

Explanation: The text in the prompt field will be sent to Azure OpenAI. The response will be stored in NewAIQuery\_result variable. Next block is 8.


# Set Up Queue or IVR Resource Account

There are two ways to create Queue or IVR resource accounts:

* Teams Admin Center and Teams PowerShell
* Landis Contact Center and Teams PowerShell (Requires [Teams Service Account](/appendix/teams-api-service-account))

{% hint style="warning" %}
At least one resource account is required to be associated with each IVR or Queue.
{% endhint %}

{% hint style="info" %}
For Skype for Business hybrid environments, see [Skype for Business hybrid](/appendix/skype-for-business-hybrid)
{% endhint %}


# Option 1: Teams Admin Center

Create a resource account for Landis Contact Center queue or IVR in Teams admin center.

**Please use the latest Teams PowerShell module when running the following commands in step 4.**

{% hint style="info" %}
At least one resource account is required for each queue or IVR.
{% endhint %}

1. Navigate to Microsoft Teams admin center | Voice | Resource accounts | Add | Create resource account with type "Call Queue"

{% hint style="info" %}
After executing the PowerShell commands in step 4, the resource account type field will become blank. This is expected behavior and should not be altered.
{% endhint %}

2. Navigate to Microsoft 365 admin portal | Users | Active Users | Assign the resource account user a "Microsoft Teams Phone Resource Account" license
3. &#x20;Assign a phone number to a queue/IVR (optional)

Navigate to Microsoft Teams admin center | Voice | Resource accounts | Select resource account | "Assign/unassign" button | Select the phone number type | Select or add the appropriate phone number | Save. (Do not assign the account to an auto Attendant/Call queue)

4. Connect to Teams PowerShell | Run the following commands for the data center location of your Landis Contact Center organization. After running the last command, copy the ObjectID GUID in the output. This will be used in the next step.

{% tabs %}
{% tab title="North America" %}

```
$Instance = Get-CsOnlineApplicationInstance -Identity "Resource Account Username"
```

```
Set-CsOnlineApplicationInstance -ApplicationId "341e195c-b261-4b05-8ba5-dd4a89b1f3e7" -Identity $Instance.ObjectId
```

```
Sync-CsOnlineApplicationInstance -ObjectId $Instance.ObjectId -ApplicationId "341e195c-b261-4b05-8ba5-dd4a89b1f3e7"
```

```
$Instance.ObjectId
```

*Note: Replace "Resource Account Username" in the above command with the UPN of the resource account created in step 3.*
{% endtab %}

{% tab title="EMEA" %}

```
$Instance = Get-CsOnlineApplicationInstance -Identity "Resource Account Username"
```

```
Set-CsOnlineApplicationInstance -ApplicationId "f5551fac-fcff-4de6-b530-b5c2d847b758" -Identity $Instance.ObjectId
```

```
Sync-CsOnlineApplicationInstance -ObjectId $Instance.ObjectId -ApplicationId "f5551fac-fcff-4de6-b530-b5c2d847b758"
```

```
$Instance.ObjectId
```

*Note: Replace "Resource Account Username" in the first command with the UPN of the resource account created in step 3.*
{% endtab %}
{% endtabs %}

5. Navigate to Landis Contact Center portal | Queues & IVRs | Connectors | Resource accounts | Add | Enter a Name. Paste the ObjectID GUID in the Object ID field. Select the Interaction Object (Queue or IVR) that should be associated with the resource account. Description, Phone Number, and User principal Name is optional, but recommended.

{% hint style="info" %}
This Resource Account record is a duplicate of the Microsoft Teams Resource Account. It determines to which Queue or IVR the call is routed.
{% endhint %}

{% hint style="warning" %}
The Microsoft Teams resource accounts are not automatically synced with Contact Center. When resource accounts are created or changed in Teams, they will need to be manually created or updated in Contact Center.
{% endhint %}


# Option 2: Contact Center (Preview)

**This feature is in** [**Preview**](/appendix/feature-states)**.**

{% hint style="warning" %}
Prerequisites:&#x20;

Teams API service account configured. See [Teams API Service Account](/appendix/teams-api-service-account)

Teams Config API permissions granted. See [Settings](/administration/settings#general)
{% endhint %}

1. Navigate to Queues & IVRs | Connectors | Resource accounts | Add.&#x20;
2. Enter a resource account display name. &#x20;
3. Select the Interaction Object (Queue or IVR) that should be associated with the resource account.&#x20;
4. Enter a unique user principal name.
5. Select button Sync to Teams. This will create the resource account in Teams. If the account creation was successful, the Object ID field should be automatically populated with a GUID.
6. Verify a Microsoft Teams Phone Resource Account license is available in the Microsoft 365 admin portal. Select button Assign Phone System License.&#x20;

{% hint style="info" %}
After a Microsoft Teams Phone Resource Account license is assigned to the resource account, some provisioning time will be needed until a phone number can be granted.
{% endhint %}

7. (Optional) Enter an available phone number in E.164 format in the phone number field.
8. From the Phone Number Type dropdown, select the type of number assigned in step 7.
9. Select Set Phone Number Button. If an error message appears, wait a few minutes and try again.
10. Select Save.
11. Connect to Teams PowerShell | Run the following commands:

```
$Instance = Get-CsOnlineApplicationInstance -Identity "Resource Account Username"
Sync-CsOnlineApplicationInstance -ObjectId $Instance.ObjectId -ApplicationId $Instance.ApplicationId
$Instance.ObjectId
```

*Note: Replace "Resource Account Username" in the above command with the UPN of the resource account in step 4.*

{% hint style="warning" %}
Changes made to resource accounts in the Teams admin center or PowerShell will not be synced to Contact Center. The changes will need to be manually updated in Contact Center.
{% endhint %}


# Set Up Auto Attendant \[Teams]

You can use [Microsoft Teams Auto Attendants](https://docs.microsoft.com/en-us/microsoftteams/what-are-phone-system-auto-attendants) to direct calls to a particular Contact Center queue or IVR. When editing the Teams Auto Attendant, select redirect to Resource account and select the Teams resource account that is linked to the Contact Center queue or IVR.


# Set Up Chat Channel


# Set Up Chat Prerequisites

### Chat Channel is [Preview](/appendix/feature-states).

1. Administration | Settings | Grant permissions for Contact Center Chat
2. Create a user in your M365 tenant to use as a service account. This will be the teams meeting organizer and the chats will be created in their account. This user should have a Teams license.<br>
3. Add an app access policy to your tenant. This will allow the chat app to create meetings on behalf of the service account. Open PowerShell and run the following commands:

```Powershell
Connect-MicrosoftTeams
New-CsApplicationAccessPolicy -Identity LCCChatApps -AppIds "d3d33ff7-dcd7-4073-8942-49c144b66a7a" -Description "Landis Contact Center Chat Apps"
Grant-CsApplicationAccessPolicy -PolicyName "LCCChatApps" -Identity "ServiceAccountUPN"
```

6. Upload App Manifest to the Teams Admin Center. Navigate to Microsoft Teams admin center | Teams apps | Manage apps | Actions | Upload new app | Download the file below and select the file to upload. The application can up to 24 hours to fully provision in your Microsoft 365 tenant.

{% file src="/files/Jou03xFIsvqSHbQcEUJH" %}

7. Install the Landis Chat Bot for the agents in Teams. See <https://learn.microsoft.com/en-us/microsoftteams/teams-app-setup-policies>


# Set Up Chat Queue

{% hint style="info" %}
If the Add button does not appear for a user, verify the user has a data access policy assigned to an OU that gives them queue create permissions. The same applies to the Edit or delete buttons.
{% endhint %}

1. Navigate to Queues & IVRs | Queues | Add Chat Queue.
2. [Set up Chat Link](/setup/set-up-chat-channel/set-up-chat-link)

{% hint style="info" %}
The chat prompts can be changed org wide in Administration | Languages | Actions | Change texts
{% endhint %}

#### Queue Settings:

{% tabs %}
{% tab title="General" %}

| Options                                 | Description                                                                                                                                                                                                                                                                                                 |
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name                                    | The unique name for this queue object.                                                                                                                                                                                                                                                                      |
| Description                             | This is an area to describe this object in more detail.                                                                                                                                                                                                                                                     |
| Routing Type                            | This is what method is used to determine which agent(s) are alerted.                                                                                                                                                                                                                                        |
| Enable Skills Routing                   | See [Skills Based Routing](https://cc.docs.landis.cloud/appendix/skills-based-routing)                                                                                                                                                                                                                      |
| Allow agents to opt out of taking calls | If unchecked, agents will not be able to sign in/out of the queue, they will be permanently signed into the queue.                                                                                                                                                                                          |
| Select User                             | The users are agents for this queue. The agent's name that is deployed to the external chat user can be customized. See [Public display name](/administration/users)                                                                                                                                        |
| Queue Service Level (Seconds)           | <p>The target timeframe the contact center aims to meet for handling chats. This is the duration from the moment a chat enters the queue until the call is considered <em>handled</em>. A chat is considered handled when it is connected to an agent.</p><p>These metrics are included in the reports.</p> |
| Alert Timeout                           | Alert time in seconds. This is how long an agent will be alerted before moving to the next available agent. Note: The alert may appear for a shorter period on the Teams endpoint because the time is counted server side. ≥20 seconds recommended.                                                         |
| {% endtab %}                            |                                                                                                                                                                                                                                                                                                             |

{% tab title="Messages" %}

| Options         | Description                                                                                                                                     |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Welcome Message | This is the welcome message for this queue. The selected prompt is required to be text to speech. See [Audio Prompts.](/appendix/audio-prompts) |
| {% endtab %}    |                                                                                                                                                 |

{% tab title="Skills" %}
{% hint style="info" %}
This Tab is only available if skills routing is enabled on the queue.
{% endhint %}

See [Skills Based Routing](https://cc.docs.landis.cloud/appendix/skills-based-routing)
{% endtab %}

{% tab title="Action Rules" %}
Action rules can change the color of a specific column cell on the wallboard based on one or multiple rules. The action rules are specific to the queue you are editing.

{% hint style="info" %}
If two actions rules are true for the same column, the last one in the list will be applied.
{% endhint %}

| Options  | Description                                                                    |
| -------- | ------------------------------------------------------------------------------ |
| Column   | Wallboard column that will be evaluated                                        |
| Operator | How the wallboard column cell is compared to the Value setting                 |
| Value    | This numerical value will be compared against the wallboard column cell        |
| Color    | If the comparison is true, the column cell will change to the color specified. |

#### Advanced: Action Rules V1 (deprecated)

#### Expression

The below properties can be used in the expression:

|                        |                                                                                                                  |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------- |
| InQueueCount           | Number shown on In Queue column                                                                                  |
| RingingCount           | Number shown on In Ringing column                                                                                |
| CurrentCount           | Number shown on Live column                                                                                      |
| PercentMetServiceLevel | Percentage shown on Service Level Column. This is a range from 0 to 1. For example, 0.25 would be 25%. 1 is 100% |
| CompletedCount         | Number shown on Calls column                                                                                     |
| AvgCallLengthMinutes   | Number shown on Avg Handle column                                                                                |
| AbandonedCount         | Number shown on Abandoned column                                                                                 |
| RequestedCallbacks     | Number shown on Requested Callbacks column                                                                       |

Comparison operators

|    |                          |
| -- | ------------------------ |
| =  | equals                   |
| <  | Less than                |
| >  | Greater than             |
| <= | Less than or equal to    |
| >= | Greater than or equal to |

Examples:

&#x20;    InQueueCount > 20

&#x20;    PercentMetServiceLevel < 0.85

#### Column

Column name that will change color.

#### Color

Column color when the expression is true.
{% endtab %}

{% tab title="Advanced" %}

| Options           | Description                                                                                                                               |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Organization Unit | Specifies under which OU the queue is located. See [Organization Unit](https://cc.docs.landis.cloud/administration/organizational-units)s |
| Color             | Queue wallboard color                                                                                                                     |
| Language          | Language for default text prompts.                                                                                                        |
| {% endtab %}      |                                                                                                                                           |
| {% endtabs %}     |                                                                                                                                           |

<br>


# Set Up Chat IVR

{% hint style="info" %}
If the Add button does not appear for a user, verify the user has a data access policy assigned to an OU that gives them IVR create permissions. The same applies to the Edit or delete buttons.
{% endhint %}

1. Navigate to Queues & IVRs | IVRs | Add
2. Enter a Name and Description for the IVR.
3. Create the IVR Flow using the Designer tab
4. [Set up Chat Link](/setup/set-up-chat-channel/set-up-chat-link)

### IVR Designer

The Designer Tab can be used to create an IVR flow. Blocks can be added, edited and deleted by using the controls on the top left corner.

There are 8 call blocks that either trigger the flow or perform an action:

| Block                                         | Description                                                          |
| --------------------------------------------- | -------------------------------------------------------------------- |
| [Root](#example-root-block)                   | Triggers the flow                                                    |
| [DataDip](#example-data-dip-block)            | Sends or retrieves data from an external API                         |
| [Transfer](#example-call-action-block)        | Transfers or ends the chat                                           |
| [PlayPrompt](#example-play-prompt-block)      | Sends the text of the prompt as a message                            |
| [ListenToTone](#example-listen-to-tone-block) | Sends Prompt message (optional) and waits for a menu option response |
| [MultiTone](#example-multitone-block)         | Stores the response into a variable                                  |
| VoiceInput                                    | Not supported in chat channel                                        |
| [Regex](#example-regex-block)                 | Performs a regex match                                               |
| [TextToSpeech](#example-text-to-speech)       | Sends the text as a message                                          |
| [BusinessHours](#example-business-hours)      | Routing based on business hours set                                  |
| [HolidayHours](#example-holiday-hours)        | Routing based on holiday hours set                                   |
| Callback                                      | Not supported in chat channel                                        |
| [AIQuery](#example-ai-query)                  | Sends a prompt to OpenAI and stores the response in a variable       |
| [Copilot Agent](#example-copilot-agent)       | Connects the chat to a Copilot agent                                 |

* Each flow begins with the Root block which triggers the flow when there is an incoming chat.
* There can be multiple of the same blocks which perform different actions.
* Each instance of a block has a unique ID.
* The Transition to Block property specifies the Name/ID of next block that will perform the next action.
* The Name field is not optional
* The Description field is optional.

{% hint style="info" %}
For information about Data Value fields on Root State, DataDip, VoiceInput, Regex, AIQuery, and MultiTone blocks, see [Data Collection](#data-collection)
{% endhint %}

#### Variables

* Variables can be created and referenced in blocks.
  * Default variables are CallerNumber, CallerName, and ScenarioId.
  * Variables are case sensitive.
  * Only DataDip, VoiceInput, TextToSpeech, Regex, AIQuery, and MultiTone blocks can create new variables. The names of the variables created by these blocks are prefixed by the block name followed by \_result, e.g. AccountNumber\_result.
  * Variables can be referenced in the following blocks: DataDip, Regex, CallAction, TextToSpeech, AIQuery, and Callback. For more details on using variables in these blocks, refer to the examples below.
  * Variables can used to populate Data Collection fields. See [Data Collection](/administration/data-collection)

#### **Example Root Block:**

Explanation: When there is an incoming chat, the next action will be the block with ID 2

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FfpbGHS4BdAmsxVX8i6iR%2Fimage.png?alt=media\&token=02b42c9d-33f8-4bf7-94d2-b8a6f7865879)

#### **Example Data Dip Block:**

If Input Parameter Names field is empty, the body of the HTTP POST will include all the available variables. If variables are specified, only the contents of those variables will be included in the body of the post. Multiple variables are required to be separated by commas.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FBCzV8kCcuX8tCuMCbkxP%2Fimage.png?alt=media&amp;token=ebe4a042-0447-4c38-967e-af40292165b5" alt="" width="297"><figcaption></figcaption></figure></div>

Explanation: A HTTP post is sent to the URL. A Microsoft Flow is triggered by the HTTP POST. A decision is made by the Power Automate Flow and the returned response will be stored in the "datadip\_result" variable. See [IVR Data Dip Power Automate Flow Configuration](/appendix/ivr-data-dip-power-automate-flow-configuration). The next action will be the block with ID 7. If there is no response to the HTTP POST after 30 seconds, the next block will be 6.

#### **Example Transfer Block:**

* Type of Action To Take options:
  * Transfer To Queue/IVR
    * Enter the chat Widget ID linked to the target queue or IVR. The dropdown options are not supported.
  * Transfer To User **(Not supported in Chat Channel)**
  * Transfer To Voicemail **(Not supported in Chat Channel)**
  * End Call
  * Transfer to PSTN. **(Not supported in Chat Channel)**
* On Transfer Failure **(Not supported in Chat Channel)**

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FSWmeCjUHOGNHnb2b3E8Z%2F2022-11-02%2016_14_04-Window.png?alt=media\&token=6707ea88-a38d-40a2-a829-9506eeb44f60)

Note: Variable can be used for the action target. The variable name is required to be placed inside curly braces.

Explanation: Disconnect Chat.

#### **Example Play Prompt Block:**

The block will play back the specified audio prompt.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FxIsiFbT8KRtcCAOpJhRZ%2Fimage.png?alt=media\&token=007bbd51-8588-468c-b182-b77e835c3057)

Explanation: The text of the audio prompt will be sent as a chat message. Only text to speech prompts are supported. The next action will be the block with ID 5.

#### **Example Listen to Tone Block:**

The block will wait for a chat response *while and after* a prompt/message is sent.

* Audio Prompt Values (The text of the audio prompt will be sent as a chat message. Only text to speech prompts are supported.)
  * Audio Prompt
  * Empty (no prompt)
* Repeat Prompt Values (The text of the audio prompt will be sent as a chat message. Only text to speech prompts are supported.)
  * Audio Prompt
  * \[Disabled] (no prompt. Will skip the next timeout period.)
  * Empty (replays prompt URI or plays default prompt if prompt URI is null)
* Cannot Connect Prompt Values (The text of the audio prompt will be sent as a chat message. Only text to speech prompts are supported.) Plays only if On Timeout Go To is empty.
  * Audio Prompt
  * \[Disabled] (no prompt)
  * Empty (plays default prompt)
* On Timeout Go To
  * Next Block Name - ID
  * Empty (If empty and no menu options have been selected, the Cannot Connect prompt will be sent before the chat is automatically disconnected.)
* Number Of Repeats
  * 0-1000
* Repeat Wait Seconds
  * 0-1000
* Voice Input Enabled **(Not supported in Chat Channel)**
  * **The keyword match field is supported. You can list multiple keywords, separated by commas.**

![](https://cc.docs.landis.cloud/~gitbook/image?url=https%3A%2F%2F1039569329-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lm5wszNs6c24n4NZ30U%252Fuploads%252Fr19ljG5tzej4kpELRVfH%252F2025-07-29%252016_26_39-.png%3Falt%3Dmedia%26token%3Dc8ac7c86-c830-40dd-9b8a-b59e653c0fd9\&width=768\&dpr=3\&quality=100\&sign=70c6e0c7\&sv=2)

Explanation: Audio prompt message is sent. If no chat message is received, after 10 seconds the repeat prompt message is sent. Again, if no chat message is received, after another 10 seconds the chat will timeout and the next block will be ID 3. If "0" or "sales" message is received, the next action will be ID 3. If "1" or "Business Hours" message is received, the next action will be ID 7.

#### Example MultiTone Block:

The block will collect the chat response and store it in a variable.

Note: Pause on Pound and Pause time are settings not currently enabled.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FSWZpc19L3nGFG18daBnk%2F2022-08-11%2010_42_58-Window.png?alt=media\&token=4bb3ca30-07e4-4b10-b87a-77279d1cca92)

Explanation: Block will collect the chat response and store it in a variable named GatherAccountNumber\_result. Next block is ID 8.

#### Example Regex Block:

The block will perform one or multiple regex matches on a variable. The expressions are evaluated in order top down. On No Match Found option is used if no matches are found. The Regex Replace field is optional but can be used to create a variable to be referenced in a later block.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FWYBZKp6p8I8b1pMpIhWv%2Fimage.png?alt=media&amp;token=ee86d110-bd91-4910-9f58-97639247637f" alt="" width="298"><figcaption></figcaption></figure></div>

Explanation:

If NewDataDip\_result variable matches 123, the call will be transferred to Queue01 and "Queue01" will be stored in a variable.

If NewDataDip\_result variable matches 456, the call will be transferred to Queue02 and "Queue02" will be stored in a variable

If NewDataDip\_result does not match 123 or 456, the call will be transferred to Queue01.

#### Example Text To Speech:

The block will send the text in the text field in a message.

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2F3OEXZsCASGbtAVzxWbnE%2Fimage.png?alt=media&amp;token=6871bd5a-103a-4489-b437-7f3648a13160" alt="" width="297"><figcaption></figcaption></figure></div>

Note: Variables can be used in the text. The variable name is required to be placed inside curly braces. When an opening curly brace is entered, a dropdown list of available variables will appear, and they can be selected from the list.

Explanation: Block will send the contents of the Text field. Next block is ID 7.

#### Example Business Hours:

The block will determine the chat action if during business hours or during an off time.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FiaDtuElUyAz8sktColU7%2Fimage.png?alt=media\&token=a8f035d2-c1ec-487e-9040-d1d65d3385b6)

Explanation: Business hours set "Default" will be observed using Eastern Standard Time. On hours next block is 6. DefaultOff action next block is 7

#### Example Holiday Hours:

The block will determine the chat action when during a holiday hours set.

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FphIYHnAyL9xBdXPkHb20%2Fimage.png?alt=media\&token=cf3cae3d-6bfa-4a16-ab44-8ff7f7d7657b)

Explanation: The "2023 Holidays" will be observed using Easter Standard Time. If the current time is during the 2023 holiday hours set, next block is 6. When off holiday, next block is 7.

#### Example Copilot Agent

The block will connect the chat to a Copilot agent through the existing chat interface. When the Copilot agent escalates the chat, it moves to the next block in the IVR.

To setup a Copilot agent, see [Copilot Agents](/administration/copilot-agents)

<div align="left"><figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2F8GuK4TWU8ePyGOU9AVYE%2Fimage.png?alt=media&amp;token=c5fb5daa-d070-44e2-b25b-f349eff48df9" alt="" width="300"><figcaption></figcaption></figure></div>

Explanation: The chat is connected to the "Landis KB Agent". This Copilot agent will handle the chat until it is escalated. At that point it will move to block 6.

#### Example AI Query

The block sends the prompt to Open AI and stores the response in a variable.

![](https://cc.docs.landis.cloud/~gitbook/image?url=https%3A%2F%2F1039569329-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lm5wszNs6c24n4NZ30U%252Fuploads%252Fg14m1TxxeLbB3KDs7FiK%252Fimage.png%3Falt%3Dmedia%26token%3Dac963eb6-a106-42a4-9b38-f3c905e5b6e0\&width=768\&dpr=3\&quality=100\&sign=49f0fe75\&sv=2)

Note: Variables can be used in the Prompt text. The variable name is required to be placed inside curly braces. When an opening curly brace is entered, a dropdown list of available variables will appear, and they can be selected from the list.

Explanation: The text in the prompt field will be sent to OpenAI. The response will be stored in NewAIQuery\_result variable. Next block is 8.


# Set Up AI Chat Agent

AI chat agents are able to answer customer questions through a chat channel. They use a Microsoft Copilot agent within a Chat IVR.

Below are the steps to setup a AI Chat Agent:

1. Create a Copilot agent. See [Copilot Agents](/administration/copilot-agents).
2. Create a Chat IVR and add a **Copilot Agent** block. Select the configured agent in that block. See [Set Up Chat IVR](/setup/set-up-chat-channel/setup-ivr#example-copilot-agent).
3. Create a chat link for the IVR. This connects the chosen channel to the flow. See [Set Up Chat Link](/setup/set-up-chat-channel/set-up-chat-link).

When a customer starts a chat, the IVR sends it to the Copilot agent. The agent handles the conversation in the existing chat interface. When it escalates the conversation, the IVR continues at the block configured after the Copilot Agent block.

For example, an AI agent can answer product questions. Configure its escalation topic to transfer unanswered billing requests. The next IVR block transfers to a chat queue. A live agent then receives the escalated chat.


# Set Up Chat Link

{% hint style="info" %}
At least one chat link is required for each queue or IVR.
{% endhint %}

1. Queues & IVRs | Connectors | Chat Links | Add

| Options            | Description                                                                                                                                     |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Name               | Name of Chat Link                                                                                                                               |
| Description        | Description of Chat Link (Optional)                                                                                                             |
| Interaction Object | Name of chat queue where the chats will be handled                                                                                              |
| Service Account Id | Entra object ID of Service account created in step 2 of [Set up chat Prerequisites](/setup/set-up-chat-channel/set-up-chat-prerequisites) setup |
| Chat Link Type     | Select Web Widget for Web Chat. In most cases select Twilio for all other types of chat.                                                        |
| Hostnames          | Hostname of website **(Only required for web chat)**                                                                                            |

3. Save the chat link
4. Select the type of chat that you want to setup and follow the instructions:

* [Web Chat](/setup/set-up-chat-channel/set-up-chat-link/set-up-web-chat)
* [Facebook Chat](/setup/set-up-chat-channel/set-up-chat-link/set-up-facebook-chat)
* [WhatsApp Chat](/setup/set-up-chat-channel/set-up-chat-link/set-up-whatsapp-chat)
* [SMS Chat](/setup/set-up-chat-channel/set-up-chat-link/set-up-sms-chat)
* [RCS Chat](/setup/set-up-chat-channel/set-up-chat-link/set-up-rcs-chat)

Step 4 is needed only for chat links linked directly to the originating IVR or queue. For example, if chats are first routed through an IVR and then transferred to a queue, configure step 4 only for the IVR chat link.


# Set Up Web Chat

### Web chat is in [Preview](/appendix/feature-states).

### Setup Web Chat

1. Choose where you want to host your chat widget.&#x20;
2. &#x20;Select the chat link created in [Set Up Chat Link](/setup/set-up-chat-channel/set-up-chat-link) | Edit
3. Use the code supplied in the Widget Information block to implement web chat on your website or see example customizations below.

```html
<div id="chat-container"></div>
<script>
    var landisChatConfig = {
        titleText: "Custom Chat Title",
        privacyPolicyUrl: "ADD_PRIVACY_POLICY_URL_HERE",
        privacyConsentText: "By using this chat, you agree to our {Privacy Policy}.",
        privacyConsentRequired: true,
        privacyDisclaimerText: "By using this chat, you agree to our {Privacy Policy}.",
        nameFieldRequired: true,
        emailFieldRequired: true,
        loaderDelay: 0, // Delay in milliseconds before loading the chat widget
        customStyles: {
            brandColor: "#b23a03",
            textColor: "#e8713a",
            backgroundColor: "#fff",
            buttonBottomPosition: "2rem",
            buttonRightPosition: "2rem",
            buttonSize: "4rem"
        }
    };
</script>
<script src="https://eastus.static.landis.cloud/contactcenter/chat/landischatwidget-latest.js"
    widgetId="00000000-0000-0000-0000-000000000000" widgetPass="00000000-0000-0000-0000-000000000000"></script>
```


# Set Up Facebook Chat

### Facebook chat is in [Preview](/appendix/feature-states).

Please contact support: [https://support.landis.cloud](https://support.landis.cloud/support/tickets/new)


# Set Up WhatsApp Chat

### WhatsApp chat is in [Preview](/appendix/feature-states).

Please contact support: [https://support.landis.cloud](https://support.landis.cloud/support/tickets/new)


# Set Up SMS Chat

### SMS chat is in [Preview](/appendix/feature-states).

Please contact support: [https://support.landis.cloud](https://support.landis.cloud/support/tickets/new)


# Set Up RCS Chat

### RCS chat is in [Preview](/appendix/feature-states).

Please contact support: [https://support.landis.cloud](https://support.landis.cloud/support/tickets/new)


# Set Up Policy Call Recording

{% hint style="info" %}
If new to Landis Contact Center, please visit [Getting Started](/getting-started) to setup a contact center organization before setting up policy call recording.
{% endhint %}

{% hint style="info" %}
**Overview of Setting Up Policy Call Recording**

1. Create Teams Resource Account for Recording Bot.&#x20;
2. Create Teams Recording Policy.&#x20;
3. Assign Teams Recording Policy to users.
4. Setup Contact Center Users&#x20;
5. Assign policy recording users a Direct Call Records Group.
6. Create or edit a Call Setting Policy to enable recording.&#x20;
7. Assign the Call Setting Policy to the Direct Call Records Group.
   {% endhint %}

## Create Teams Recording Policy

{% hint style="warning" %}
**Please use the latest Teams PowerShell module when running the following commands.**
{% endhint %}

Connect to Teams PowerShell and run the following commands:

1. Create Teams Resource account for Recording Bot:

Run the following command for the data center location of your Landis Contact Center organization.

*Replace "<username@domain.com>" with a new unique user principal name that will be used for the recording resource account.*

{% tabs %}
{% tab title="North America" %}

```
New-CsOnlineApplicationInstance -UserPrincipalName "username@domain.com" -DisplayName "LandisContactCenterRecordingBotInstance" -ApplicationId 3a08b250-02ce-4316-94f7-069f4ae0c41b
```

{% endtab %}

{% tab title="EMEA" %}

```
New-CsOnlineApplicationInstance -UserPrincipalName "username@domain.com" -DisplayName "LandisContactCenterRecordingBotInstance" -ApplicationId bbe41b28-a679-4d11-86e7-00afa56d15d7
```

{% endtab %}
{% endtabs %}

2. Wait a couple minutes and run the following command:

*Replace "<username@domain.com>" with the user principal name specified in the above command.*

```
$Instance = Get-CsOnlineApplicationInstance -Identity "username@domain.com"
```

3. &#x20; Run the following command:

```
Sync-CsOnlineApplicationInstance -ObjectId $Instance.ObjectId -ApplicationId $Instance.ApplicationId
```

4. Create Teams Recording policy:

```
New-CsTeamsComplianceRecordingPolicy -Identity LandisContactCenterRecordingPolicy -Enabled $true -Description "Recording Policy for Landis Contact Center"
```

```
New-CsTeamsComplianceRecordingApplication -Id $Instance.ObjectID -Parent LandisContactCenterRecordingPolicy -RequiredBeforeCallEstablishment $false -RequiredDuringCall $false -RequiredBeforeMeetingJoin $false -RequiredDuringMeeting $false
```

```
Set-CsTeamsComplianceRecordingPolicy -Identity LandisContactCenterRecordingPolicy -ComplianceRecordingApplications (Get-CsTeamsComplianceRecordingApplication -Identity ("LandisContactCenterRecordingPolicy/" + $Instance.ObjectId))
```

## Enable Users for Policy Recording

{% hint style="danger" %}
If you have more than one Landis Contact Center organization linked to the same Microsoft 365 tenant, please create a support ticket for assistance. The Teams compliance recording policy will need to be linked to the correct Landis Contact Center organization or call records and recordings may be lost. [Create a support ticket](https://support.landis.cloud)
{% endhint %}

1. Assign the Teams recording policy to users:&#x20;

*Replace "<username@domain.com>" in the below command with the user principal name of the user to be recorded.*

```
Grant-CsTeamsComplianceRecordingPolicy -Identity "username@domain.com" -PolicyName LandisContactCenterRecordingPolicy
```

{% hint style="info" %}
You can also assign the Teams recording policy to a group of users:

New-CsGroupPolicyAssignment -GroupId "UPN of M365 group or distribution List or GUID of AAD Security Group" -PolicyType TeamsComplianceRecordingPolicy -PolicyName "LandisContactCenterRecordingPolicy"
{% endhint %}

&#x20; 2\. Verify policy recording users are setup in Contact Center. See [Setup Users](/setup/setup-users)&#x20;

&#x20; 3\. Assign policy recording users a Direct Call Records Group.  Configuration | Users | Edit | Contact Center Settings | Direct Call Records Group. To create or edit a group, see [Direct Call Records Group](/administration/direct-call-records-groups)&#x20;

&#x20; 4\. Create or edit a Call Setting Policy to enable a Recording Mode.  Administration | Call Setting Policies | Add or edit. See [Call Setting Policies](/administration/call-settings-policies)&#x20;

&#x20; 5\. Assign the Call Setting Policy to the Direct Call Records Group assigned to the policy recording users.  Administration | Organization Units | Select the Direct call records group name | On the Call Setting Policy box, select the edit button | Select the call settings policy

6\. Allow users to view recordings (optional). Assign the users a Data Access Policy to the Direct Call Records Group. Administration | Organization Units | Select the Direct call records group name | Verify the users are listed on the right panel and have the agent (at minimum) Data Access Policy. If the users are not listed, select "Add Member" button and add the users.

{% hint style="info" %}
If the Call setting Policy allows the agent to enable or disable recording, the agent can control this on the agent panel.
{% endhint %}

{% hint style="info" %}
Recordings can be stored in your own Azure blob storage. See [External Recording Storage.](/appendix/external-recording-storage)
{% endhint %}

{% hint style="info" %}
The Teams recording policy may take up to 24 hours for it to be applied. During this time, calls will not be recorded in Contact Center.
{% endhint %}

### Disable Recording Audio Notification for Calls

{% hint style="warning" %}
By disabling the Teams recording audio notification, you are automatically agreeing to the following: Landis Technologies LLC recording services will only be used to initiate recordings or persisting of media after all legally required notices have been provided to all parties to the call or meeting being recorded or persisted. Such notices may be provided through either a) technical means implemented in your service, such as by a custom recording provided by a customer which your service plays prior to initiating recording, or b) terms included in your service agreement that require every user to personally notify other participants prior to invoking any action in your service that will initiate recording or persisting of media. In any event, you are taking responsibility to notify caller they are being recording.
{% endhint %}

```
Set-CsTeamsComplianceRecordingPolicy -Identity LandisContactCenterRecordingPolicy -WarnUserOnRemoval $false -DisableComplianceRecordingAudioNotificationForCalls $true
```

### Disable Users for Policy Recording

*Replace "<username@domain.com>" in the below command with the user principal name of the user to be removed from recording.*

```
Grant-CsTeamsComplianceRecordingPolicy -Identity "username@domain.com" -PolicyName $null
```


# Set Up Transcription and Sentiment Analysis

{% hint style="info" %}

#### Understanding Sentiment Analysis

Sentiment Analysis provides managers with insights into an agent's communication effectiveness. Higher scores indicate positive sentiment, while lower scores reflect negative sentiment.

View transcription and sentiment scores in real-time on Live Interactions and Queue Status reports by selecting the ![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FjsqG6BQNLMzPSdKIbe1U%2Fimage.png?alt=media\&token=1d935bac-7c92-4036-ae8d-57b415b1a444)button on the call record. Enable the Average Sentiment column to see average sentiment on Live Calls and Agent Details reports. Find historical sentiment scores for individual calls in the Call Details report.
{% endhint %}

1. Set up policy call recording for each user. See [Set Up Policy Call Recording](/setup/setup-policy-call-recording)
2. Edit the Call Setting Policy assigned to the direct call records group and/or queues. Select Sentiment Enabled checkbox. Also select the Speech Recognition Language. This should match the language spoken on calls.

Note: Sentiment is *not* supported for the following languages. If using these languages, transcription will be captured, but a sentiment score of 0 will be shown.

* Icelandic
* Maltese
* Norwegian
* Chinese (Wu, Simplified)
* Zulu

{% hint style="info" %}
Recording does not need to be enabled on the call setting policy for sentiment analysis to function.
{% endhint %}

{% hint style="warning" %}
The Transcription and Sentiment setting is not functional unless your organization has been enabled for the Full Recording Transcription [private preview](/appendix/feature-states).
{% endhint %}

3\.   Select the location tab of your Contact Center datacenter and follow the instructions:

{% tabs %}
{% tab title="North America" %}
In your Azure admin [portal](https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/AllInOne), create a new resource **in the East US region** for "Azure AI services multi-service account (classic)”.  Copy the API key and Endpoint for the resource.
{% endtab %}

{% tab title="EMEA" %}
In your Azure admin [portal](https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/AllInOne), create a new resource **in the North Europe region** for "Azure AI services multi-service account (classic)”. Copy the API key and Endpoint for the resource.
{% endtab %}
{% endtabs %}

4\.   Navigate to Contact Center | Administration | Settings | External Services tab. Enter the API key in the Speech Recognition API Key field and Text Analytics API Key field. Enter the endpoint in the Text Analytics API Endpoint field.


# Set Up Business Hours Sets

{% hint style="warning" %}
Before adding business hours sets, verify the current user's time zone in contact center matches the time zone on the PC. To change the current user's time zone, select the username on the top right corner | My Settings | Time zone.
{% endhint %}

{% hint style="info" %}
If creating a business hours set that will be applied to a queue or IVR in another time zone, configure the business hours as if you are currently in that time zone. The offset will be automatically calculated when the business hours set and time zone are configured on the queue.
{% endhint %}

Navigate to Configuration | Business Hours Sets | Add

1. Add a Name and Description
2. Add or edit the time ranges. Each time range includes a start time, end time, and a label for an action that will occur after hours (between this time range and the next time range). The actions for the after hours labels are specified when a business hour set is applied to a queue or IVR. Example below:

<figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FsxeT7Sj27UgKzixFWao7%2Fimage.png?alt=media&amp;token=05ae174b-6aed-47d7-935b-2c4c17be156e" alt=""><figcaption></figcaption></figure>

#### Assign to Queue

1. Navigate to Queues & IVRs | Queues | Select a Queue | Edit
2. Select Schedule tab.
3. Select timezone and business hours set.
4. Select the action for each after hours label. Prerequisites are required for Transfer to PSTN. See [Transfer to PSTN](/appendix/transfer-to-pstn)

#### Assign to IVR

See [Set Up IVR](/setup/set-up-voice-channel/setup-ivr#example-business-hours)

{% hint style="info" %}
You can see what queues and IVRs are utilizing a business hours set by editing the business hours set and expanding the In Use By property.
{% endhint %}


# Set Up Holiday Hours Sets

{% hint style="warning" %}
Before adding holiday hours sets, verify the current user's time zone in contact center matches the time zone on the PC. To change the current user's time zone, select the username on the top right corner | My Settings | Time zone.
{% endhint %}

{% hint style="info" %}
If creating a holiday hours set that will be applied to a queue or IVR in another time zone, configure the holiday hours as if you are currently in that time zone. The offset will be automatically calculated when the holiday hours set and time zone are configured on the queue.
{% endhint %}

Navigate to Configuration | Holiday Hours Sets | Add

1. Add a Name and Description
2. Add or edit the time ranges. Each time range includes a start date and time, end date and time, and a description for the time range. The description can be the name of the holiday.

#### Assign to Queue

1. Navigate to Queues & IVRs | Queues | Select a Queue | Edit
2. Select Schedule tab.
3. Select timezone and holiday hours set(s).
4. Select the action for each holiday hours set. Prerequisites are required for Transfer to PSTN. See [Transfer to PSTN](/appendix/transfer-to-pstn)

#### Assign to IVR

See [Set Up IVR](/setup/set-up-voice-channel/setup-ivr#example-holiday-hours)

{% hint style="info" %}
You can see what queues and IVRs are utilizing a holiday hours set by editing the holiday hours set and expanding the In Use By property.
{% endhint %}


# Set Up Organization Units

Navigate to Administration | Organization Units

When a queue or IVR is created, an object with the same name is automatically created in organization units. These objects can be move to another OU by using the drag and drop method.

Additional root units can be created by selecting the Add root unit button

Sub-units can be created by right clicking a root unit or another sub-unit.

Each OU or queue can be assigned a [Call Settings Policy](/administration/call-settings-policies) (settings for calls) and members (users) with data access polices. [Data access polices](/administration/data-roles) determine what data a user can access.

If a user has permission to access data at a higher level in the organization tree, these permissions are inherited to lower OUs and queues.

For more details see: [Organizational Units](/administration/organizational-units)


# Set Up Wall boards

Navigate to Configuration | Wallboards | Add.

Give the wall board a name and a description. &#x20;

Select one or multiple queues and/or IVRs specify the order displayed.&#x20;

Select desired data columns and the order displayed. See [Wallboards](/reports/wallboards) for column details.

Select an OU where the wall board should be located. See [Organizational Units](/administration/organizational-units)

Choose a picture for your wallboard (optional).

The following columns are supported for IVRs:

* Live
* Longest waiting
* Interactionss
* Avg Handle
* Requested Callbacks

All columns are supported for queues.

{% hint style="info" %}
Wallboard are linked to an organization Unit. For a user to see a wallboard, they will need a data access policy assigned directly to the organization unit.
{% endhint %}

{% hint style="info" %}
The queue color shown on the wall board can be customized. Queues & IVRs | Select queue | Edit | Color
{% endhint %}


# Set Up Wrap-Up Question Set

{% hint style="info" %}
&#x20;A wrap-up question set can be presented to an agent in the agent panel after a call has been completed. The data collected from the wrap-up question set is presented as a report in the contact center portal. A wrap-up question set is assigned per queue.
{% endhint %}

1. Navigate to Configuration | Wrapup Questions | Create new wrap-up question set

You can create up to 10 questions per wrap-up question set. The answers for each question can be a static list, custom value entered by the agent, or a combination of both.

**Static list:** Enter answers separated by semicolons in the text field.

**Custom Value:** Check Accept Custom Value and leave the answer field blank.

**Combination:** Enter answers separated by semicolons and check Accept Custom Value. The agent can either select one of the prepopulated answers or enter a custom value.

&#x20;  2\.    Assign the wrap-up question set to a queue. See [Set up Queue](/setup/set-up-voice-channel/setup-service)


# Set Up Scheduled Reports

Scheduled reports is in [Preview](/appendix/feature-states).

Scheduled reports will email a report to licensed Landis Contact Center users at the specified time interval.

1. Create a schedule
   1. Navigate to Configuration | Schedules | Add

| Options     | Description                                                                                                |
| ----------- | ---------------------------------------------------------------------------------------------------------- |
| Name        | Name of Schedule                                                                                           |
| Description | Description of schedule (Optional)                                                                         |
| Timezone    | Timezone of schedule                                                                                       |
| Is enabled  | Enable or disable the schedule. If the schedule is disabled, any reports using this schedule will not run. |
| Schedule    | This determines how often a report is sent.                                                                |

Reports can be sent hourly, daily, weekly, or monthly. Select the tab of the desired time interval and configure the details. After configuring the desired time interval, confirm your selection by reviewing the schedule description above the editor and/or the next five occurrences below the editor.

If preferred, a CRON expression can be defined on the Advanced tab instead of using the above method.

2. Create a Scheduled Report
   1. Navigate to Configuration | Scheduled Reports | Add

| Options           | Description                                                                                                       |
| ----------------- | ----------------------------------------------------------------------------------------------------------------- |
| Name              | Name of schedule report.                                                                                          |
| Description       | Description of scheduled report (Optional)                                                                        |
| Select a report   | The report that will be generated as an email attachment                                                          |
| Select a schedule | The schedule selected will determine how often the report is generated                                            |
| Run As            | The user account that will be used to generate the report. Data access policies assigned to this user will apply. |
| Email Subject     | Subject of the email that includes the report                                                                     |
| Email Body        | Body of the email that includes the report                                                                        |
| Email Recipients  | Recipients of the report email. Report recipients are required to be a licensed user in Landis Contact Center.    |
| Report Parameters | Filters can be applied to the specified report. For example, a date range or specific queues.                     |

3. After saving the scheduled report, use the Send Report button to test sending the report.


# Set Up Workforce Management

Landis Contact Center integrates with [Peopleware](https://www.peopleware.com/) for workforce management capabilities. To enable the integration, please create a [support ticket](https://support.landis.cloud/).


# Install Teams App

1. Open Teams | Apps | Search and select Landis Contact Center | Add


# Failover Options

In the unlikely event of a contact center outage, we recommend failing over to Teams auto attendant(s) and/or Teams call queue(s). Each failover scenario may need to be engineered slightly different, but below are a few examples:

### Failover Landis Queue:

1. Create failover Teams queue in Teams admin center. Do not create a resource account or link an existing resource account to the failover Teams queue.

{% embed url="<https://docs.microsoft.com/en-us/microsoftteams/create-a-phone-system-call-queue>" %}

2\. Use the PowerShell script below to failover the existing resource account linked to the contact center queue to the failover Teams queue. The script will take you through a series of menu prompts will complete the failover configuration.

Use the script for the datacenter location of your Landis Contact Center organization.

{% tabs %}
{% tab title="North America" %}
[https://github.com/NA\_Failover\_Script.ps1](https://github.com/Claytonjmartin/LandisContactCenterScripts/blob/master/NA_Failover_Script.ps1)
{% endtab %}

{% tab title="EMEA" %}
[https://github.com/EMEA\_Failover\_Script.ps1](https://github.com/Claytonjmartin/LandisContactCenterScripts/blob/master/EMEA_Failover_Script.ps1)
{% endtab %}
{% endtabs %}

3\. To failback, use the above script and select the "Failback to Landis Contact Center" menu option.

### Failover Landis IVR:

1. Create failover Teams auto attendant in Teams admin center. Do not create a resource account or link an existing resource account to the failover Teams auto attendant.

{% embed url="<https://docs.microsoft.com/en-us/microsoftteams/create-a-phone-system-auto-attendant>" %}

2\. Use the PowerShell script below to failover the existing resource account linked to the contact center IVR to the failover Teams auto attendant. The script will take you through a series of menu prompts will complete the failover configuration.

Use the script for the datacenter location of your Landis Contact Center organization.

{% tabs %}
{% tab title="North America" %}
[https://github.com/NA\_Failover\_Script.ps1](https://github.com/Claytonjmartin/LandisContactCenterScripts/blob/master/NA_Failover_Script.ps1)
{% endtab %}

{% tab title="EMEA" %}
[https://github.com/EMEA\_Failover\_Script.ps1](https://github.com/Claytonjmartin/LandisContactCenterScripts/blob/master/EMEA_Failover_Script.ps1)
{% endtab %}
{% endtabs %}

3\. To failback, use the above script and select the "Failback to Landis Contact Center" menu option.

### Failover Landis IVR and Landis Queues linked to IVR:

1. &#x20;Create failover Teams queue(s) in Teams admin center. Create resource account(s) for the Teams queue(s) and link the resource account(s) to the Teams queue(s).

{% embed url="<https://docs.microsoft.com/en-us/microsoftteams/create-a-phone-system-call-queue>" %}

2\. Create failover Teams auto attendant in Teams admin center and configure the menu option(s) to transfer to the failover Teams queue(s). Do not create a resource account for the failover Teams auto attendant or link an existing resource account to the failover Teams auto attendant.

{% embed url="<https://docs.microsoft.com/en-us/microsoftteams/create-a-phone-system-auto-attendant>" %}

3\. Use the PowerShell script below to failover the existing resource account linked to the contact center IVR to the failover Teams auto attendant. The script will take you through a series of menu prompts will complete the failover configuration.

Use the script for the datacenter location of your Landis Contact Center organization.

{% tabs %}
{% tab title="North America" %}
[https://github.com/NA\_Failover\_Script.ps1](https://github.com/Claytonjmartin/LandisContactCenterScripts/blob/master/NA_Failover_Script.ps1)
{% endtab %}

{% tab title="EMEA" %}
[https://github.com/EMEA\_Failover\_Script.ps1](https://github.com/Claytonjmartin/LandisContactCenterScripts/blob/master/EMEA_Failover_Script.ps1)
{% endtab %}
{% endtabs %}

4\. To failback, use the above script and select the "Failback to Landis Contact Center" menu option to failback the resource account linked to the failover Teams auto attendant.


# Daily Usage


# Agent

a user that is primarily receiving calls


# Call handling

Queue calls will alert agent on all Teams endpoints. We recommend handling calls in the Teams desktop application or Landis Attendant Console.


# Transferring Calls

#### Recommended: Teams Desktop Application

See: <https://support.microsoft.com/en-us/office/transfer-a-call-in-teams-b7f40f14-e083-46b9-b739-68038c8f73a0>

{% hint style="info" %}
Because of Microsoft client limitations, transfer options may not be available on Teams handsets and mobile apps.
{% endhint %}

#### Landis Agent panel

{% hint style="info" %}
Due to Calling API limitation at this time, Call Transfer feature in the Landis Agent panel is not recommended for high volume of call transfers.
{% endhint %}

1\. Add Participant

2\. When transferree answers the agent can disconnect the call (in Teams).


# Chat Handling

Incoming chat notifications will be displayed as an adaptive card, allowing the agent to either accept or decline the chat. Once accepted, a new chat session will begin with the user who initiated the chat. To end the chat, the agent can click the End Chat button at the start of the chat thread.


# My Settings

#### Timezone

Avitar (top, right corner) | My settings | Timezone

Select the time zone for your location. This should be the same time zone that is configured on your computer.

#### Language

Language can be selected on the login window by selecting the appropriate flag.&#x20;

Alternatively, the language can be changed by selecting your Avitar (top, right corner) | My settings | Language

#### Profile Picture

Your profile photo can be added or changed by selecting your Avitar (top, right corner) | Change Profile Photo


# Agent Panel

The agent panel is where agents can view incoming calls, call controls, call pop data, and wrap-up questions. Agents can also sign in/out of queues and change their status.

A user can access the agent panel by browsing to <https://cc.landis.cloud> and selecting the agent panel button or by installing the Landis Contact Center app in Teams. We recommend popping out the agent panel when using the Teams app.

#### Change Agent Status

Select the avatar on the top right corner. This will open a panel on the right side | Under agent status, select an option on the drop-down menu. That status will immediately be applied after making a selection.

{% hint style="info" %}
An agent can check how long they've been in their current status by viewing the Total Time in Status timer below the Agent Status dropdown.
{% endhint %}

#### Sign into Queues

Select the avatar on the top right corner. This will open a panel on the right side | To the right of the queue name, toggle the switch to the right. To sign out of the queue, toggle the switch to the left. The changes will immediately be applied.

{% hint style="info" %}
This panel can be pinned to stay open. Select the aviator on the top right corner | click the thumb tack icon on the top right.
{% endhint %}

#### Complete Wrap-up&#x20;

If enabled on the queue, the wrap-up countdown timer will show the amount of time given complete the wrap-up.

If enabled on the queue, Wrap-up questions will automatically appear in a panel on the left side. Once the questions are answered, the finish button can be selected or wait until the panel automatically closes at the end of the wrap-up time period.

#### View Call Pop

If enabled on the queue, the call pop panel will appear on the right side when there is an incoming call alert and while connected to a call. This panel typically shows more information about the caller. It will automatically close at the end of the call.


# Supervisor / Manager

a user that is primarily supervising or managing other users


# Monitor Live Interactions

Live interactions can be monitored by selecting Live Status | Live Interactions or Queue Status | Select queue | Interactions tab.  The Supervisor can see call details by selecting the ![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FnhL2x6GGSwYs3FExJNlC%2Fimage.png?alt=media\&token=f9f4aa71-2d62-4a5c-983b-a0371e72a404) button on the Interaction record. The following actions can be performed on calls:

* [Call Barge](/daily-usage-personas/supervisor-manager/monitor-live-calls/call-barge)
* [Pick Call](/daily-usage-personas/supervisor-manager/monitor-live-calls/pick-call)
* [Listen In](/daily-usage-personas/supervisor-manager/monitor-live-calls/listen-in)
* [Whisper In](/daily-usage-personas/supervisor-manager/monitor-live-calls/whisper-in)

{% hint style="info" %}
If interactions do not appear in Live Interactions or Queue status, the user may not have a data access policy to view this data.  The same applies if the barge, listen in, whisper in, or call pick button does not appear on a call.
{% endhint %}


# Call Barge

Live Status | Queue status | Select queue | Interactions tab

Select a call that is currently connected to an agent. Select the Barge button. After a few seconds, an incoming Teams call should appear for the supervisor that selected the barge button. After answering, the supervisor will be a regular participant in the call and will be shown in the call roster.

{% hint style="info" %}
If calls do not appear in Live Interactions or Queue status, the user may not have a data access policy to view this data.  The same applies if the barge, listen in, whisper in, or pick button does not appear on a call.
{% endhint %}


# Pick Call

Live Status | Queue status | Select queue | Pick Call

Select a call that is waiting in queue. Select the Pick button. After a few seconds, an incoming Teams call should appear for the supervisor that selected the Pick button.

{% hint style="info" %}
If calls do not appear in Live Interactions or Queue status, the user may not have a data access policy to view this data.  The same applies if the barge, listen in, whisper in, or pick button does not appear on a call.
{% endhint %}


# Listen In

Live Status | Queue status | Select queue | Listen In

Select a call that is currently connected to an agent. Select the Listen In button. After a few seconds, an incoming Teams call should appear for the supervisor that selected the Listen In button. After answering, the supervisor can only listen to the call. From the agent and caller perspective, the supervisor is a hidden participant in the call roster.

{% hint style="info" %}
If calls do not appear in Live Interactions or Queue status, the user may not have a data access policy to view this data.  The same applies if the barge, listen in, whisper in, or pick button does not appear on a call.
{% endhint %}

{% hint style="warning" %}
Do not place the call on hold when using the listen in feature. When the call is retrieved, the listen in participant will become a normal participant in the call. This is due to a Microsoft limitation in the underlying APIs.
{% endhint %}


# Whisper In

Live Status | Queue status | Select queue | Whisper In

Select a call that is currently connected to an agent. Select the Whisper In button. After a few seconds, an incoming Teams call should appear for the supervisor that selected the Whisper In button. After answering, the supervisor can listen to the call and speak to the agent. From the agent and caller perspective, the supervisor is a hidden participant in the call roster.

{% hint style="info" %}
If calls do not appear in Live Interactions or Queue status, the user may not have a data access policy to view this data.  The same applies if the barge, listen in, whisper in, or pick button does not appear on a call.
{% endhint %}

{% hint style="warning" %}
Do not place the call on hold when using the whisper in feature. When the call is retrieved, the whisper in participant will become a normal participant in the call. This is due to a Microsoft limitation in the underlying APIs.
{% endhint %}


# Listen to Recordings

Navigate to Analytics & Reports | Recordings | select date range | expand a call in the report | select the play button.

{% hint style="info" %}
If there is no data in the report, the user may not have access to listen to recordings or the call may not have been recorded.
{% endhint %}


# Manage Agent Status

Navigate to Live Calls | Agent Status. A list of all agents will appear with a drop down to change an agent status.


# Manage Agent Queue Sign-ins

Navigate to Live Status | Queue Status | Select queue | Agents tab. The list of agent assigned to the queue will appear with the option to sign in/out agents.


# Quality Management

{% hint style="info" %}
Prerequisites: [Policy Call Recording](/setup/setup-policy-call-recording)

Optional: [Sentiment Analysis](/setup/set-up-sentiment-analysis)
{% endhint %}

Quality management (QM) is a way for organizations to monitor, evaluate, and improve how customer interactions are handled. Supervisors have the ability to score, tag, and make notes on an interaction.

An interaction can be scored in by selecting "View Score" option on the record context menu in the Recordings, Agent details, or IVR details report or by selecting "View Score" on the recordings tab in the Interaction Details report. A window will appear on the right with interaction details, including the recording and transcription. Only Interactions that have a recording or transcript can be scored.

Once quality management data is saved for an interaction, it will appear in the [Quality Management report](/reports/quality-management).

{% hint style="info" %}
If your user does not have the option to view, edit, or complete quality management records, you may lack the necessary permissions. See [Data Access Policies](/administration/data-roles)

If your user cannot access the Quality Management report, you may lack the necessary role permissions. See [Roles](/administration/roles)
{% endhint %}

| Option     | Description                                                                                                                                                                                                                                                              |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Score      | A numerical score that is given an interaction. This can be any range. Example 1-100                                                                                                                                                                                     |
| Notes      | Feedback related to the interaction. Example: Agent followed the correct greeting and verification process and demonstrated strong empathy when the caller expressed frustration about service delays. Issue was correctly identified and resolved on the first contact. |
| Tags       | Tags related to the interaction. Tags add structured meaning and metadata to a score. Once created, a tag is available globally for other interactions.                                                                                                                  |
| Save Edits | This will save any edits to the QM record.                                                                                                                                                                                                                               |
| Complete   | Once a QM record has been completed, it is no longer editable by any users.                                                                                                                                                                                              |


# Supervisor Alert

{% hint style="info" %}
Prerequisites: [Sentiment Analysis](/setup/set-up-sentiment-analysis)
{% endhint %}

When the average sentiment score of a live interaction falls below 0.5, a red triangle icon alert appears on the live interaction record, wallboard, and queue status page. This Supervisor alert indicates that a interaction is not proceeding well, potentially requiring supervisor intervention to address the issue and provide the necessary support. These alerts ensure that supervisors can quickly identify and manage negative sentiment situations.

To activate Supervisor alerts, ensure that Sentiment Analysis is enabled and functioning. Edit the Call setting policy(s) and select "Supervisor alerts enabled."


# Analytics & Reports


# Home

{% hint style="warning" %}
**Dashboard Transition:**

The Dashboard will replace the Home page. All future investments will now be accessible on the Dashboard, with the Home page in maintenance mode.
{% endhint %}

Navigate to Home

The reports below can be filtered by selecting date/time range and/or by organization units. These controls are located on the top right corner

| Column                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queue Interactions Chart  | This chart shows the total number of Interactions for your queues. This does not include direct calls. This chart can be helpful for seeing which queues are receiving the most or least Interactions. The number of interactions will vary depending on the filter you have selected in the upper right corner of the screen.                                                                                                     |
| In Out Chart              | This chart represents the total number of inbound and outbound Interactions in your organization. If you have recording enabled, all interactions are being tracked including direct inbound/outbound calls. The number of interactions will vary depending on the filter you have selected in the upper right corner of the screen.                                                                                               |
| Leaderboard               | This chart represents the agent with the largest Interaction count (Total Inbound Direct Calls + Total connected Interactions). The Average Handle Time is also displayed here. This can be helpful with getting an idea of which team member is handling the most interactions and finding their average handle time. The statistics will vary depending on the filter you have selected in the upper right corner of the screen. |
| Interactions By Day Chart | This chart represents the total number of Interactions in a day-by-day format. This gives you a snapshot of the volume in a given period. The statistics will vary depending on the filter you have selected in the upper right corner of the screen.                                                                                                                                                                              |

{% hint style="info" %}
If no data or not all data is shown on the charts, review the user's data access policies. See [Organization Units](/administration/organizational-units)
{% endhint %}


# Dashboard

Navigate to Dashboard

The dashboard page has customizable widgets that will allow a user to see summary reports at a glance.

Widgets can be added, removed, resized, and repositioned on the page. Each widget can be filtered by date and/or organization unit.

The page can be filtered by date/time range and/or by organization units. These controls are located on the top right corner. The page filters will not apply to widgets with custom filters.

| Widget                   | Description                                                                                                                                                                                                                                                                                                             |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queue Interactions Chart | This report shows the total number of Interactions for your queues. This does not include direct calls. This chart can be helpful for seeing which queues are receiving the most or least interactions.                                                                                                                 |
| In Out Chart             | This report represents the total number of inbound and outbound interactions by your organization. If you have recording enabled, all interactions are being tracked including direct inbound/outbound calls.                                                                                                           |
| Leaderboard              | This report represents the agent with the largest interaction count (Total Inbound Direct Calls + Total connected interactions). The Average Handle Time is also displayed here. This can be helpful with getting an idea of which team member is handling the most interactions and finding their average handle time. |
| Call By Day Chart        | This report represents the total number of interactions in a day-by-day format. This gives you a snapshot of the interaction volume in a given period.                                                                                                                                                                  |
| Callback Requested       | This report represents the total number of contacts that have requested a callback.                                                                                                                                                                                                                                     |
| Queue Summary            | This report displays queue information, including total count, Abandond count, and service level.                                                                                                                                                                                                                       |
| Agent Summary            | This report displays a visual representation of interactions handled by agents. More information can be found by hovering over a block.                                                                                                                                                                                 |

{% hint style="info" %}
If no data or not all data is shown on the charts, review the user's data access policies. See [Organization Units](/administration/organizational-units)
{% endhint %}


# Live Interactions

Navigate to Live Status | Live Interactions

View status of live interactions

For report options (e.g., edit columns), See [Report Options](/appendix/report-options)

| Column            | Description                                                                        | Real time or Load time |
| ----------------- | ---------------------------------------------------------------------------------- | ---------------------- |
| State             | Displays current status of interaction.                                            | Real time              |
| Direction         | Direction of interaction (Inbound/Outbound).                                       | Real time              |
| Start             | Start date/time of interaction.                                                    | Real time              |
| Contact Name      | Name of contact                                                                    | Real time              |
| Contact Id        | ID or Number of contact                                                            | Real time              |
| Status            | Displays current status of Interaction. (Excludes direct calls)                    | Real time              |
| Agent             | Name of agent that is either being alerted or is connected to interaction.         | Real time              |
| Queue/Team        | Name of Queue (If applicable)                                                      | Real time              |
| Length            | Total length of interaction                                                        | Real time              |
| Wait Time         | Total wait time in queue                                                           | Real time              |
| Average Sentiment | Current average sentiment for an interaction                                       | Real time              |
| Interaction Type  | Displays they type of interaction                                                  | Real time              |
| OU                | Displays the organization unit where the interaction detail record is stored.      | Real time              |
| OU Path           | Displays the organization unit path where the interaction detail record is stored. | Real time              |
| Scenario Id       | Unique interaction ID                                                              | Real time              |


# Queue Status

Navigate to Live Status | Queue Status

For report options (e.g., edit columns), See [Report Options](/appendix/report-options)

## Queue Overview

Displays total Interactions in queue, live interactions, and signed in agents.

| Column | Description                                                                                       | Real Time or Load Time |
| ------ | ------------------------------------------------------------------------------------------------- | ---------------------- |
| Queued | Total Interactions waiting in queue.                                                              | Real time              |
| Live   | Total interactions connected to agents                                                            | Real time              |
| Agents | Number (large) of agents currently signed into queue. Number (small) of agents assigned to queue. | Real time              |

## Agents Tab

Displays agent details from the selected queue.

{% hint style="info" %}
Hover over a user's avatar to view more information about the user, change their agent status, and access links to Agent Summary, Agent Details, and Agent Timeline.
{% endhint %}

| Column           | Description                                                                                                                       | Real Time or Load Time |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| Agent            | Display Name of Agent                                                                                                             | Load Time              |
| Agent Status     | Current agent status                                                                                                              | Real Time              |
| Client Connected | Displays if an agent has the agent panel open                                                                                     | Real Time              |
| Status Changed   | Time when agent last changed their agent status                                                                                   | Real Time              |
| Signed In        | Displays if an agent is signed in or out of the queue. Admin/manager can use this control to sign agent into or out of the queue. | Real Time              |

## Interactions Tab

Displays interaction details from the selected queue.

| Column            | Description                                                                        | Real time or Load time |
| ----------------- | ---------------------------------------------------------------------------------- | ---------------------- |
| State             | Displays current status of interaction.                                            | Real time              |
| Direction         | Direction of interaction (Inbound/Outbound).                                       | Real time              |
| Start             | Start date/time of interaction.                                                    | Real time              |
| Contact Name      | Name of contact                                                                    | Real time              |
| Contact Id        | Id or number of contact                                                            | Real time              |
| Status            | Displays current status of interaction. (Excludes direct calls)                    | Real time              |
| Agent             | Name of agent that is either being alerted or is connected to the interaction.     | Real time              |
| Queue/Team        | Name of Queue (If applicable)                                                      | Real time              |
| Length            | Total length of interaction                                                        | Real time              |
| Wait Time         | Total wait time in queue                                                           | Real time              |
| Average Sentiment | N/A                                                                                | N/A                    |
| Interaction Type  | Displays the type of interaction                                                   | Real time              |
| OU                | Displays the organization unit where the interaction detail record is stored.      | Real time              |
| OU Path           | Displays the organization unit path where the interaction detail record is stored. | Real time              |
| Scenario Id       | Unique interaction ID                                                              | Real time              |

## Links Tab

Links to drill down into detail reports for the selected queue.


# Agent Status

Navigate to Live Status | Agent Status

View current agent status

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

{% hint style="info" %}
Hover over a user's avatar to view more information about the user, change their agent status, and access links to Agent Summary, Agent Details, and Agent Timeline.
{% endhint %}

{% hint style="warning" %}
The data access policies of the logged-in user dictate which users appear in this report.  If the user has the appropriate role permissions, all users can be viewed by enabling View All Agents in the report filter.
{% endhint %}

| Column          | Description                                              | Real time or Load time |
| --------------- | -------------------------------------------------------- | ---------------------- |
| User            | Name of agent                                            | Load time              |
| Agent Status    | Displays the agent status (Available, Break, or Offline) | Load time              |
| Status Changed  | Time when agent last changed their agent status          | Real time              |
| Connected       | Displays if an agent has the agent panel open.           | Real time              |
| Connected Count | Number of Agent Panels agent has currently open.         | Real time              |


# Wallboards

Navigate to Wallboards | Select a wallboard

{% hint style="info" %}
Wallboards display data for today and will reset at midnight.
{% endhint %}

| Column              | Description                                                                      |
| ------------------- | -------------------------------------------------------------------------------- |
| In Queue            | Total number of interactions in Queue                                            |
| Ringing             | Number of interactions alerting an agent                                         |
| Live                | Number of interactions currently connected to an agent                           |
| Longest Waiting     | Time the longest waiting interaction has been waiting in queue                   |
| Service Level       | Percentage of interactions that have met the specified service level             |
| Agents Signed In    | Number of agents currently signed into the queue                                 |
| Agents Available    | Number of agents that are signed into the queue and in an available agent status |
| Interactions        | Total number of interactions for today                                           |
| Avg Handle          | Average handle time of interactions for today                                    |
| Abandoned           | Number of Abandoned interactions for today                                       |
| Requested Callbacks | Number of contacts that have requested a callback that have not been completed.  |


# Queue Summary

Navigate to Analytics & Reports | Queue Summary

Displays a summary of historical stats for each queue and a graph of inbound interaction count by day.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

The report footer displays totals for the columns.

| Column                                 | Description                                                                                                                                   |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| "..."                                  | Button that displays actions that can be performed on that record.                                                                            |
| Queue Name                             | Name of Queue                                                                                                                                 |
| Total Count                            | Total amount of interactions                                                                                                                  |
| Accepted Count                         | Total amount of interactions accepted by an agent                                                                                             |
| Unaccepted Count                       | Total amount of interactions that were not accepted by an agent.                                                                              |
| Abandoned Count                        | Total amount of Interactions where the contact disconnected when waiting in queue.                                                            |
| Abandoned Percent                      | Percentage of abandoned interactions from total interaction count.                                                                            |
| Timeout Count                          | Total amount of interactions that timed out in the queue.                                                                                     |
| Timeout With No Available Agents Count | Total amount of interactions that timed out immediately because no agents were either signed into the queue or had an available agent status. |
| Callbacks Count                        | Total amount of interactions that requested a call back                                                                                       |
| Breakout Count                         | Total amount of interactions that requested to breakout of the queue.                                                                         |
| Outside Business Hours Count           | Total amount of interactions that were outside business hours based on a business hours set assigned to the queue.                            |
| On Holiday Hours Count                 | Total amount of interactions that were during a holiday hours set assigned to the queue.                                                      |
| Service Level                          | Percentage of interactions that met the specified queue service level                                                                         |
| Average Handle Time                    | Average amount of time an agent and caller were connected.                                                                                    |
| Average Wait Time                      | Average amount of time a caller has waited in the queue before connecting with an agent                                                       |
| Average Wrapup Time                    | Average amount of time the agents have spend in wrapup.                                                                                       |
| Inbound Queue Count                    | Total inbound queue interactions                                                                                                              |
| Outbound Count                         | Total outbound queue interactions                                                                                                             |
| Requested Callbacks                    | Number of contacts that have requested a callback that have not been completed.                                                               |


# Agent Summary

Navigate to Analytics & Reports | Agent Summary

Displays a summary of agent stats.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

The report footer displays totals for the columns.

{% hint style="info" %}
Hover over a user's avatar to view more information about the user, change their agent status, and access links to Agent Summary, Agent Details, and Agent Timeline.
{% endhint %}

| Column                                           | Description                                                                                                                      |
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| "..."                                            | Button that displays actions that can be performed on that record.                                                               |
| Agent                                            | Name of Agent.                                                                                                                   |
| Total Inbound Interactions                       | Total amount of all inbound interactions.                                                                                        |
| Inbound Queue Interactions                       | Total amount of queue interactions.                                                                                              |
| Inbound Direct Interactions                      | Total amount of non queue interactions (direct calls or meetings).                                                               |
| Total Outbound Interactions                      | Total amount of outbound interactions.                                                                                           |
| Outbound Queue Interactions                      | Total amount of outbound queue interactions.                                                                                     |
| Outbound Direct Interactions                     | Total amount of outbound interactions.                                                                                           |
| Total Accepted Interactions                      | Total amount of queue interactions the agent has accepted.                                                                       |
| Total Missed Alerts                              | <p>Total amount of alerts from queue calls the agent has missed. There may be </p><p>multiple missed alerts per interaction.</p> |
| Total Missed Interactions                        | Total amount of interactions the agent has missed.                                                                               |
| Total Rejected Alerts                            | Total amount of alerts the agent has rejected using the reject button. There may be multiple rejected alerts per interaction.    |
| Total Rejected Interactions                      | Total amount of interactions the agent has rejected.                                                                             |
| Average Handle Time                              | Average amount of time the agent and caller were connected.                                                                      |
| Average Queue Handle Time                        | Average amount of time the agent and caller were connected on queue interactions                                                 |
| Average Direct Handle Time                       | Average amount of time the agent and caller were connected on direct interactions                                                |
| Total Handle Time                                | Total amount of time the agent was connected to a contact.                                                                       |
| Average Wrapup Time                              | Average amount of time the agent has spent in wrapup.                                                                            |
| Total Wrapup Time                                | Total amount of time the agent has spent in wrapup                                                                               |
| Total Queue Handle Time                          | Total amount of time the agent was connected to a contact on queue interactions.                                                 |
| Total Direct Handle Time                         | Total amount of time the agent was connected to a contact on direct interactions.                                                |
| Average Sentiment                                | Average sentiment for the agent.                                                                                                 |
| Total Time Agent Can Receive Calls               | Total time an agent is in an available agent status.                                                                             |
| Total Time Agent Cannot Receive Calls            | Total time an agent is in an unavailable agent status.                                                                           |
| Times Set to RONA                                | See [Reroute on No Answer (RONA)](/appendix/reroute-on-no-answer-rona#reporting)                                                 |
| Available, Off, Break, etc. agent status columns | Total time in each agent status                                                                                                  |


# IVR Summary

Navigate to Analytics & Reports | IVR Summary

Displays a summary of historical stats for each IVR.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

The report footer displays totals for the columns.

| Column              | Description                                                                                    |
| ------------------- | ---------------------------------------------------------------------------------------------- |
| "..."               | Button that displays actions that can be performed on that record.                             |
| IVR Name            | Name of IVR.                                                                                   |
| Total Count         | Total amount of interactions connected to IVR.                                                 |
| Transferred Count   | Total amount of interactions transferred out of the IVR.                                       |
| Transferred Percent | Percentage of interactions that were transferred out of the IVR from total interactions count. |
| Average Time In IVR | Average amount of time contacts spent inside the IVR.                                          |
| Requested Callbacks | Count of callbacks requested.                                                                  |


# Queue Details

Navigate to Analytics & Reports | Queue Details

Displays Queue detail records from the Queue perspective.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column                                 | Description                                                                                                                                            |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| "..."                                  | Button that displays actions that can be performed on that record.                                                                                     |
| Direction                              | Direction of call (Inbound/Outbound).                                                                                                                  |
| Start                                  | Start date/time of interaction.                                                                                                                        |
| End                                    | End date/time of interaction.                                                                                                                          |
| When                                   | Start time of interaction in relation to the current date/time.                                                                                        |
| Queue Name                             | Name of Queue                                                                                                                                          |
| Contact Name                           | Name of contact                                                                                                                                        |
| Contact Id                             | ID of contact                                                                                                                                          |
| Length                                 | Total interaction length (wait time plus handle time)                                                                                                  |
| Wait Time                              | Amount of time the contact has waited in the queue before connecting with the agent                                                                    |
| Handle Time                            | Amount of time the agent and contact were connected.                                                                                                   |
| Wrapup Time                            | Time the agent spent in wrapup                                                                                                                         |
| Agent Name                             | Name of agent that connected with the contact.                                                                                                         |
| From                                   | Displays if the interaction originated from an IVR or another Contact Center Queue.                                                                    |
| To                                     | Displays if the interaction was transferred to an IVR or another Contact Center Queue.                                                                 |
| Agent UPN                              | Agent user principle name.                                                                                                                             |
| Callback Requested                     | Displays if the contact requested a callback.                                                                                                          |
| Breakout Requested                     | Displays if the contact requested to breakout of the queue.                                                                                            |
| Timed Out                              | Displays if the interaction timed out in the queue.                                                                                                    |
| Queue Timeout With No Available Agents | Displays if the interaction immediately timed out because no agents were either signed into the queue or had their agent status in an available state. |
| Abandoned                              | Displays if the contact terminated the interaction before the interaction was connected to an agent or the interaction timed out.                      |
| Short Abandoned                        | Displays if the interaction was short abandoned                                                                                                        |
| Outside Business Hours                 | Displays if the interaction was outside of business hours.                                                                                             |
| On Holiday Hours                       | Displays if the interaction was during holiday hours                                                                                                   |
| Transfer Type                          | Timeout action taken.                                                                                                                                  |
| Service Level Achieved                 | Displays if the interaction met the specified queue service level.                                                                                     |
| OU                                     | Displays the organization unit where the interaction detail record is stored.                                                                          |
| Scenario Id                            | Unique Id of interaction                                                                                                                               |


# Agent Details

Navigate to Analytics & Reports | Agent Details

Displays agent detail records from the agent perspective. Data Access Policies control what CDR data users can view.&#x20;

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column                | Description                                                                                                                     |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| "..."                 | Button that displays actions that can be performed on that record.                                                              |
| Direction             | Direction of interaction (Inbound/Outbound).                                                                                    |
| Start                 | Start date/time of interaction.                                                                                                 |
| End                   | End date/time of interaction.                                                                                                   |
| When                  | Start time of interaction in relation to the current date/time.                                                                 |
| Contact Name          | Name of contact                                                                                                                 |
| Contact Id            | Id of contact                                                                                                                   |
| Length                | Total interaction length (ring time plus handle time)                                                                           |
| Ringing               | Amount of time the interaction was ringing the agent.                                                                           |
| Handle Time           | Amount of time the agent and contact were connected.                                                                            |
| Wrapup Time           | Amount of time the agent spent in wrapup.                                                                                       |
| OU                    | Displays the organization unit where the interaction detail record is stored.                                                   |
| Agent Name            | Name of agent that connected with the contact.                                                                                  |
| Missed                | Displays if the agent missed the interaction.                                                                                   |
| Short Missed          | Displays if the agent was alerted less than the queue alert timeout.                                                            |
| Rejected              | Displays if the agent rejected the interaction.                                                                                 |
| Is Direct Interaction | Displays if the interaction was a direct call.                                                                                  |
| Connected             | Displays if the contact was connected to the agent.                                                                             |
| Scenario Id           | Unique Id of interaction                                                                                                        |
| To                    | Displays where an agent transferred the call                                                                                    |
| Average Sentiment     | Average Sentiment for the call.                                                                                                 |
| Score Status          | Quality management score status.                                                                                                |
| Data Value 01-20      | Value populated in the IVR for these fields. See [Data Collection](https://cc.docs.landis.cloud/administration/data-collection) |


# IVR Details

Navigate to Analytics & Reports | IVR Details

Displays IVR detail records from the IVR perspective.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column             | Description                                                                         |
| ------------------ | ----------------------------------------------------------------------------------- |
| "..."              | Button that displays actions that can be performed on that record.                  |
| Direction          | Direction of interaction (Inbound/Outbound).                                        |
| Start              | Start date/time of interaction.                                                     |
| End                | End date/time of interaction.                                                       |
| When               | Start time of interaction in relation to the current date/time.                     |
| IVR Name           | Name of IVR.                                                                        |
| Contact Name       | Name of contact.                                                                    |
| Contact Id         | Id of contact.                                                                      |
| Length             | Length of time interaction was connected to IVR.                                    |
| To                 | Displays if the interaction was transferred to another IVR or Contact Center Queue. |
| Transfer Type      | Displays how the interaction was transferred out of the IVR.                        |
| From               | Displays if the interaction originated from another IVR or Contact Center Queue.    |
| OU                 | Displays the organization unit where the interaction detail record is stored.       |
| Scenario Id        | Unique Id of interaction                                                            |
| Callback Requested | Displays if the contact requested a callback.                                       |
| Score Status       | Quality management score status.                                                    |


# Recordings

Navigate to Analytics & Reports | Recordings

Displays a list of calls that were recorded. Recordings call be played from this report.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column                   | Description                                                                   |
| ------------------------ | ----------------------------------------------------------------------------- |
| "..."                    | Button that displays actions that can be performed on that record.            |
| Direction                | Direction of call (Inbound/Outbound).                                         |
| Start                    | Start date/time of call.                                                      |
| End                      | End date/time of call.                                                        |
| When                     | Start time of call in relation to the current date/time.                      |
| Caller Name              | Name of caller.                                                               |
| Caller Number            | Number of caller.                                                             |
| Callee Name              | Name of user that received the call.                                          |
| Callee Number            | Number of user that received the call.                                        |
| Length                   | Length of call/recording                                                      |
| OU                       | Displays the organization unit where the interaction detail record is stored. |
| Recording Mode           | Call setting policy recording mode that was configured for the OU object.     |
| Recorded User            | User principle name of recorded user.                                         |
| Recording File Reference | Recording folder and file name in Azure blob storage.                         |
| Recording                | Recording playback                                                            |
| Scenario Id              | Unique Id of interaction                                                      |
| Score Status             | Quality management score status.                                              |


# Abandoned Interactions

Navigate to Analytics & Reports | Abandoned Interactions

Displays a list of abandoned interaction details.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column               | Description                                                                                           |
| -------------------- | ----------------------------------------------------------------------------------------------------- |
| "..."                | Button that displays actions that can be performed on that record.                                    |
| Direction            | Direction of interaction (Inbound/Outbound).                                                          |
| Start                | Start date/time of interaction.                                                                       |
| End                  | End date/time of interaction.                                                                         |
| When                 | Approximate time difference between when the callback was created and now.                            |
| Callback             | Displays if the contact requested a callback. Agents can complete the callback by selecting the icon. |
| Callback Contact     | Callback phone number or UPN.                                                                         |
| Callback Description | Description of callback.                                                                              |
| Contact Name         | Name of contact.                                                                                      |
| Contact Id           | Id of contact.                                                                                        |
| Queue/IVR            | Name of Queue                                                                                         |
| Length               | Total length of interaction                                                                           |
| Wait Time            | Total time the interaction was waiting in queue                                                       |
| Leave Reason         | Reason why contact abandoned.                                                                         |
| OU                   | Displays the organization unit where the interaction detail record is stored.                         |
| OU Path              | Displays the organization unit path where the interaction detail record is stored.                    |
| Scenario Id          | Unique Id of interaction                                                                              |
| From                 | Displays if the interaction originated from another IVR or Contact Center Queue.                      |
| To                   | Displays if the interaction was transferred to another IVR or Contact Center Queue.                   |


# Queue Interactions by Hour

Navigate to Analytics & Reports | Queue Interactions By Hour

Displays a matrix of queue statistic by hour.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Row   | Description                                                                |
| ----- | -------------------------------------------------------------------------- |
| 00-23 | Hour Number. For example, 00 includes interactions from 12:00am to 12:59am |

| Column                                 | Description                                                                                                                             |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Total Count                            | Number of queue interactions                                                                                                            |
| Unaccepted Count                       | Number of unanswered interactions. Includes abandoned and timed out interactions.                                                       |
| Accepted Count                         | Number of interactions handled by an agent.                                                                                             |
| Abandoned Count                        | Number of interactions where the contact disconnected when waiting in queue.                                                            |
| Timeout Count                          | Number of interactions that timed out in the queue.                                                                                     |
| Timeout With No Available Agents Count | Number of interactions that timed out immediately because no agents were either signed into the queue or had an available agent status. |
| Callbacks Count                        | Number of interactions that requested a callback.                                                                                       |
| Breakout Count                         | Number of interactions that requested to breakout while waiting in queue.                                                               |
| Outside Business Hours Count           | Number of interactions that were outside business hours based on a business hours set assigned to the queue.                            |
| On Holiday Hours Count                 | Number of interactions that were during holidays based on the holiday hours set assigned to the queue.                                  |


# Agent Timeline

Navigate to Analytics & Reports | Agent Timeline | Filter button | select user and/or queue

This report outlines the agent status history, queue sign-in activity, interactions, and time spent in wrap-up by agents.

To zoom in on a specific time period, highlight the area with the mouse or use the scroll wheel.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

{% hint style="info" %}
More details can be seen by hovering over a bar in the timeline.
{% endhint %}


# Wrap Up Answers

Navigate to Analytics & Reports | Wrap-up Answers | Select a wrap-up question set

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column          | Description                                                                         |
| --------------- | ----------------------------------------------------------------------------------- |
| "..."           | Button that displays actions that can be performed on that record.                  |
| Start           | Start date/time of interaction.                                                     |
| End             | End date/time of interaction.                                                       |
| When            | Start time of interaction in relation to the current date/time.                     |
| Contact Name    | Name of contact                                                                     |
| Contact Id      | Id of contact                                                                       |
| Agent           | Name of agent that connected with the contact.                                      |
| Queue           | Name of Queue                                                                       |
| Wait Time       | Amount of time the contact has waited in the queue before connecting with the agent |
| Handle Time     | Amount of time the agent and contact were connected.                                |
| Question 1 - 10 | Question 1 - 10 Wrap-up answers                                                     |
| Scenario Id     | Unique Id of interaction.                                                           |


# Callback Requests

Navigate to Analytics & Reports | Callback Requests

Displays a list of callback requests.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column                     | Description                                                                                           |
| -------------------------- | ----------------------------------------------------------------------------------------------------- |
| "..."                      | Button that displays actions that can be performed on that record.                                    |
| Direction                  | Direction of interaction (Inbound/Outbound).                                                          |
| Start                      | Start date/time of interaction.                                                                       |
| End                        | End date/time of interaction.                                                                         |
| When                       | Approximate time difference between when the callback was created and now.                            |
| Callback                   | Displays if the contact requested a callback. Agents can complete the callback by selecting the icon. |
| Status                     | Current status of callback request.                                                                   |
| Callback Contact           | Callback phone number or UPN.                                                                         |
| Callback Description       | Description of callback.                                                                              |
| Callback Completed By User | The user that completed the callback.                                                                 |
| Date Callback Completed    | Date and time when the callback was completed.                                                        |
| Contact Name               | Name of contact.                                                                                      |
| Contact Id                 | Id of contact.                                                                                        |
| Queue/IVR                  | Name of Queue                                                                                         |
| Length                     | Total length of interaction                                                                           |
| Wait Time                  | Total time the interaction was waiting in queue                                                       |
| Leave Reason               | Reason why contact abandoned.                                                                         |
| OU                         | Displays the organization unit where the interaction detail record is stored.                         |
| OU Path                    | Displays the organization unit path where the interaction detail record is stored.                    |
| Scenario Id                | Unique Id of interaction                                                                              |
| From                       | Displays if the interaction originated from another IVR or Contact Center Queue.                      |
| To                         | Displays if the interaction was transferred to another IVR or Contact Center Queue.                   |


# Quality Management

Navigate to Analytics & Reports | Quality Management

Displays a list of interaction records that have been scored. See [Quality Management](/daily-usage-personas/supervisor-manager/quality-management)

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column         | Description                                                                          |
| -------------- | ------------------------------------------------------------------------------------ |
| Start          | Start date/time of interaction.                                                      |
| When           | Start time of interaction in relation to the current date/time.                      |
| OU             | Displays the organization unit where the interaction detail record is stored.        |
| Score          | A numerical score that is given an interaction. This can be any range. Example 1-100 |
| Score Status   | Status of score: Editing or Completed                                                |
| Completed By   | Name of user that completed the score record.                                        |
| Completed Date | Date when the score record was completed.                                            |
| Tags           | Tags related to the interaction.                                                     |
| Notes          | Feedback related to the interaction.                                                 |
| Scenario Id    | Unique Id of interaction                                                             |


# Data Collection Records

Navigate to Analytics & Reports | Data Collection Records | Select a Data Collection Set

Displays a list of IVR interactions with the associated data collection records.

For report options (e.g., filtering), See [Report Options](/appendix/report-options)

| Column                         | Description                                                                                       |
| ------------------------------ | ------------------------------------------------------------------------------------------------- |
| "..."                          | Button that displays actions that can be performed on that record.                                |
| Direction                      | Direction of interaction (Inbound/Outbound).                                                      |
| Start                          | Start date/time of interaction.                                                                   |
| End                            | End date/time of interaction.                                                                     |
| When                           | Start time of interaction in relation to the current date/time.                                   |
| IVR Name                       | Name of IVR.                                                                                      |
| Contact Name                   | Name of contact.                                                                                  |
| Contact Id                     | Id of contact.                                                                                    |
| Length                         | Length of time interaction was connected to IVR.                                                  |
| To                             | Displays if the interaction was transferred to another IVR or Contact Center Queue.               |
| Transfer Type                  | Displays how the interaction was transferred out of the IVR.                                      |
| From                           | Displays if the interaction originated from another IVR or Contact Center Queue.                  |
| OU                             | Displays the organization unit where the interaction detail record is stored.                     |
| Scenario Id                    | Unique Id of interaction                                                                          |
| Data Value 01 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 02 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 03 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 04 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 05 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 06 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 07 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 08 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 09 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 10 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 11 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 12 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 13 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 14 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 15 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 16 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 17 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 18 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 19 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| Data Value 20 or friendly name | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |


# Interaction Details

Navigate to Analytics & Reports | Interaction Details

This report displays detailed information about an interaction. This includes IVR, queue, and agent details and recordings.

Enter a scenario Id of an interaction in the search box and then press the enter key. Detailed interaction information will appear below.

For report options (e.g., edit columns), See [Report Options](/appendix/report-options)

{% hint style="info" %}
A interaction scenario Id can be found in IVR Details, Queue Details, or Agent Details reports by enabling the scenario Id column in the column chooser.
{% endhint %}

{% hint style="info" %}
A direct link can be created to display a specific interaction and tab. Use the following format: <https://cc.landis.cloud/app/main/call/> + Call scenario ID + # + Tab name

Tab options are calldetails, recordings, or ivrdetails

See example URL below:\
<https://cc.landis.cloud/app/main/call/56912e36-d9b3-4d08-b7e9-703f817038cb#recordings>
{% endhint %}

### Interaction Details

| Property                  | Description                                                        |
| ------------------------- | ------------------------------------------------------------------ |
| Start                     | Start date/time of interaction.                                    |
| End                       | End date/time of interaction.                                      |
| Length                    | Total interaction length                                           |
| Contact Name              | Name of contact                                                    |
| Contact Id                | Id of contact                                                      |
| Contact UPN               | Contact user principle name                                        |
| Scenario Id               | Unique Id of inteaction                                            |
| Interaction Entry Point   | What queue or IVR first connected to the interaction.              |
| Graph Analytics Requested | See [Graph Transfer Reporting](/appendix/graph-transfer-reporting) |

{% tabs %}
{% tab title="Interaction Handlers" %}
Interaction handlers are the objects that have participated in the handling of the interaction. This report is best viewed sorted by start time ascending.

| Column                   | Description                                                                                       |
| ------------------------ | ------------------------------------------------------------------------------------------------- |
| Direction                | Direction of interaction (Inbound/Outbound)                                                       |
| ParticipantAdId          | Entra ID object ID of contact                                                                     |
| Participant Name         | Name of contact                                                                                   |
| Participant UPN          | User principal name of contact                                                                    |
| Start                    | Start date/time of interaction                                                                    |
| End                      | End date/time of interaction                                                                      |
| Callback Contact         | Callback phone number or UPN.                                                                     |
| Callback Description     | Description of callback.                                                                          |
| Length                   | Total interaction length                                                                          |
| Wrapup Time              | Time the agent spent in wrapup                                                                    |
| Interaction Handler Type | The object (Participant, IVR, or Queue) that has participated in the handling of the interaction. |
| Sentiment Enabled        | Displays if Sentiment was enabled.                                                                |
| Connected                | Displays if the interaction was connected to an agent.                                            |
| Holding                  | Amount of time the contact has waited in the queue before connecting with the agent               |
| Ringing                  | Amount of time the interaction was alerting the agent.                                            |
| Recording File Reference | Recording folder and file name in Azure blob storage.                                             |
| Recording Mode           | Call setting policy recording mode that was configured for the OU object.                         |
| Leave Reason             | Why the interaction left the object                                                               |
| End Reason               | Why the interaction was disconnected from the object                                              |
| OU Path                  | Displays the organization unit where the interaction detail record is stored.                     |
| {% endtab %}             |                                                                                                   |

{% tab title="Recordings" %}
Recordings displays all recordings that are associated with the call.

Selecting a recording from the list will allows the recording to be played and displays the sentiment and transcription.

The transcription can be copied or downloaded by selecting the Copy Transcription or Download Transcription button.

| Column         | Description                                  |
| -------------- | -------------------------------------------- |
| Name           | Recorded user name                           |
| Start          | Start date/time of recording                 |
| Length         | Length of recording                          |
| Recording Mode | Recording mode that was applied to the call. |
|                |                                              |
| {% endtab %}   |                                              |

{% tab title="IVR Details" %}
IVR details displays IVR variables that have been initialized during the call.

| Column          | Description                                   |
| --------------- | --------------------------------------------- |
| IVR Name        | Name of the IVR that initialized the variable |
| Time            | Time the variable was initialized             |
| Block Name      | IVR Block that initialized the variable       |
| Parameter Name  | IVR variable name                             |
| Parameter Value | IVR variable contents                         |
| Block Type      | IVR Block Type that initialized the variable  |
| {% endtab %}    |                                               |
| {% endtabs %}   |                                               |


# Administration

Administrating and configuring contact center


# Call Settings Policies

Navigation: Administration | Call Setting Policies

The call setting policies are assigned to OU objects and control whether certain call features are enabled for calls that are associated with the OU object.

| Call Setting Policy Name    | Name of call setting policy                                                                                                                                                                            |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Description                 | Description of call setting policy (optional)                                                                                                                                                          |
| Default                     | If enabled, this call setting will be the default policy.                                                                                                                                              |
| Enable Sentiment            | Determines whether sentiment will be recorded for calls. Sentiment needs to be configured. See [Setup Sentiment Analysis](/setup/set-up-sentiment-analysis)                                            |
| Recording Mode              | Determines how or if calls will be recorded. Options: On Demand, Disabled, Always Record (Can Stop), Always Record (Can't Stop). See [Setup Policy Call Recording](/setup/setup-policy-call-recording) |
| Recording Options           | This setting will determine if recording is automatically started at the beginning of the specific types of calls. For more information, see [Recording Options Details](#recording-options-details)   |
| Speech Recognition Language | This setting should be the language spoken. This is used for speech to text and to evaluate sentiment.                                                                                                 |

#### Recording Options Details

* Recording Options do not apply when Recording Mode is set to Disabled or On Demand
* Recording Options apply if the recording mode is set to Always Record (Can Stop) or Always Record (Can't stop)
* If recording mode is set to Always Record (Can Stop):
  * Recording will automatically be started at the beginning of the types of calls that are selected.
  * All other calls the agent will have the ability to start the recording manually from the agent panel (On Demand).
* If recording mode is set to Always Record (Can't Stop):&#x20;
  * Recording will automatically be started at the beginning of the types of calls that are selected.
  * All other calls the agent will not have the ability to record (Disabled).
* The type of call is determined at the beginning of each call. If the call type changes during the call, the current recording status will not change.


# Copilot Agents

Copilot agents can be integrated into chat using the Copilot Agent block in an IVR.

Follow the steps below to setup the Copilot Agent.

#### Copilot Studio Agent Creation:

1. Create and configure a Copilot agent for your specific scenario <https://copilotstudio.microsoft.com/>
2. Topics tab | All filter | Select Escalate
3. Delete the Message block (second block)
4. Select the + (Add node) button below the Trigger block | Topic Management | Transfer conversation
5. Save
6. Agent settings | Security | Authentication | Select No Authentication
7. Agent settings | Security | Web channel security | Copy one of the secrets
8. Publish the Copilot Agent

#### Contact Center Configuration:

1. Contact Center | Configuration | Copilot Agents | Add
2. Give the Copilot Agent a name. Typically, this would match the name of the agent in Copilot Studio.
3. The Description field is optional.
4. Paste the secret copied in step 3 in the Direct Line Secret field.
5. Save

Now the Copilot agent will be listed as an option in the Copilot Agent block in the IVR.


# Data Access Policies

Navigate to Administration | Data Access Policies

These policies determine what data users can access. By default there are three policies: Admin, Manager, and Agent.

New Data Access Policies can be created by selecting the Create New Data Access Policy button.

Data Access policies can be assigned to Users. See [Organization Units](/administration/organizational-units)


# Data Collection

Data Collection can be used to collect data about an interaction in an IVR. This data can then be retrieved via queue call pop or viewed historically in the Data Collection Records report. The data collected is also sent in the IVR webhook.&#x20;

### Create Data Collection Set

Configuration | Data Collection Sets

Each data collection record has up to 20 fields that can be populated. By default, these fields are named Data Value 01, Data Value 02, Data Value 03, and so on. We recommend creating a Data Collection Set which gives the fields friendly names for better reference.

### Linking a Data Collection set to an IVR

Queues & IVRs | IVRs | Select an IVR to edit | Edit tab | Data Collection Set

After a data collection set has been selected, the friendly names will appear when selecting a data collection field to populate.

### Configuring an IVR to Populate Data Collection Fields

Queues & IVRs | IVRs | Select an IVR to edit | Designer tab

All IVR blocks that can create variables can also populate data collection fields using these variables. These blocks are DataDip, VoiceInput, Regex, and MultiTone.

Either add or edit one of the above blocks, select the Show Advanced option. A Data Value drop down will appear. One of the available data collection fields can be selected from the list. This will populate the field's value with the contents of the variable the block created.

The contents of default variables (Caller Number, Caller Name, and Scenario Id) can be assigned to a data collection field on the Root State block.

### Viewing the data collected

#### Queue Call Popup

Data collection values can be sent in the call popup URL by using default field names as placeholders enclosed in curly braces. For example: {datavalue01} or {datavalue02} etc. See [Call Popup](/appendix/call-popup)

#### Data Collection Records Report

See [Data Collection Records](/reports/data-collection-records)

#### IVR Webhook

See [Webhooks](https://cc.docs.landis.cloud/administration/pages/Sz0GRCF1rjfRbBmGDZcs#app.ivrwebhook)


# Direct Call Records Groups

Navigate to Configuration | Direct Call Records Groups

These group objects are where call record data from direct calls are stored if policy recording has been enabled for user. These group objects are located in an Organization Unit which can be assigned user permissions and  call setting policies. See [Organization Units](/administration/organizational-units)


# Organization Units

Navigation: Administration | Organization Units

Organization units allow policies to be assigned to queues in a folder structure. The members (users) and data access policies assigned to a queue will determine what data the users are allowed to access (e.g. recordings or interaction details). Call settings policies determine what features are available for a queue and direct calls (e.g. Recording or Sentiment).

The contact center service is created with the root organization unit (OU) "Default".  New root OUs can be created by selecting the Add Root Unit button. Sub-units can be created by selecting the Add Sub-Unit option in the right click menu of the parent OU. Queues can be moved between OUs by using the drag and drop method. Be aware that policies may change when moving a queue because of inheritance.

User data access policies can be assigned to an OU or queue by selecting the OU or queue and adding members(Users). Once the member has been added, a data access policy can be selected. See [Data Access Policies](/administration/data-roles)

A Call settings policy can be applied to an OU or queue by selecting the OU or queue and selecting the edit button in the Call Setting policy area. See [Call Setting Policies](/administration/call-settings-policies)

If a call setting policy or user data access policy is assigned to an OU, they are inherited to all queues in the OU. If a different policy is applied to an inherited object, the policy applied closest to the queue will take precedence.

{% hint style="info" %}
Wallboard are linked to an organization Unit. For a user to see a wallboard, they will need a data access policy assigned directly to the organization unit.
{% endhint %}

When a queue, IVR, or direct CDR group is deleted, the orphaned object will be automatically moved to the Deleted objects OU. Objects themselves cannot be deleted because interaction records are linked to objects.


# Queue and IVR Access Control

This feature allows an admin to customize the access each user has to view, edit, create, and delete queues and IVRs, and to apply that access specifically to each queue or IVR. To set up queue and IVR access control, follow the steps below:

#### Create and Assign a Role

1. Navigate to Administration | Roles. Create or edit an existing [role](/administration/roles) and add the appropriate permissions for IVR and Queue.  See screenshot below:

   <figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FYTEkJue6cFNRfSjFxb0a%2Fimage.png?alt=media&amp;token=a4d51126-aeec-416c-b486-21cdb9137612" alt="" width="322"><figcaption></figcaption></figure>
2. Navigate to Configuration | Users | Edit user | Roles Tab. Assign the role to the user(s) that need access to the queues and IVRs page.

#### Create and Assign a Data Access Policy

1. Navigate to Administration | Data Access Policies. Create or edit a [data access policy](/administration/data-roles) and add the appropriate access permissions for IVRs and Queues. See screenshot below:

   <figure><img src="https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lm5wszNs6c24n4NZ30U%2Fuploads%2FgyTtB9yUOs32XnzvvtiT%2Fimage.png?alt=media&amp;token=4d8de255-95c3-45e3-b987-e994ed49bf88" alt="" width="337"><figcaption></figcaption></figure>
2. Navigate to Administration | Organization Units | Select the appropriate queue or IVR object or organization unit that you would like to give access | Select Add member | Select the user(s) | Select the data access policy configured in step 3. | save.
3. The user(s) should now be able to see and access only the queues and IVRs that match their data access policy permissions.

{% hint style="info" %}
If a user is granted a data access policy assigned to an OU, permissions are inherited to all objects in the OU.
{% endhint %}

{% hint style="info" %}
Create permissions are required to be assigned to an OU. This will allow the user to create a queue or IVR in this OU.
{% endhint %}


# Roles

Navigate to Administration | Roles

Roles are groups of permissions to allow or disallow users to access specific parts of contact center.

{% hint style="info" %}
Roles do not give access to IVR or queue data. See [Data Access Policies](/administration/data-roles)
{% endhint %}

Default roles are Admin, Manager, and User.  These default roles can be customized.

A role can be assigned as the default role that is assigned to new users.


# Settings

Global contact center service settings

Navigate to Administration | Settings

### General

| Setting                                   | Description                                  |
| ----------------------------------------- | -------------------------------------------- |
| Timezone                                  | Default Timezone for all users               |
| Grant Permissions to Remote Media         | Enables queues and IVRs                      |
| Grant Permissions to Local Media          | Enables recording and sentiment.             |
| Grant Permissions to the Teams Config Api | Enables creation of Teams resource accounts. |

### User Management

| Setting                                               | Description                                                                                                       |
| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Allow Users to register to the system                 | If this is disabled, users can only be added by the admin.                                                        |
| New registered users are active by default            | If this is disabled, new users will not be active (and can not login) until admin manually activates the account. |
| Use Security image question (captcha) on registration |                                                                                                                   |
| Cookie consent enabled                                |                                                                                                                   |
| Email confirmation required for login                 |                                                                                                                   |

### Security

| Setting             | Description                                                |
| ------------------- | ---------------------------------------------------------- |
| Password Complexity | Options to configure password policy                       |
| User Lock Out       | Options to configure user lockout on failed login attempts |

### Invoice Information

| Setting    | Description |
| ---------- | ----------- |
| Legal Name | N/A         |
| Address    | N/A         |
| Tax/VatNo  | N/A         |

### External Services

| Setting                            | Description                                                                            |
| ---------------------------------- | -------------------------------------------------------------------------------------- |
| Microsoft Azure Cognitive Services | See [Microsoft Azure Cognitive Services](/appendix/microsoft-azure-cognitive-services) |
| Recording Storage Location         | See [External Recording Storage](/appendix/external-recording-storage)                 |
| Teams API Service Account          | See [Teams API Service Account](/appendix/teams-api-service-account)                   |
| Presence API                       | See [Presence API Service Account](/appendix/presence-api-service-account)             |

### Other Settings

| Setting                                                                       | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Hide bot on a call's participant list                                         | When this setting is enabled, an agent answering a queue call will not see the queue bot as a participant in the call.                                                                                                                                                                                                                                                                                                                                                                                                              |
| Allow agents to receive queue calls while connected to a direct recorded call | When this setting is enabled, recorded direct calls (direct inbound/outbound PSTN calls, peer to peer Teams calls, Teams meetings) will not affect queue call routing. In other words, queue calls will still route to agents that are connected to direct calls that are being recorded.  **Known limitations:** 1. If a queue call is answered when connected to a direct call, the agent panel will not update with the queue call information. 2. Queues with Toast alert method will not display the alert in the agent panel. |
| Disable Short Missed Alerts                                                   | Short Missed Alerts are interactions that are missed after alerting an agent for less than the configured queue Alert Timeout. These alerts are excluded from missed alert calculations in summary reports. **Enabling this setting will mark all alerts as missed regardless of how long the agent was alerted.**                                                                                                                                                                                                                  |
|                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |


# Users

This is where you enabled Azure AD users for contact center.

Navigate to Configuration | Users | Edit

{% tabs %}
{% tab title="User Information" %}

| Setting               | Description                                                                       |
| --------------------- | --------------------------------------------------------------------------------- |
| Name                  | Name of user                                                                      |
| Surname               | Surname of user                                                                   |
| Email Address         | Email address of user                                                             |
| Phone Number          | Phone number of user                                                              |
| Username              | Username of user                                                                  |
| Public display name   | Agent's name displayed to external chat users                                     |
| Send Activation Email | Sends contact center activation email to user                                     |
| Active                | If enabled, user can log into Contact center.  If disabled, user is denied access |
| Lockout enabled       | Enables password lockout policy                                                   |
| {% endtab %}          |                                                                                   |

{% tab title="Roles" %}
Default roles are Admin, Manager, and User.  The role specifies what part of the application the user can access. See [Roles](/administration/roles)

{% hint style="info" %}
Additional roles can be created to suite your particular needs.
{% endhint %}
{% endtab %}

{% tab title="Contact Center Settings" %}

| Settings                   | Description                                                                                                                         |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Direct Call Records Groups | Object where the users direct call records are stored. See [Direct Call Records Groups](/administration/direct-call-records-groups) |
| {% endtab %}               |                                                                                                                                     |

{% tab title="Queues" %}
Select the checkbox beside a queue to assign the user as an agent for that queue. A user can be assigned to multiple queues.

Skills queues will not be available to assign to the user in this list. Use the skills tab.
{% endtab %}

{% tab title="Skills" %}
See [Skills based Routing](/appendix/skills-based-routing)
{% endtab %}

{% tab title="Organization Units" %}
View OU permissions for the user. See [Organization Units](/administration/organizational-units)
{% endtab %}
{% endtabs %}


# User Templates

Navigate to Administration | User Templates

User Templates provide a way to apply a standardized set of Contact Center settings to one or more users or groups of users. When a template is assigned, the configured settings are applied to the selected users. If a template is assigned to users who are not already part of the Contact Center, they are automatically added as users and the template settings are applied.

User templates are applied as a point-in-time action. Changes made to a template after it has been applied are not automatically propagated to users who previously received the template. To apply updated template settings, the template must be reapplied to the affected users.

When a template is assigned to a group, it is only applied to the users who are members of that group when it is applied. If new users are added to the group later, the template must be reapplied to the group for the new users to receive the template settings.

{% hint style="warning" %}
Applying a user template to a group may require additional permissions. If you are not able to apply a user template to a group, a M365 global admin should grant the required permissions. Navigate to Administration | settings | General. Click on the text "Permissions are granted to Remote Media" and then select the button "Re-Grant Permissions". Alternatively, you can use the [Landis Contact Center - Platform link](/appendix/integration-permissions#landis-contact-center-platform) to regrant permissions
{% endhint %}

#### Create New User Template

Navigate to Administration | User Templates | Add

Select the Enabled check box beside each of the settings to apply to users. Now configure each of the settings.

| Setting                    | Description                                                                                                                                                                                                                                      |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Name                       | Name of user template                                                                                                                                                                                                                            |
| Description                | This is an area to describe this object in more detail.                                                                                                                                                                                          |
| Public Display Name        | Agent's name displayed to external chat users                                                                                                                                                                                                    |
| Roles                      | The role specifies what part of the application the user can access. See [Roles](/administration/roles)                                                                                                                                          |
| Direct Call Records Groups | Object where the users direct call records are stored. See [Direct Call Records Groups](/administration/direct-call-records-groups)                                                                                                              |
| Queues                     | <p>Select the checkbox beside a queue to assign the user as an agent for that queue. A user can be assigned to multiple queues.</p><p>Skills queues will not be available to assign to the user in this list. Use the skills settings below.</p> |
| Skills                     | See [Skills based routing](/appendix/skills-based-routing)                                                                                                                                                                                       |
| Organization Units         | OU permissions for the user. See [Organization Units](/administration/organizational-units)                                                                                                                                                      |

#### Apply User Template

Navigate to Administration | User Templates | Select a user template | Apply

Search and select users and/or groups and move them to the selected column | Continue

Review your selection | Apply User Template | Select Yes on the confirmation window


# Webhooks

Navigate to Administration | Webhooks | Add

Webhooks have the ability to send an HTTP POST request to a URL. The HTTP POST body includes CDR data and can be used to trigger an action or populate an external database.

### Webhook Subscription Properties

| Webhook Endpoint           | HTTP POST URL                                                                    |
| -------------------------- | -------------------------------------------------------------------------------- |
| Is Active                  | Enables or Disables the Webhook                                                  |
| Webhook Events             | Types of webhook events to send. See [Webhook Event Types](#webhook-event-types) |
| Additional Webhook Headers | Custom Headers to send in the HTTP POST (Optional)                               |

### Webhook Event Types

#### App.TestWebhook

This webhook type is used for testing purposes only. The webhook is triggered by selecting the Send Test Webhook button.

#### App.QueueWebhook

This webhook type sends CDR data that is generated from contact center queues. The webhook is triggered after a queue interaction has been ended.

| Property                | Description                                                                                               |
| ----------------------- | --------------------------------------------------------------------------------------------------------- |
| CallId                  | Internal unique interaction Id                                                                            |
| ScenarioId              | Unique interaction Id                                                                                     |
| CallDirection           | Direction of interaction (Inbound/Outbound)                                                               |
| CallerName              | Name of contact                                                                                           |
| CallerAdId              | Entra ID object ID of contact                                                                             |
| CallerUpn               | User principal name of contact                                                                            |
| CallerNumber            | Phone number of interaction                                                                               |
| StartDateTime           | Start date/time of interaction                                                                            |
| EndDateTime             | End date/time of interaction                                                                              |
| CallLength              | Total interaction length (wait time plus handle time)                                                     |
| WaitTime                | Amount of time the contact has waited in the queue before connecting with the agent                       |
| TalkTime                | Amount of time the agent and contact were connected                                                       |
| QueueId                 | Internal Queue ID                                                                                         |
| QueueName               | Name of queue                                                                                             |
| ResourceAccountObjectId | Value will always be "Null". Property added for future feature.                                           |
| OUPath                  | Organization unit path of the call detail record                                                          |
| ParentId                | Internal ID of the parent record                                                                          |
| From                    | The name of the IVR or Contact Center Queue that the interaction was transferred from                     |
| MetServiceLevel         | Did the interaction that met the specified queue service level (True/False)                               |
| AgentName               | Name of agent that connected with the contact                                                             |
| AgentUpn                | User principal name of the agent                                                                          |
| AgentId                 | Internal Agent ID                                                                                         |
| AgentAdId               | Entra ID object ID of agent                                                                               |
| CallbackRequestId       | Internal ID of callback request                                                                           |
| LeaveReason             | Reason why the contact disconnected from the queue                                                        |
| TransferType            | Timeout action taken                                                                                      |
| TransferToId            | ID of the endpoint that the queue transferred to                                                          |
| TransferToName          | The name of the endpoint that the queue transferred to. This could be a user, queue, IVR, or PSTN number. |

#### App.IvrWebhook

This webhook type sends CDR data that is generated from contact center IVRs. The webhook is triggered after an IVR interaction has been ended.

| Property                | Description                                                                                       |
| ----------------------- | ------------------------------------------------------------------------------------------------- |
| CallId                  | Internal unique interaction Id                                                                    |
| ScenarioId              | Unique interaction Id                                                                             |
| CallDirection           | Direction of interaction (Inbound/Outbound)                                                       |
| CallerName              | Name of Contact                                                                                   |
| CallerAdId              | Entra ID object ID of contact                                                                     |
| CallerUpn               | User principal name of contact                                                                    |
| CallerNumber            | Phone number of contact                                                                           |
| StartDateTime           | Start date/time of interaction                                                                    |
| EndDateTime             | End date/time of interaction                                                                      |
| CallLength              | Total interaction length (wait time plus handle time)                                             |
| IvrId                   | Internal IVR ID                                                                                   |
| IvrName                 | Name of IVR                                                                                       |
| ResourceAccountObjectId | Value will always be "Null". Property added for future feature.                                   |
| OUPath                  | Organization unit path of the call detail record                                                  |
| ParentId                | Internal ID of the parent record                                                                  |
| From                    | The name of the IVR or Contact Center Queue that the call was transferred from                    |
| TransferType            | Type of Transfer                                                                                  |
| TrasnferToId            | Transfer destination ID                                                                           |
| TransferToName          | Transfer desination Name                                                                          |
| IvrInputs               | An array of input data that was collected in the IVR. See properties below:                       |
| ID                      | Internal Input ID                                                                                 |
| InputDateTime           | Time of Input                                                                                     |
| BlockName               | Name of block that collected the data                                                             |
| ParameterName           | Parameter/variable name                                                                           |
| ParameterValue          | Contents of Parameter/variable                                                                    |
| BlockType               | Type of block that collected the data                                                             |
| DataValue01             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue02             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue03             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue04             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue05             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue06             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue07             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue08             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue09             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue10             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue11             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue12             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue13             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue14             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue15             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue16             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue17             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue18             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue19             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |
| DataValue20             | Value populated in the IVR for this field. See [Data Collection](/administration/data-collection) |

#### App.AgentWebhook

This webhook type sends CDR data that is generated from agents. The webhook is triggered after an interaction has been ended.

| Property              | Description                                                                              |
| --------------------- | ---------------------------------------------------------------------------------------- |
| CallId                | Internal unique interaction Id                                                           |
| ScenarioId            | Unique interaction Id                                                                    |
| CallDirection         | Direction of interaction (Inbound/Outbound)                                              |
| CallerName            | Name of Contact                                                                          |
| CallerAdId            | Entra ID object ID of contact                                                            |
| CallerUpn             | User principal name of contact                                                           |
| CallerNumber          | Phone number of contact                                                                  |
| StartDateTime         | Start date/time of interaction                                                           |
| EndDateTime           | End date/time of interaction                                                             |
| CallLength            | Total interaction length (wait time plus handle time)                                    |
| AgentName             | Name of agent that connected with the contact                                            |
| AgentUpn              | User principal name of the agent                                                         |
| AgentId               | Internal Agent ID                                                                        |
| AgentAdId             | Entra ID object ID of agent                                                              |
| InteractionObjectId   | Internal queue or IVR ID                                                                 |
| InteractionObjectName | Name of queue or IVR                                                                     |
| OUPath                | Organization unit path of the interaction detail record                                  |
| ParentId              | Internal ID of the parent record                                                         |
| AverageSentimentScore | Average Sentiment Score of the interaction.                                              |
| CallState             | How the agent interacted with the interaction. Examples: connected, missed, or rejected. |
| IsDirectCall          | Was this a direct call. (True/False)                                                     |
| WrapupTime            | Time the agent spent in wrapup                                                           |
| WrapupData            | An array of data that was collected in the wrapup question set. See properties below:    |
| QuestionId            | Internal ID of the question                                                              |
| Order                 | Order the questions were presented                                                       |
| Question              | Wrapup question                                                                          |
| Answer                | Wrapup question answer                                                                   |

#### App.RecordingWebhook

This webhook type sends CDR data that is generated from recordings. The webhook is triggered after a recorded call has been ended.

| Property          | Description                                                                                  |
| ----------------- | -------------------------------------------------------------------------------------------- |
| CallId            | Internal unique interaction Id                                                               |
| ScenarioId        | Unique interaction Id                                                                        |
| StartDateTime     | Start date/time of interaction                                                               |
| EndDateTime       | End date/time of interaction                                                                 |
| CallDirection     | Direction of interaction (Inbound/Outbound)                                                  |
| CallLength        | Total interaction length (wait time plus handle time)                                        |
| CallerName        | Name of Contact                                                                              |
| CallerAdId        | Entra ID object ID of contact                                                                |
| CallerNumber      | Phone number of contact                                                                      |
| CallerUpn         | User principal name of contact                                                               |
| CalleeName        | Name of Callee                                                                               |
| CalleeAdId        | Entra ID object ID of callee                                                                 |
| CalleeUpn         | User principal name of callee                                                                |
| CalleeNumber      | Phone number of callee                                                                       |
| OuPath            | Organization unit path of the call detail record                                             |
| RecordingFileName | Name of recording file in blob storage                                                       |
| RecordingMode     | Recording mode that was applied to the call                                                  |
| RecordedUserName  | Name of user that was recorded                                                               |
| RecordedUserUpn   | User principal name of the user that was recorded                                            |
| RecordedUserAdId  | Entra ID object ID of the user that was recorded                                             |
| Transcription     | An array of Transcription phrases that were collected during the call. See properties below: |
| ParticipantId     | Id of participant. Refer to participants list.                                               |
| SentimentScore    | Sentiment score of the phrase                                                                |
| Phrase            | Transcription phrase                                                                         |
| CreationTime      | Time when the transcription phrase was created.                                              |
| Participants      | Participants in call.                                                                        |
| Id                | Id of participant.                                                                           |
| Name              | Name of participant.                                                                         |
| EntraId           | Entra object Id of participant (if available).                                               |

### Webhook History

Administration | Webhooks | Select webhook subscription | View Webhook Send Attempts

Webhook subscription send attempts show the historical attempts to send the HTTP request to the webhook endpoint URL.

### Troubleshooting Webhooks

The Test webhook can be triggered manually for testing purposes. First, add the App.TestWebhook event to a Webhook Subscription. Then on the main webhook page, select the Send Test Webhook button.

If a webhook subscription is failing, you can resend a webhook request by browsing to Administration | Webhooks | Select webhook subscription | View Webhook Send Attempts | Resend


# Maintenance


# Delete Stuck Live Calls

Sometimes calls may become stuck due to unexpected events. To clear these calls:

Navigate to Contact Center Live Status | Live Calls

Select the appropriate call and click Complete Call.

{% hint style="warning" %}
Users will need the "Complete Call" permission in a data access policy assigned to the queue.
{% endhint %}


# Retrieve Stuck Live Calls

Sometimes calls do not alert agents due to unexpected events. To retrieve these calls:

Navigate to Contact Center Live Status | Live Calls

Select the appropriate call and click Force Pick Call. The call will be sent to the user selecting the pick call button using the alert method of the queue.

{% hint style="warning" %}
Users will need the "Force Pick Call" permission in a data access policy assigned to the queue.
{% endhint %}


# Delete Stuck Agent Panel Calls

Sometimes a call may become stuck in the agent panel due to unexpected events. To clear a call:

Navigate to Configuration | Users | Select the affected agent | Select clear agent panel button


# Diagnostics

Navigate to Administration | Diagnostics

{% hint style="info" %}
The Diagnostics page only applies to voice channels.
{% endhint %}

This page can be used to troubleshoot why queue calls are not functioning properly and why an individual agent is not being alerted.

Select a queue. Once a queue has been selected, an agent can also be selected. Any fields with a red X could potentially be causing problems.

Queue Info:

| Column         | Description                                                                                     |
| -------------- | ----------------------------------------------------------------------------------------------- |
| Alert Timeout  | Displays the alert timeout in seconds. Minimum should be 10 seconds when using toast alerts.    |
| Queue Timeout  | Displays Queue timeout in seconds and the next action (if enabled).                             |
| Routing Type   | Displays routing type. See [Routing Type](/appendix/routing-type)                               |
| Alert Type     | Displays alert type. See [Alerting Type](/appendix/alerting-type)                               |
| Has Agents     | Displays if there are agents assigned to the queue                                              |
| Business hours | Displays business hours configuration. If showing red X, the current time is off hours.         |
| Holiday Hours  | Displays if holiday hours are configured. If showing red X, the current time is during holiday. |

Agent Info:

| Column                     | Description                                                                                                                                                        |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Agent panel open           | Displays if the agent has the agent panel open                                                                                                                     |
| Agent Status               | Displays current agent status. If showing red X, the status does not allow agent to receive call alerts.                                                           |
| Member of this Queue?      | Displays if the agent is a member of the selected queue.                                                                                                           |
| Queue Sign-in State        | Displays if the agent is currently signed into the selected queue.                                                                                                 |
| Signed into Skills Routing | Displays if the agent is currently signed into skills routing.                                                                                                     |
| Presence                   | Displays current Teams presence. (If queue is enabled for Teams presence based routing) See [Teams Presence Based Routing](/appendix/teams-presence-based-routing) |
| Any Current Alerts?        | Displays if the agent has any current call alerts.                                                                                                                 |
| Any Current Calls?         | Displays if the agent is currently in a call.                                                                                                                      |
| Any wrap-up Calls?         | Displays if the agent is currently in a wrap-up state.                                                                                                             |


# Audit Logs

Navigate to Administration | Audit Logs

Audit logs record all API interactions from the portal.

Audit logs are retained for 90 days.

### Audit Log Detail

#### User Information:

|            |                                            |
| ---------- | ------------------------------------------ |
| User name  | Name of user initiating request            |
| IP Address | Public IP address of client making request |
| Client     | N/A                                        |
| Browser    | Browser information of requester           |

#### Action Information

|            |                      |
| ---------- | -------------------- |
| Service    | Service Name         |
| Action     | Action or API name   |
| Time       | Time of the request  |
| Duration   | Duration of request  |
| Parameters | Data sent in request |

#### Custom Data

N/A

#### Error State

Displays if the request was successful or if there was an error returned.


# Appendix


# Agent Status Profiles

Agent statuses can be selected by agents on the agent panel to specify their current status. Available, Break, and Off are created by default. Each status can be configured to allow interaction or not allow interactions when the agent has selected the status. Custom statuses can also be created.&#x20;

Historical reports of agent status can be found on the [Agent timeline report](/reports/agent-timeline).

Total time in a specific status can be found in the Agent Summary report. If not shown, you may need to toggle on the status columns.

| Column                   | Description                                                                   |
| ------------------------ | ----------------------------------------------------------------------------- |
| Name                     | Name of agent status                                                          |
| Description              | Description of agent status                                                   |
| Display Order            | Order of agent statuses listed on the agent panel.                            |
| Can Receive Interactions | Determines if interactions are routed to an agent when the status is selected |
| Default                  | Sets the default status when new users are created                            |
| RONA                     | See [Reroute on No Answer (RONA)](/appendix/reroute-on-no-answer-rona)        |


# App Service Information

App Service Data Handling, Security, Compliance, Privacy & Identity information.

See [App Service information](https://learn.microsoft.com/en-us/microsoft-365-app-certification/teams/landis-technologies-llc-contact-center?pivots=general)


# Audio Prompts

Navigate to Configuration | Audio Prompts

Audio prompts can be created by uploading a [specify formatted Audio file](/appendix/audio-prompts/audiofiles) or by using text to speech. Once created, these prompts can be used in any queue or IVR.

To create a new audio prompt, click Add.

| Option            | Description                              |
| ----------------- | ---------------------------------------- |
| Name              | Name of audio prompt                     |
| Description       | Description of Audio prompt              |
| Audio Prompt Text | Text of audio prompt                     |
| Audio Prompt Type | Select either Uploaded or Text-To-Speech |

#### Text to Speech Options:

| Option                  | Description                             |
| ----------------------- | --------------------------------------- |
| Text-to-Speech Language | Select language of the text-to-speech   |
| Text-to-Speech Voice    | Select voice of the text-to-speech      |
| Text-To-Speech Text     | Enter text to generate an audio prompt. |

#### Upload Options

| Option              | Description                        |
| ------------------- | ---------------------------------- |
| Upload Audio Prompt | Select local audio file to upload. |

#### In Use By

This option displays the queues and IVRs that are currently utilizing the auto prompt.


# Audio Files

Prompts and music on hold forms

The below is the required audio file format

* 16000 Hz
* 16-bit PCM WAV
* Mono

If using Audacity, use the settings below:

Create your recording in Mono.

Change the project rate to 16000 Hz. See below:

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm5wszNs6c24n4NZ30U%2F-LtVJo69ydU-h54CuSgS%2F-LtVKHnFsx-Cex7RrgNE%2F2019-11-12%2010_47_06-.png?alt=media\&token=91ff1046-8bfa-4357-8785-857c0cd6703f)

Export audio file as WAV signed 16-bit PCM. See below:

![](https://1039569329-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm5wszNs6c24n4NZ30U%2F-LtVLc9BTN9NSSVzYICG%2F-LtVMPbhsP_1H6JFnumh%2F2019-11-12%2011_05_09-speech-old1.png?alt=media\&token=098d1b6e-5b67-41fe-b601-be49a71377ec)


# Call Pop

When a new call is presented to an agent, a web page can be shown in the contact center agent panel or in a new browser tab. This web page can be populated with contact specific information. The URL and where the page is displayed can be configured in the queue setup under the [Integrations](/setup/set-up-voice-channel/setup-service#integrations) tab. If the web page does not support being imbedded in an iframe, we recommend enabling the setting "Open Call Pop In New Tab". This will open the web page in a new browser tab. This option is only available after entering a URL.

When an opening curly brace is entered, a dropdown list of available placeholders will appear, and they can be selected from the list.

The below variable placeholders can be placed in the URL:

| Placeholder    | Description                                                                                                     |
| -------------- | --------------------------------------------------------------------------------------------------------------- |
| {callername}   | Contact Name                                                                                                    |
| {callernumber} | Contact Number                                                                                                  |
| {callerupn}    | Contact User Principal Name                                                                                     |
| {calleradid}   | Contact Entra ID                                                                                                |
| {callersearch} | Returns the first available property from the following, in this order: callernumber, callerupn, or calleradid. |
| {queuename}    | Queue Name                                                                                                      |
| {scenarioid}   | Unique id of interaction                                                                                        |
| {datavalue#}   | See [Data Collection placeholders](/administration/data-collection#queue-call-popup)                            |

We recommend using a PowerApp when integrating with a CRM.


# Interaction Loop Detection

An interaction loop occurs when an interaction is transferred from a queue or IVR and reconnects to the same queue or IVR within 5 seconds. When a interaction loop is detected, the interaction is automatically terminated. For users with the admin role, an alert notification will appear in the portal and a notification email will be received. In most cases, interaction loops result from an interaction flow misconfiguration and will require a contact center admin to review the interaction flow and correct any problems.




---

[Next Page](/llms-full.txt/1)

