# Source: https://docs.asapp.com/ai-productivity/ai-compose/ai-compose-tooling-guide.md

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.asapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Compose Tooling Guide

> Learn how to use the AI Compose tooling UI

## Overview

This page outlines how to manage and configure global response lists for AI Compose in Agent Desk.

The global response list is created and maintained by program administrators, and the responses contained within it can be suggested to the full agent population.

<Note>
  Suggestions given to agents can also include custom responses created by agents and organic responses, which are a personalized response list of frequently-used responses by each agent.

  To learn more about AI Compose Features, go to [AI Compose Product Guide](/ai-productivity/ai-compose/product-guide).
</Note>

Agent Desk gives program administrators full control over the global response list.

In Agent Desk, click on **AI Compose** and then on **Global Responses** in the sidebar.

## Best Practices

The machine learning models powering AI Compose look at the global response list and select the response that is most likely to be said by the agent.

To create an effective global response list, take into account the following best practices:

1. We recommend having a global response list containing 1000-5000 responses.
   * The more global responses, the better. Having responses that cover the full range of common conversational scenarios enables the models to make better selections.
   * Deploying a small response list that contains only one way of saying each phrase is not recommended. The best practice is to include several ways of saying the same phrase, as that will enable our machine learning models to match each agent's conversational style.
   * Typically, the list is generated by collecting and curating the most frequent agent messages from historical chats at the beginning of an ASAPP deployment.
2. You should keep responses up-to-date as there are changes to business logic and policies to avoid suggestions with stale information.

## Managing Responses

The Global Responses page contains a table where each row represents a response that can be suggested to an agent.

There are two ways of managing the global response list:

1. Directly add or edit responses through the AI-Console UI, which provides a simple and intuitive experience. This method is best suited for small volumes of changes.
2. Upload a .csv file containing the entire global response list, doing a bulk edit. This method is best suited for large volumes of changes.

The following table describes the elements that can be included with each response:

