# ServiceNow Live Agent Setup

We support Agent Workspace and Service Operations Workspace from the ServiceNow Paris release onwards.

ServiceNow has put `Agent Workspace` in deprecation process since their Utah release, and they suggest that customers use their `Service Operations Workspace`. We support `Service Operations Workspace.`

{% hint style="info" %}
If you are using version 3.5.2 of ServiceNow Live Agent API or newer, you will also need to apply an Aisera patch that you can request from your Aisera Team or Aisera Support. This patch is discussed in the [**Live Agent Setup**](https://docs.aisera.com/aisera-platform/channels/interactive-voice-response-ivr/servicenow-live-agent-setup#id-2.-live-agent-setup) section.
{% endhint %}

### Pre-Requisites on the ServiceNow Side: <a href="#pre-requisite" id="pre-requisite"></a>

This requires the SNOW instance with **Pro license**.

**The** `Virtual Agent API` **plugin is a hard dependency. At this time we support version** `1.3.0, 2.0, 2.1.0, 3.1.0`. We will support newer versions in the future.

Support Matrix:

| **SNOW Version** | **Virtual Agent API Version**           | **Support**                                                            |
| ---------------- | --------------------------------------- | ---------------------------------------------------------------------- |
| San Diego        | 2.1.0, 3.1.0                            | YES                                                                    |
| Tokyo            | 3.1.0                                   | YES                                                                    |
| Tokyo            | 3.5.2                                   | YES, need Aisera Patch. reference to the last section of this page     |
| Utah             | 3.7.x                                   | YES, need Aisera Patch. Pls reference to the last section of this page |
| Vancouver        | <p>3.7.3</p><p>3.12.2</p>               | YES, need Aisera Patch. Pls reference to the last section of this page |
| Washington DC    | <p>3.10.0</p><p>3.13.0</p><p>3.14.0</p> | YES, need Aisera Patch. Pls reference to the last section of this page |
| `Xanadu`         | 3.14.1                                  | Yes, need Aisera Patch. Pls reference to the last section of this page |
| Yokohama         | <p>3.14.2</p><p>3.14.3</p>              |                                                                        |

### 1. Plugins <a href="#id-1.-plugins" id="id-1.-plugins"></a>

The following plugins need to be active.

* Advanced Work Assignment (com.glide.awa)
* Agent Chat (com.glide.interaction.awa)
* Conversational Messaging (com.glide.messaging.awa)
* Conversation General Settings (com.glide.cs.settings)
* Glide Virtual Agent ( com.glide.cs.chatbot )
* Virtual Agent API - **Please check the support matrix above for the correct versions**. We do not support other versions at this time.
* If you want to use `Service Operations workspace` instead of `Agent Workspace`, Please install `Service Operations Workspace` as well (Agent Workspace is in deprecation process by ServiceNow)

If they are not active, please make sure that they are activated.

### 2. Chat Setup

Make sure the **Global Fulfiller UI** is set to **Agent Workspace**. (In a brand new Paris instance, you would not need this.)

<figure><img src="https://media-cdn.atlassian.com/file/657ddeaf-c51a-47d2-bba6-915f9188ee9e/image/cdn?allowAnimated=true&#x26;client=c0f6b24c-cf51-4df1-942f-10180dc619b6&#x26;collection=contentId-1537703967&#x26;height=616&#x26;max-age=2592000&#x26;mode=full-fit&#x26;source=mediaCard&#x26;token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMGY2YjI0Yy1jZjUxLTRkZjEtOTQyZi0xMDE4MGRjNjE5YjYiLCJhY2Nlc3MiOnsidXJuOmZpbGVzdG9yZTpjb2xsZWN0aW9uOmNvbnRlbnRJZC0xNTM3NzAzOTY3IjpbInJlYWQiXX0sImV4cCI6MTc1MzEyMjc5OSwibmJmIjoxNzUzMTE5OTE5LCJhYUlkIjoiNzEyMDIwOjllZDAzNGU1LTBmODctNDk3OC1iM2UzLWI0M2Q0YTMxZDE4OCJ9.OGsSwe1jjfRuuNzoBuKzS0SXUpmElK8tfUQGolrkqHk&#x26;width=760" alt=""><figcaption></figcaption></figure>

### 3. Advanced Work Assignment Setup <a href="#id-3.-advanced-work-assignment-setup" id="id-3.-advanced-work-assignment-setup"></a>

The ServiceNow Administration should have setup the following for Aisera to go forward:

* The Service Channel
  * This channel needs to be created against the ‘interaction’ table and type should be ‘Chat’. Make sure it is active.

    <figure><img src="https://media-cdn.atlassian.com/file/d63d00e7-fbaf-4e4e-bf24-cc3ce08f50c7/image/cdn?allowAnimated=true&#x26;client=c0f6b24c-cf51-4df1-942f-10180dc619b6&#x26;collection=contentId-1537703967&#x26;height=440&#x26;max-age=2592000&#x26;mode=full-fit&#x26;source=mediaCard&#x26;token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMGY2YjI0Yy1jZjUxLTRkZjEtOTQyZi0xMDE4MGRjNjE5YjYiLCJhY2Nlc3MiOnsidXJuOmZpbGVzdG9yZTpjb2xsZWN0aW9uOmNvbnRlbnRJZC0xNTM3NzAzOTY3IjpbInJlYWQiXX0sImV4cCI6MTc1MzEyMjc5OSwibmJmIjoxNzUzMTE5OTE5LCJhYUlkIjoiNzEyMDIwOjllZDAzNGU1LTBmODctNDk3OC1iM2UzLWI0M2Q0YTMxZDE4OCJ9.OGsSwe1jjfRuuNzoBuKzS0SXUpmElK8tfUQGolrkqHk&#x26;width=1228" alt=""><figcaption></figcaption></figure>
* Presence State
  * The ‘Active’ state needs to be enabled and then associated to the appropriate service channel.
    * By default this is true if the above said plugins are active.

      <figure><img src="https://media-cdn.atlassian.com/file/63e0b9d9-f13f-481c-ba92-08f7a7e65077/image/cdn?allowAnimated=true&#x26;client=c0f6b24c-cf51-4df1-942f-10180dc619b6&#x26;collection=contentId-1537703967&#x26;height=364&#x26;max-age=2592000&#x26;mode=full-fit&#x26;source=mediaCard&#x26;token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMGY2YjI0Yy1jZjUxLTRkZjEtOTQyZi0xMDE4MGRjNjE5YjYiLCJhY2Nlc3MiOnsidXJuOmZpbGVzdG9yZTpjb2xsZWN0aW9uOmNvbnRlbnRJZC0xNTM3NzAzOTY3IjpbInJlYWQiXX0sImV4cCI6MTc1MzEyMjc5OSwibmJmIjoxNzUzMTE5OTE5LCJhYUlkIjoiNzEyMDIwOjllZDAzNGU1LTBmODctNDk3OC1iM2UzLWI0M2Q0YTMxZDE4OCJ9.OGsSwe1jjfRuuNzoBuKzS0SXUpmElK8tfUQGolrkqHk&#x26;width=1234" alt=""><figcaption></figcaption></figure>
* Assignment rules
  * The assignment rule would be already present. If not create a sample rule like ‘SampleRule’

    <figure><img src="https://media-cdn.atlassian.com/file/8ab8802b-fd5d-4052-ba81-aeff9f35413a/image/cdn?allowAnimated=true&#x26;client=c0f6b24c-cf51-4df1-942f-10180dc619b6&#x26;collection=contentId-1537703967&#x26;height=324&#x26;max-age=2592000&#x26;mode=full-fit&#x26;source=mediaCard&#x26;token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMGY2YjI0Yy1jZjUxLTRkZjEtOTQyZi0xMDE4MGRjNjE5YjYiLCJhY2Nlc3MiOnsidXJuOmZpbGVzdG9yZTpjb2xsZWN0aW9uOmNvbnRlbnRJZC0xNTM3NzAzOTY3IjpbInJlYWQiXX0sImV4cCI6MTc1MzEyMjc5OSwibmJmIjoxNzUzMTE5OTE5LCJhYUlkIjoiNzEyMDIwOjllZDAzNGU1LTBmODctNDk3OC1iM2UzLWI0M2Q0YTMxZDE4OCJ9.OGsSwe1jjfRuuNzoBuKzS0SXUpmElK8tfUQGolrkqHk&#x26;width=1233" alt=""><figcaption></figcaption></figure>
* The Queues
  * The queue should be against the service channel from the previous step.
    * Create a sample queue like ‘SampleQueue’ if none present.

      <figure><img src="https://media-cdn.atlassian.com/file/344078c3-f9b4-4102-aa71-1040a94a44fe/image/cdn?allowAnimated=true&#x26;client=c0f6b24c-cf51-4df1-942f-10180dc619b6&#x26;collection=contentId-1537703967&#x26;height=394&#x26;max-age=2592000&#x26;mode=full-fit&#x26;source=mediaCard&#x26;token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMGY2YjI0Yy1jZjUxLTRkZjEtOTQyZi0xMDE4MGRjNjE5YjYiLCJhY2Nlc3MiOnsidXJuOmZpbGVzdG9yZTpjb2xsZWN0aW9uOmNvbnRlbnRJZC0xNTM3NzAzOTY3IjpbInJlYWQiXX0sImV4cCI6MTc1MzEyMjc5OSwibmJmIjoxNzUzMTE5OTE5LCJhYUlkIjoiNzEyMDIwOjllZDAzNGU1LTBmODctNDk3OC1iM2UzLWI0M2Q0YTMxZDE4OCJ9.OGsSwe1jjfRuuNzoBuKzS0SXUpmElK8tfUQGolrkqHk&#x26;width=1234" alt=""><figcaption></figcaption></figure>
  * Assignment Eligibility - Apply the assignment rule to the queue. Associate the group. This group should have ‘awa\_agent’ role and ‘workspace’ roles as well. The ‘Group’ should have the agents under them. Note: If you are using `Service Operations Workspace` instead of `Agent workspace`, please also add `sn_sow.sow_user` as well.

### 4. Import and Commit Aisera UpdateSet <a href="#id-4.-import-and-commit-aisera-updateset" id="id-4.-import-and-commit-aisera-updateset"></a>

ServiceNow has an out of the box sample provider called ‘VA Bot to Bot Provider’. We wont use that. Instead use the update set provided by Aisera. The update set contains the following:

* A new Messaging Provider called ‘Aisera ServiceNow Bot to Bot Provider’. ***It will also use the same bot-to-bot channel.*** This will reuse all IH actions which are out of box provided by ServiceNow except
  * ‘Contextual Action’ as the out of box does not support ‘START\_CONVERSATION’.
  * ‘Virtual Agent - Bot to Bot Sender’ as this uses a localhost url for sending data. This should point to Aisera’s liveAgent/receiveMessage API
* A new Messaging Provider Application called ‘**Aisera VA Bot to Bot Provider Application**’. This will be similar to the OOB ‘VA Bot to Bot Provider Application’ but it will point to Aisera Messaging Provider.
* A new Scripted Rest API ‘Aisera ServiceNow Bot Integration’ with a postMessage method.
* Script includes needed for communication with Aisera.
* A table ‘Aisera Live Agent Info V2’ to hold the meta data about the Aisera system which this instance of ServiceNow communicates with.

#### Import the Update Set: <a href="#import-the-update-set" id="import-the-update-set"></a>

**Note**: Both update sets are required

Import the following update sets by downloading files from the following links:\
[Aisera\_LiveAgent\_Update\_Set\_v9.67\_sys\_remote\_update\_set\_b3dbafb42f26111040823e0ef699b626\_update\_xml.xml](https://drive.google.com/file/d/1wWKQwj8CpBDY0pcKh8BNrSZKxVPGnm6_/view?usp=drive_link), version 9.67

* Upload, preview and commit the parent update set. (There is a possibility that the commit might fail at 100% but this is fine.)
* If you are applying the next version of this update set, please make sure you do not override the Aisera Settings.
* [AISERA SNOW Live Agent Patch V2](https://drive.google.com/file/d/1UB-_jZadlt1Y9B57XfMNq6NGPRhTDWsW/view?usp=sharing) (version v2)
  * **NOTE: This is a patch which should be applied after you apply the previous update set. we will Consolidate the update sets later.**
  * Please upload, Preview and Commit the patch parent set. (Name: **Aisera Live Agent Merged Bot to Bot Update Set - Batch Parent - v2**)

### 5. Add Aisera Configuration Info in ServiceNow <a href="#id-5.-add-aisera-configuration-info-in-servicenow" id="id-5.-add-aisera-configuration-info-in-servicenow"></a>

The update set will bring in a table called ‘Aisera Live Agent Info V2’. This table will hols all the info that is needed to communicate with Aisera.

The URL to reach this table would be [https://$instanceName.service-now.com/nav\_to.do?uri=%2Fsn\_va\_as\_service\_aisera\_live\_agent\_v2\_list.do](https://aisera.atlassian.net/wiki/spaces/EN/pages/1537703967/ServiceNow+-+Live+Agent+with+Agent+Workspace+or+Service+Operations+Workspace)

All above information should be populated properly. Aisera will need to provide this info to the customer so that they can populate it in the table.

| **Key**                   | **Value**                                                              |                                                                                             |
| ------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| Aisera\_AppToken          | The app Token for the given Aisera App.                                | Details will be supplied by Aisera engineers.                                               |
| Aisera\_LiveAgent\_URL    | The LiveAgent API URL                                                  | Details will be supplied by Aisera engineers.                                               |
| Aisera\_Login\_URL        | The Login URL                                                          | Details will be supplied by Aisera engineers.                                               |
| Aisera\_Login\_User\_Name | The User name                                                          | Details will be supplied by Aisera engineers. (This needs to be an Aisera Service Account). |
| Aisera\_Login\_Password   | The password. Please set the password in the ‘Sensitive Value’ column. | Aisera folks would give this information.                                                   |

Sample:

<table data-header-hidden><thead><tr><th width="217.20001220703125">Attribute</th><th>Value</th><th>Comments</th></tr></thead><tbody><tr><td>Aisera_AppToken</td><td>H4sI……AAAA</td><td> </td></tr><tr><td>Aisera_LiveAgent_URL</td><td><code>https://zoom-it-staging.api.aisera.cloud/v1/liveAgent/receiveMessage</code></td><td> </td></tr><tr><td>Aisera_Login_URL</td><td><code>https://zoom-it-staging.api.aisera.cloud</code></td><td>Make sure you don’t have a trailing slash (/) after .cloud</td></tr><tr><td>Aisera_Login_User_Name</td><td><code>liveagent_admin@aisera.com</code></td><td> </td></tr><tr><td>Aisera_Login_Password</td><td>The_Password_Here</td><td>Please set it in the 'Sensitive Value' column.</td></tr></tbody></table>

Verify the configuration

`Navigator => Scripts Background`, run the following command

`var accessInfo = new sn_va_as_service.AiseraAuthUtilV2().getAccessToken();`

The result should looks something like this (not actual data):

{% code overflow="wrap" %}

```
sn_va_as_service (AiseraAuthUtilV2): AiseraAuthUtilV2: entered : sn_va_as_service (AiseraAuthUtilV2): AiseraAuthUtilV2: The tokenRequestUrl is :https://aisera-environment.aisera.cloud/tenant-users/oauth2/token sn_va_as_service (AiseraAuthUtilV2): AiseraAuthUtilV2: The authData is :{"status":200,"body":"{\"access_token\":\"H4sIAAAADCAAAAFgAJ//OH46fDZeieTf/ec11qe/uKoDIyr5o8NquL+Xt21urhLezM+FV7AspleO7/LkSVC0jNinEKhbu1/3+VXG/9134PgU3PrcQMtgRmrHS8B4YIOCCcCAO0GbjOW8l4f2+w654e4MAmADCAA=\",\"refresh_token\":\"H4sIAAAADCAAAAFgAJ//OH46fDZeieTf/ec11qe/uKoDIyr5o8NquL+Xt21urhLezM+FV7AspleO7/LkSVC0jNinEKhbu1/3+VXG/9134PgU3PrcQMtgRmrHS8B4YIOCCcCAO0GbjOW8l4f2+w654e4MAmADCAA=\",\"values\":{\"access_token\":\"H4sIAAAADCAAAAFgAJ//OH46fDZeieTf/ec11qe/uKoDIyr5o8NquL+Xt21urhLezM+FV7AspleO7/LkSVC0jNinEKhbu1/3+VXG/9134PgU3PrcQMtgRmrHS8B4YIOCCcCAO0GbjOW8l4f2+w654e4MAmADCAA=\",\"refresh_token\":\"H4sIAAAADCAAAAFgAJ//OH46fDZeieTf/ec11qe/uKoDIyr5o8NquL+Xt21urhLezM+FV7AspleO7/LkSVC0jNinEKhbu1/3+VXG/9134PgU3PrcQMtgRmrHS8B4YIOCCcCAO0GbjOW8l4f2+w654e4MAmADCAA=\",\"token_type\":\"bearer\",\"expires_in\":3600},\"token_type\":\"bearer\",\"expires_in\":3600}"}
```

{% endcode %}

### 6. Update Trusted Domain List <a href="#id-6.-update-trusted-domain-list" id="id-6.-update-trusted-domain-list"></a>

In the navigation bar, search `sys_cs_provider.list`.

Update the setting of the page and add column `Trusted media domains` to the page:

Update `Trusted media domains` field

Add `aisera.cloud,aisera.net` to **Trusted media domains** of `aisera servicenow bot to bot provider`

### 7. Add Rich Control for Action <a href="#id-7.-add-rich-control-for-action" id="id-7.-add-rich-control-for-action"></a>

In the navigation bar, search `sys_cs_provider.list`, and select `Aisera ServiceNow Bot to Bot Provider`.

At the bottom, click tab for `Rich Control Mappings`

`sys_cs_provider.list` => `Aisera ServiceNow Bot to Bot Provider` => `Rich Control Mappings`

If the control mapping for `DefaultAction` is missing under `Rich Control Mappings`, please create one with the following values and save it.

| **Filed Name**              | **Value**                                                                | **Description**   |
| --------------------------- | ------------------------------------------------------------------------ | ----------------- |
| Control Type                | DefaultAction                                                            |                   |
| Outbound transformer action | `sn_va_as_service.virtual_agent__bot_to_bot_action_outbound_transformer` |                   |
| Inbound transformer action  |                                                                          | Leave it as empty |

## Aisera Setup <a href="#aisera-side" id="aisera-side"></a>

### Integration Setup <a href="#id-1.-integration-setup" id="id-1.-integration-setup"></a>

Integration should set instructed to use the ‘Live Agent API’ as Paris.

Get to your ServiceNow Data Source and make the change.

#### Live Agent setup  <a href="#id-2.-live-agent-setup" id="id-2.-live-agent-setup"></a>

1. Go to your App in Aisera.
2. Click the **Add Live Agent** button.

{% hint style="info" %}
NOTE: If you ware using a version of ServiceNow Live Agent API that is v3.5.2 or newer, you also need to ask your Aisera Team or Aisera Support to download a patch that is available to them at this link: [Patch for ServiceNow Live Agent v3.5.2+](https://support.aisera.com/hc/en-us/articles/40190751948685-Patch-for-ServiceNow-Live-Agent-v3-5-2).
{% endhint %}

3. Choose the appropriate Integration. This would typically be the same integration you use for integration with ServiceNow instance.
4. Provide a random number for the namespace.
5. The **Queue Id** is not needed for implementations after the ServiceNow Paris release integration with Agent Workspace. Older ServiceNow (Pre-Paris) integrations still need this field.
6. Provide `api/sn_va_as_service/aisera_bot/integration` as the API Path.
7. Click **OK**.

#### Add support for `user upload file`  <a href="#id-3.-add-support-for-user-upload-file" id="id-3.-add-support-for-user-upload-file"></a>

1. Check the `trusted media domains` above and have `aisera.cloud` added
2. In the live agent configuration in the section 2 above, select `Attachments` to `Supported`. And the add the supported file extensions and file size you want.

Note: SNOW REST api only supports files with limited MIME types, please only allow the following file extensions in the live agent configuration

Supported file extensions

`png jpg jpeg pdf txt mpeg doc`

SNOW supported MIME types

`application/pdf application/msword image/png image/jpeg text/plain video/mpeg`

### Advanced features <a href="#advanced-features" id="advanced-features"></a>

#### 1. Multiple queue <a href="#id-1.-multiple-queue" id="id-1.-multiple-queue"></a>

Snow Live Agent (Paris & later) supports multiple queues by nature. However, the routing logic is on ServiceNow side (each queue has its own support logic), rather than on AISERA. AISERA can provide some information about the user, so, Servicenow server can use these information to route to a specific queue.

Note 1: Each queue has its own `order`. By default, SNOW will sort all the queues in ascending order based on the value of `order` of each queue. SNOW will go through each queue based on the sorted order and check if the request meet the condition of the queue. If there are multiple queues meet the conditions, the queue with the lowest `order` will be picked.

Note 2: Please always configure a default queue with largest `order`

**a) Option: Use Snow Queue’s `simple` Work item routing condition**

If all the users are linked with SNOW’s user, SNOW admin can use the SNOW queue’s `simple` Condition Mode and choose the filter conditions

**b) Option: Use AISERA’s 3 accepted variables.**

Currently, AISERA support 3 variables, `liveagent_department`, `liveagent_language` and `liveagent_location`.

Admin can add those 3 variables to the output variables of `Preprocess Live Agent` flow, and set the corresponding values in the `Preprocess Live Agent` flow. AISERA will attach these 3 values to the requests to Servicenow server.

SNOW admin can use `Advanced` Condition mode to decide whether the current queue is able to accept the request based on these 3 values.

We can use `liveagent_language` as an example, to set a queue for `french`

1. In SNOW queue, set the following

   <figure><img src="https://media-cdn.atlassian.com/file/643990a5-b55a-426a-a532-606f215ac656/image/cdn?allowAnimated=true&#x26;client=c0f6b24c-cf51-4df1-942f-10180dc619b6&#x26;collection=contentId-1537703967&#x26;height=815&#x26;max-age=2592000&#x26;mode=full-fit&#x26;source=mediaCard&#x26;token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMGY2YjI0Yy1jZjUxLTRkZjEtOTQyZi0xMDE4MGRjNjE5YjYiLCJhY2Nlc3MiOnsidXJuOmZpbGVzdG9yZTpjb2xsZWN0aW9uOmNvbnRlbnRJZC0xNTM3NzAzOTY3IjpbInJlYWQiXX0sImV4cCI6MTc1MzEyMjc5OSwibmJmIjoxNzUzMTE5OTE5LCJhYUlkIjoiNzEyMDIwOjllZDAzNGU1LTBmODctNDk3OC1iM2UzLWI0M2Q0YTMxZDE4OCJ9.OGsSwe1jjfRuuNzoBuKzS0SXUpmElK8tfUQGolrkqHk&#x26;width=1396" alt=""><figcaption></figcaption></figure>
2. `(function executeCondition(/* glide record */ current) { var contextTable = current.getValue("context_table"); var integrationBlobRecord = new GlideRecord(contextTable); integrationBlobRecord.addQuery("sys_id", current.getValue("context_document")); integrationBlobRecord.query(); if (integrationBlobRecord.next()) { var jsonBlob = JSON.parse(integrationBlobRecord.getValue("value")); if(jsonBlob.liveagent_language == "french") return true; } return false; })(current);`
3. In `Preprocess Live Agent` flow

## Testing <a href="#testing" id="testing"></a>

Use the following procedure to test your application/bot.

### ServiceNow: <a href="#servicenow" id="servicenow"></a>

1. Login as the agent and go to your **Agent Workspace**.&#x20;
2. Make sure your status is **Available**.
3. If you are using `Service Operations Workspace`, go directly to: `https://<your-snow-instance>/now/sow/list.`

### Aisera: <a href="#aisera" id="aisera"></a>

1. Go to the appropriate Aisera web chat channel.
2. Type in `Contact Live Agent`.
3. Type in `Contact Live Agent` again.
4. The chatbot displays `Routing to Agent.`
5. The Aisera platform makes a connection to ServiceNow.\
   In ServiceNow Agent Workspace, you see an acknowledgement window.
6. Click **Accept**.
7. Type in `Hello`.\
   `Hello` is displayed in the Aisera web chat conversation. Type something back in the Aisera web chat.

The ServiceNow Agent workspace and the Aisera web chat should bot display the same conversation information.
