> For the complete documentation index, see [llms.txt](https://atlas.anywhere.now/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atlas.anywhere.now/operate/recording-and-interaction-data/configure-ucc-transcription.md).

# Configure UCC speech-to-text transcription

Review UCC speech-to-text provider configuration and confirm the documented plugin settings apply to your deployment.

{% hint style="warning" %}
This guide covers UCC Plugin Framework speech-to-text configuration for the documented Google and Microsoft providers. Confirm that the provider and plugin settings match your deployment. Review provider credentials, paid subscriptions, transcript storage, and recording access for your environment before enabling transcription.
{% endhint %}

{% hint style="info" %}
Scope

This page covers *speech-to-text* transcription for voice calls via the UCC Plugin Framework (Google Speech-to-Text or Microsoft Speech).

**Text-based conversations:** Transcript download for WebChat is configured with a PostDialogue Adaptive Card. See [WebAgent Transcripts](https://atlas.anywhere.now/channels-integrations/text-channels/webchat/adaptive-cards#example-post-dialogue-transcript-card) .
{% endhint %}

The transcription feature enables the conversion of spoken customer dialogues into written text using the UCC Plugin Framework. By leveraging the **Transcription node** in AnywhereNow **Dialogue Studio**, you can gain access to the transcribed text. This can then be written to a CRM or database, or used for more advanced (live text feed) analytical flows, orchestrated by **Dialogue Studio**.

## Prerequisites

* Dialogue Studio
* One of the following Cloud speech services:

  * Google Cloud (with **Cloud Speech-to-Text API** enabled and json credentials),\
    or
  * Microsoft Azure (with **Cognitive Services Speech** resource key and region)

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Introduced in DC2024.01</p></div>

## Transcription Settings

There are a few settings required to allow plugins to use transcription functions. The below first two (optional) settings can be set in the SharePoint UCC's general **Settings** list and allow transcribed text to be written to the general UCC log file for developer debug reasons. The other settings are vendor transcription plugin specific and go into the **PluginSettings** list. See expandable menu's below.

### (optional) Settings

| Setting                             | Description                                                                                                                                                                                                                                                                                                                        | Example value                 |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| EnableTranscriptLogging             | Enables the visibility of the transcripted text in the logs. This setting can impact privacy and should only be set to true for debugging purposes.                                                                                                                                                                                | <p>True<br>default: False</p> |
| EnableTranscriptIntermediateLogging | Enables logging of intermediate results. Some transcriptors are able to provide incomplete results while listening. When this setting is set to True all intermediate results are written to the log. When set to False it will only log final messages. This setting only has effect when EnableTranscriptLogging is set to True. | <p>True<br>default: False</p> |

## Plugin specific configuration

{% hint style="info" %}
Note

Only one plugin can be selected and configured in a UCC. Sending transcription to multiple vendors at once is not a supported scenario.
{% endhint %}

## Google Transcription

**Read more - Google Speech-To-Text (STT)**

To setup Google Cloud follow this guide: <https://cloud.google.com/speech-to-text/docs/quickstart-client-libraries>.

Make sure the "Cloud Speech-to-Text API" is enabled.

* DC2024.01 or lower
* DC2024.02 or higher

**DC2024.01 or lower**

The following settings need to be added in the "**PluginSettings**" list.

| Setting              | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Scope        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| GoogleCredentialJson | <p>The plain text JSON of the credential. Do not enter the path to the file, but the content of the file.<br>Example below:<br><a href="https://github.com/AnywhereNow/atlas-docs/tree/main/operate-support/.gitbook/assets/19218e42c87b95a0.png"><img src="https://840289663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4DbjOdRSLcSzctdkuGJf%2Fuploads%2Fgit-blob-e90ac8222d260973c7762989d739af00f73e3f2e%2F19218e42c87b95a0.png?alt=media" alt="Release note illustration"></a><br>See: <a href="https://developers.google.com/workspace/guides/create-credentials#create_credentials_for_a_service_account"><https://developers.google.com/workspace/guides/create-credentials#create_credentials_for_a_service_account></a></p> | Transcriptor |
| PluginPath           | <p>Z:\UccService\Plugins\Wsp.Anywhere365.SpeechToTextEngine.Impl.GoogleSpeech\1.0.x.x\Wsp.Anywhere365.SpeechToTextEngine.Impl.GoogleSpeech.dll<br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Transcriptor |

{% hint style="info" %}
Note

The correct version number (1.0.x.x) of the PluginPath will be automatically populated/updated when transcription is requested in the Dialogue Cloud OnePortal. The version number will vary and is dependent on bundle used.
{% endhint %}

Easy copy Google Plugin

```
Z:\UccService\Plugins\Wsp.Anywhere365.SpeechToTextEngine.Impl.GoogleSpeech\1.0.x.x\Wsp.Anywhere365.SpeechToTextEngine.Impl.GoogleSpeech.dll
```

**DC2024.02 or higher**

The following settings need to be added in the "**PluginSettings**" list.

| Setting         | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Scope        |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| CredentialsJson | <p>The plain text JSON of the credential. Do not enter the path to the file, but the content of the file.<br>Example below:<br><a href="https://github.com/AnywhereNow/atlas-docs/tree/main/operate-support/.gitbook/assets/ca37e661a43ab24f.png"><img src="https://840289663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4DbjOdRSLcSzctdkuGJf%2Fuploads%2Fgit-blob-10707b17d5a2ad570f4d4be5d932b588fa3948e4%2Fca37e661a43ab24f.png?alt=media" alt="Release note illustration"></a><br>See: <a href="https://developers.google.com/workspace/guides/create-credentials#create_credentials_for_a_service_account"><https://developers.google.com/workspace/guides/create-credentials#create_credentials_for_a_service_account></a></p> | Transcriptor |

The following settings need to be added in the "**Settings**" list.

| Setting                      | Value  | Scope         |
| ---------------------------- | ------ | ------------- |
| TranscriptionServiceProvider | Google | Transcription |

#### Proxy server with Google Speech

To use a proxy server with Google Speech you will need to add an Environment Variable to your system (not to user only). Add the variable http\_proxy with the value <http://proxyserver.local:8080> .

#### Google Transcription Model (optional)

{% hint style="info" %}
Introduced in DC2023.02d
{% endhint %}

To add a specific preferred transcription model from Google's list of models, a Plugin setting can be optionally added. For a current list of models see: <https://cloud.google.com/speech-to-text/docs/transcription-model>

If no setting is specifically added to PluginSettings, **phone\_call** is the default model used, if the detected language supports it. For other languages for which the model "phone\_call" does not exist, the model always falls back to the Google transcription model "**default**".

| Setting                | Value                                                                       | Scope         |
| ---------------------- | --------------------------------------------------------------------------- | ------------- |
| GoogleRecognitionModel | <p>The plain text name of the model.<br><em>Example: latest\_short</em></p> | Transcription |

#### Google Phrase List - Model Adaptation

{% hint style="info" %}
Introduced in DC2023.02d
{% endhint %}

The recognition of single words or phrases can be improved using model adaptation (Opens in new window or tab). This is useful for cases where certain phrases or words are said and can generate ambiguity with others. For example, if there is an ambiguity between "Claim" and "Plane", by using this feature it can give a boost to "Claim" and can be guessed more frequently.

The phrase set can be created using Google Cloud Console, where a name is given with the format projects/{project\_id}/locations/{location}/phraseSets/{phrase\_set\_id} for its reference.

![Release note illustration](https://840289663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4DbjOdRSLcSzctdkuGJf%2Fuploads%2Fgit-blob-f2914ee2cacd33e7cd26d2eb909c064e0e9a9246%2F73cf4f6b84b2c763.png?alt=media)

If a reference is set in this setting, the adaptation model on that specific phrase set is going to be used in the transcriptions of the node.

{% hint style="info" %}
Note

That the name has to be exactly as it is stated in Google Cloud Console. The UCC logs indicate if the phrase set has been picked up successfully. If something went wrong, the error will be logged and it will fallback to no phrase list being picked up for the transcription.
{% endhint %}

| Setting                  | Value                                                                                                                                                                                              | Scope         |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| AdaptationModelPhraseSet | <p>Optional phrase list set to provide commonly used phrases or single-words to give priority during transcription.<br><em>Example: project/955017966185/locations/global/phraseSets/Test</em></p> | Transcription |

## Microsoft Transcription

**Read more - Microsoft Speech-To-Text (STT)**

To setup Microsoft Speech transcription follow this guide: [Speech to text quickstart - Azure AI services | Microsoft Learn](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/get-started-speech-to-text?tabs=windows%2Cterminal\&pivots=programming-language-csharp#prerequisites).

#### Prerequisites

* An Azure subscription
* A Speech Resource
* The Speech resource **Key** and **Region**
* DC2024.01
* DC2024.02 or higher

**DC2024.01**

The following settings need to be added in the "**PluginSettings**" list.

| Setting         | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Scope        |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ |
| CredentialsJson | <p>json syntax<br><a href="#configure-ucc-speech-to-text-transcription-code-1">Configure UCC Speech-to-Text Transcription Code 1</a><br><a href="https://github.com/AnywhereNow/atlas-docs/tree/main/operate-support/.gitbook/assets/2d6e8b9ec0b01ea1.png"><img src="https://840289663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4DbjOdRSLcSzctdkuGJf%2Fuploads%2Fgit-blob-2d117acce1c060c6f9f3617920800a8d26550639%2F2d6e8b9ec0b01ea1.png?alt=media" alt="Release note illustration"></a></p> | Transcriptor |
| PluginPath      | <p>Z:\UccService\Plugins\Wsp.Anywhere365.SpeechToTextEngine.Impl.MsCognitiveServices\1.0.x.x\Wsp.Anywhere365.SpeechToTextEngine.Impl.MsCognitiveServices.dll<br></p>                                                                                                                                                                                                                                                                                                                                                     | Transcriptor |

#### Configure UCC Speech-to-Text Transcription Code 1

Source row: **CredentialsJson**.

```
{ "SubscriptionKey": "<string>", "Region": "<string>" }
```

{% hint style="info" %}
Note

The correct version number (1.0.x.x) of the PluginPath will be automatically populated/updated when transcription is requested in the Dialogue Cloud OnePortal. The version number will vary and is dependent on bundle used.
{% endhint %}

Easy copy Microsoft Plugin

```
Z:\UccService\Plugins\Wsp.Anywhere365.SpeechToTextEngine.Impl.MsCognitiveServices\1.0.x.x\Wsp.Anywhere365.SpeechToTextEngine.Impl.MsCognitiveServices.dll
```

**DC2024.02 or higher**

The following settings need to be added in the "**PluginSettings**" list.

| Setting         | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Scope        |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ |
| CredentialsJson | <p>json syntax<br><a href="#configure-ucc-speech-to-text-transcription-code-2">Configure UCC Speech-to-Text Transcription Code 2</a><br><a href="https://github.com/AnywhereNow/atlas-docs/tree/main/operate-support/.gitbook/assets/2d6e8b9ec0b01ea1.png"><img src="https://840289663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4DbjOdRSLcSzctdkuGJf%2Fuploads%2Fgit-blob-2d117acce1c060c6f9f3617920800a8d26550639%2F2d6e8b9ec0b01ea1.png?alt=media" alt="Release note illustration"></a></p> | Transcriptor |

#### Configure UCC Speech-to-Text Transcription Code 2

Source row: **CredentialsJson**.

```
{ "SubscriptionKey": "<string>", "Region": "<string>" }
```

The following settings need to be added in the "**Settings**" list.

| Setting                      | Value     | Scope         |
| ---------------------------- | --------- | ------------- |
| TranscriptionServiceProvider | Microsoft | Transcription |

## (Optional) Voice transcription file (from STT)

### Introduction

The transcriptions can also be recorded(written) to a text file and saved .

### Prerequisite

The Transcription node must be utilized in Dialogue Studio during either the Incoming Call or InDialogue phase. If the Transcription node is not activated in these phases, the transcription process will not initiate, and no recordings will be made.

### Settings

| Setting                | Value | Description                          |
| ---------------------- | ----- | ------------------------------------ |
| UseTranscriptRecording | true  | If true, transcript will be recorded |

### Location

The Recording will be stored at the same location as the audio recordings, [Learn More](https://atlas.anywhere.now/operate/recording-and-interaction-data/manage-call-recordings)

### Data Format

In the example transcription below, you see that transcriptions have an "IsFinal" flag (see line nr. 33 below) that indicates if the transcription has completed. Intermediate results are also logged.

To determine the name or uri of the participant for which audio was transcribed, the TranscriptHistoryMessage.ParticipantId can be joined with the HistoryParticipant.Id (see line 6 and 12 below).

JSON

```
{
   "Version":"1.0",
   "DialogueId":"f748e530-6955-47a6-b7da-0de1fe0d8ea3",
   "HistoryParticipants":[
      {
         "Id":0,
         "ParticipantUri":"sip:+31612345678@drt002.abc.region.prd.dialogcloud.local;user=phone",
         "ParticipantDisplayName":"tel:+31612345678",
         "ParticipantType":"Customer"
      },
      {
         "Id":1,
         "ParticipantUri":"sip:ucctestuser1406@anywhere.now",
         "ParticipantDisplayName":"ucctestuser1406@anywhere.now",
         "ParticipantType":"Agent"
      }
   ],
   "ChatHistoryMessages":[

   ],
   "TranscriptHistoryMessages":[
      {
         "Language":"nl",
         "Transcript":"Hello",
         "IsFinal":false,
         "ParticipantId":0,
         "Timestamp":"2020-01-06T11:38:34.8081659+01:00",
         "Index":0
      },
      {
         "Language":"nl",
         "Transcript":"Hello world",
         "IsFinal":true,
         "ParticipantId":0,
         "Timestamp":"2020-01-06T11:38:34.8236803+01:00",
         "Index":0
      }
   ],
   "TranslationHistoryMessages":[

   ]
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://atlas.anywhere.now/operate/recording-and-interaction-data/configure-ucc-transcription.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