| Field            | Description                                                                                                                                                                                         | Required |
| :--------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
| Text             | The text field contains the response that can be suggested to an agent. Optionally, the text can include [metadata inserts](#metadata "Metadata") to dynamically embed information into a response. | Yes      |
| Title            | Used to provide short descriptors for responses. If you specify a title, the response will display its title when suggested to an agent.                                                            | No       |
| Metadata filters | Used to determine when a response can appear as a suggestion. Allows responses to be filtered to specific agents based on one or more conditions (e.g., filtering responses to specific queues).    | No       |
| Folder path      | Used to organize responses into folder hierarchies. Agents can access and navigate these folders to discover relevant responses.                                                                    | No       |

## Uploading Responses in Bulk

The global response list can be updated by uploading a .csv file containing the full response list. The recommended workflow is to first download the most recent response list, make changes, and upload the list back into AI-Console.

### .csv Templates

The following instructions provide detailed descriptions of how responses need to be defined when using a .csv file.

**Text**

The text field should contain the exact response that will be suggested to an agent. Optionally, the text field may contain metadata inserts. To use a metadata insert within a response, type the key of the metadata insert inside curly brackets:

> "Hello, my name is \{rep\_name}. How may I assist you today?"

To learn more about which metadata inserts are available to use within responses, see [Metadata](#metadata "Metadata").

**Folder path**

Responses can be organized within a folder structure. This field can contain a single folder name, or a series of nested folders. If using nested folders, each folder should be separated by the ">" character (e.g. "PARENT FOLDER > CHILD FOLDER").

**Title**

The title field enables short descriptions for responses. Titles do not need to be unique.

**Metadata filters**

You can add metadata filters by specifying conditions using the metadata filter key and metadata filter value columns.

Key: The metadata filter key contains the field on which to condition the response.

For example, if you want to filter a response to a specific queue, the metadata key should be "queue\_name".

Value: The metadata filter value specifies for which values of the metadata key the response will be valid.

A single metadata filter key can have multiple values, which should be written as a comma-separated list. For example, if the response should be available to the "general" and "escalation" queues, then the metadata filter value should be "general, escalation".

A response can contain multiple conditions. To define multiple conditions, separate each with a new line; use shift+enter in Windows or option+enter in Mac to enter a new line in the same cell.

<Tip>
  <Frame>
    <img src="https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-5c8cb29c-99a6-df8c-3f50-17b82d5332b3.png?fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=48eab370af9e07643c11a157de13539f" data-og-width="168" width="168" data-og-height="112" height="112" data-path="image/uuid-5c8cb29c-99a6-df8c-3f50-17b82d5332b3.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-5c8cb29c-99a6-df8c-3f50-17b82d5332b3.png?w=280&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=a2313c666b58bc6b7f3668a2559f7282 280w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-5c8cb29c-99a6-df8c-3f50-17b82d5332b3.png?w=560&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=376edb5843f0a637a8f6b17cb4ea7900 560w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-5c8cb29c-99a6-df8c-3f50-17b82d5332b3.png?w=840&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=07d5a8da666abeee99e4f5e998e2cd2e 840w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-5c8cb29c-99a6-df8c-3f50-17b82d5332b3.png?w=1100&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=8fba308c72dbe63c6c13766f818109ff 1100w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-5c8cb29c-99a6-df8c-3f50-17b82d5332b3.png?w=1650&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=55a125b8ff66e5bb6d0b728515bea246 1650w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-5c8cb29c-99a6-df8c-3f50-17b82d5332b3.png?w=2500&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=2754a3b57222194ffc656b210bd245a8 2500w" />
  </Frame>

  [Click here to download a global responses template file](https://docs-sdk.asapp.com/product_features/global-responses-template.csv).
</Tip>

<Tip>
  **Getting the "invalid character �" when uploading a response list?**
  If you are uploading a response list and seeing an error message that a response contains the invalid character �, it is likely caused by using Microsoft Excel to edit the response list, as Excel uses a non-standard encoding mechanism. To fix this issue, select **Save as...** and under **File Format**, select **CSV UTF-8 (Comma delimited) (.csv)**.
</Tip>

## Saving and Deploying

Saving changes to the global response list or uploading a new list from a .csv file will create a new version. You can see past versions by selecting **Past Versions** under the vertical ellipses menu.

You can easily deploy the global response list into testing or production environments. An indicator at the top of each version indicates the status of the response list: unsaved draft, saved draft, deployed in a testing environment, or deployed in production.

## Metadata

The Metadata Dictionary, accessible through the navigation panel, provides an overview of metadata that is available for your organization to use in global responses. There are two types of metadata:

* **Metadata inserts** are used within the text of each response as templates that can dynamically insert information. Inserts are defined using curly brackets (e.g. Hello, this is \{rep\_name}, how may I assist you today?).
* **Metadata filters** introduce conditions to control in which conversations responses can be suggested. By default, responses without any metadata filters are available as suggestions for the entire agent population. Common patterns for filtering include restricting responses to specific queues or lines of business.

<Note>
  The metadata on global responses doesn’t control visibility or access for agents in the Global Responses tab of the Right-Hand Panel. The metadata implementation, will influence when a response is suggested by the model in the AI Compose functionality.
</Note>

<Frame>
  <img src="https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-3f272638-1167-16fb-66fb-63fdd3017689.png?fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=4467720d221241a70e00bdc9d1c88b01" data-og-width="900" width="900" data-og-height="473" height="473" data-path="image/uuid-3f272638-1167-16fb-66fb-63fdd3017689.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-3f272638-1167-16fb-66fb-63fdd3017689.png?w=280&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=3ad692effc840e444b6b3743e694b888 280w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-3f272638-1167-16fb-66fb-63fdd3017689.png?w=560&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=9e88a53b0d60fffc0e4f35a69b0f477b 560w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-3f272638-1167-16fb-66fb-63fdd3017689.png?w=840&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=2f90dbdd132e48ff55bcdf9ea4b705fb 840w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-3f272638-1167-16fb-66fb-63fdd3017689.png?w=1100&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=0a9d2a951631ea6bd9f8cb0c7f7a70af 1100w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-3f272638-1167-16fb-66fb-63fdd3017689.png?w=1650&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=5f0e16b90ea0d9b911309ed6510ef3e3 1650w, https://mintcdn.com/asapp/NE5s_J_rgoRPqQQt/image/uuid-3f272638-1167-16fb-66fb-63fdd3017689.png?w=2500&fit=max&auto=format&n=NE5s_J_rgoRPqQQt&q=85&s=3efdf9d04056274115cef787b4dbece9 2500w" />
</Frame>

### Metadata Inserts

A response that contains a metadata insert is a templated response. When the system suggests a templated response, it shows the response to the agent with the metadata insert filled in.

<Frame>
  <img src="https://mintcdn.com/asapp/COy3KdZUtsAnzs_4/image/uuid-99f92559-38ad-54a6-e764-58f659ae2df0.png?fit=max&auto=format&n=COy3KdZUtsAnzs_4&q=85&s=0653cf69a43672c7614d5ba5ccf15006" data-og-width="788" width="788" data-og-height="514" height="514" data-path="image/uuid-99f92559-38ad-54a6-e764-58f659ae2df0.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/asapp/COy3KdZUtsAnzs_4/image/uuid-99f92559-38ad-54a6-e764-58f659ae2df0.png?w=280&fit=max&auto=format&n=COy3KdZUtsAnzs_4&q=85&s=623e6f9e40ecba461fe8292f375bb74f 280w, https://mintcdn.com/asapp/COy3KdZUtsAnzs_4/image/uuid-99f92559-38ad-54a6-e764-58f659ae2df0.png?w=560&fit=max&auto=format&n=COy3KdZUtsAnzs_4&q=85&s=3de67283d600787889470ee678e520f0 560w, https://mintcdn.com/asapp/COy3KdZUtsAnzs_4/image/uuid-99f92559-38ad-54a6-e764-58f659ae2df0.png?w=840&fit=max&auto=format&n=COy3KdZUtsAnzs_4&q=85&s=3ade89d7fb0eec89f80f7ea9d61fb4a9 840w, https://mintcdn.com/asapp/COy3KdZUtsAnzs_4/image/uuid-99f92559-38ad-54a6-e764-58f659ae2df0.png?w=1100&fit=max&auto=format&n=COy3KdZUtsAnzs_4&q=85&s=825fd269420d9e829cda58dff9d772cc 1100w, https://mintcdn.com/asapp/COy3KdZUtsAnzs_4/image/uuid-99f92559-38ad-54a6-e764-58f659ae2df0.png?w=1650&fit=max&auto=format&n=COy3KdZUtsAnzs_4&q=85&s=2faa4595feef593b4e3abbdb1b8c432e 1650w, https://mintcdn.com/asapp/COy3KdZUtsAnzs_4/image/uuid-99f92559-38ad-54a6-e764-58f659ae2df0.png?w=2500&fit=max&auto=format&n=COy3KdZUtsAnzs_4&q=85&s=2fc3ee4a54d0dd6f3626c416282a0ad3 2500w" />
</Frame>

*Adding a templated response in AI-Console*

<Frame>
  <img src="https://mintcdn.com/asapp/BoXlOITRW7VjgmOG/image/uuid-190313dc-5566-f4ed-6871-31ee775b3e9e.png?fit=max&auto=format&n=BoXlOITRW7VjgmOG&q=85&s=47c73cc3c405a6c2721dae626924745b" data-og-width="950" width="950" data-og-height="464" height="464" data-path="image/uuid-190313dc-5566-f4ed-6871-31ee775b3e9e.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/asapp/BoXlOITRW7VjgmOG/image/uuid-190313dc-5566-f4ed-6871-31ee775b3e9e.png?w=280&fit=max&auto=format&n=BoXlOITRW7VjgmOG&q=85&s=c4821fca5b0b69303a8d48894f7c2fc0 280w, https://mintcdn.com/asapp/BoXlOITRW7VjgmOG/image/uuid-190313dc-5566-f4ed-6871-31ee775b3e9e.png?w=560&fit=max&auto=format&n=BoXlOITRW7VjgmOG&q=85&s=0e9bce3151f5a6dd58d446cacbd10e6d 560w, https://mintcdn.com/asapp/BoXlOITRW7VjgmOG/image/uuid-190313dc-5566-f4ed-6871-31ee775b3e9e.png?w=840&fit=max&auto=format&n=BoXlOITRW7VjgmOG&q=85&s=b8604083c737d188c8d5c725934b5fa6 840w, https://mintcdn.com/asapp/BoXlOITRW7VjgmOG/image/uuid-190313dc-5566-f4ed-6871-31ee775b3e9e.png?w=1100&fit=max&auto=format&n=BoXlOITRW7VjgmOG&q=85&s=3e7d246299a214f5f1f25ca7333fe717 1100w, https://mintcdn.com/asapp/BoXlOITRW7VjgmOG/image/uuid-190313dc-5566-f4ed-6871-31ee775b3e9e.png?w=1650&fit=max&auto=format&n=BoXlOITRW7VjgmOG&q=85&s=3cc1638f830727259dedcb24506cd75b 1650w, https://mintcdn.com/asapp/BoXlOITRW7VjgmOG/image/uuid-190313dc-5566-f4ed-6871-31ee775b3e9e.png?w=2500&fit=max&auto=format&n=BoXlOITRW7VjgmOG&q=85&s=5d5490926dc9b29bb9646bbae24b426a 2500w" />
</Frame>

*Templated response being suggested to the agent in AI Compose*

<Note>
  If the needed metadata insert (such as customer or agent name) is unavailable for a particular response (e.g. the customer in the conversation is unidentifiable), the response will not be suggested by AI Compose.
</Note>

To view all metadata inserts available to use within a conversation, navigate to **Metadata Dictionary** in the navigation panel.

### Metadata Filters

Responses that do not have associated metadata filters will be available to the full agent population. In the metadata dictionary, click on any metadata filter to view details about the filter and all possible values available for it.