Stay organized with collectionsSave and categorize content based on your preferences.
An intermediate transcript is an interim result of speech recognition from theCloud Speech-to-Text API. The intermediate transcript can change upon further analysis of the audio. Configure intermediate transcription delivery with aCloud Pub/Sub topicor use gRPC forCCAI transcriptiondelivery.
Conversation ID is the ordering key for published Pub/Sub transcript messages. To receive the messages in order,set the message ordering propertyon the subscription you receive messages from.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003ePre-GA features, including those discussed here, are subject to the "Pre-GA Offerings Terms" and are provided "as is" with potentially limited support.\u003c/p\u003e\n"],["\u003cp\u003eIntermediate speech recognition transcripts can be configured for delivery via a Cloud Pub/Sub topic or gRPC for CCAI transcription.\u003c/p\u003e\n"],["\u003cp\u003eFinal speech recognition results can be delivered via \u003ccode\u003eConversationProfile.newMessageEventNotificationConfig\u003c/code\u003e or gRPC responses.\u003c/p\u003e\n"],["\u003cp\u003ePub/Sub transcript messages can be received in order by enabling message ordering on the subscription using the conversation ID as the key.\u003c/p\u003e\n"],["\u003cp\u003eAdditional data such as conversation IDs, message IDs, participant IDs, and participant roles can be accessed as attributes within the Pub/Sub messages, and subscription customization is available to handle various delivery scenarios.\u003c/p\u003e\n"]]],[],null,["# Pub/Sub intermediate transcription\n\nAn intermediate transcript is an interim result of speech recognition from the [Cloud Speech-to-Text API](/speech-to-text/docs/reference/rest). The intermediate transcript can change upon further analysis of the audio. Configure intermediate transcription delivery with a [Cloud Pub/Sub topic](/pubsub/docs/create-topic) or use gRPC for [CCAI transcription](/agent-assist/docs/transcription) delivery.\n\nYou can configure [delivery of the final result of speech recognition](/agent-assist/docs/pub-sub) with `ConversationProfile.newMessageEventNotificationConfig` or with gRPC responses.\n\nCreate or update your conversation profile\n------------------------------------------\n\nFollow these steps when you create or update a conversation profile. Agent Assist does not redact intermediate transcripts. \n\n### Console\n\n1. Within the Agent Assist console, click **Conversation profiles**.\n2. Click the name of a profile or **+ Create**.\n3. Navigate to **Pub/Sub notifications** , and select **Transcription intermediate result notifications**.\n4. Enter the Pub/Sub topic you created for receiving intermediate transcripts, and select your message format.\n5. Click **Save**.\n\n### REST\n\n1. Configure a Pub/Sub topic for receiving intermediate transcriptions with `ConversationProfile.newRecognitionResultNotificationConfig`.\n\n| **Note:** You can configure the redaction of final transcripts with [`use_redacted_data`](/dialogflow/priv/docs/reference/rest/v2beta1/projects.conversationProfiles#notificationconfig) at `newMessageEventNotificationConfig`.\n\nExample Configuration: \n\n```bash\n{\n\"name\": \"projects/PROJECT_ID/locations/global/conversationProfiles/CONVERSATION_PROFILE_ID\",\n\"displayName\": \"CONVERSATION_PROFILE_NAME\",\n\"automatedAgentConfig\": {\n},\n\"humanAgentAssistantConfig\": {\n \"notificationConfig\": {\n \"topic\": \"projects/PROJECT_ID/topics/FEATURE_SUGGESTION_TOPIC_ID\",\n \"messageFormat\": \"JSON\"\n },\n \"humanAgentSuggestionConfig\": {\n \"featureConfigs\": [{\n \"enableEventBasedSuggestion\": true,\n \"suggestionFeature\": {\n \"type\": \"ARTICLE_SUGGESTION\"\n },\n \"conversationModelConfig\": {\n }\n }]\n },\n \"messageAnalysisConfig\": {\n }\n},\n\"notificationConfig\": {\n \"topic\": \"projects/PROJECT_ID/topics/CONVERSARION_LIFECYCLE_TOPIC_ID\",\n \"messageFormat\": \"JSON\"\n},\n\"newMessageEventNotificationConfig\": {\n \"topic\": \"projects/PROJECT_ID/topics/NEW_MESSAGE_TOPIC_ID\",\n \"messageFormat\": \"JSON\"\n},\n\"newRecognitionResultNotificationConfig\": {\n \"topic\": \"projects/PROJECT_ID/topics/INTERMEDIATE_TRANSCRIPT_TOPIC_ID\",\n \"messageFormat\": \"JSON\"\n},\n\"languageCode\": \"en-US\"\n}\n```\n\nOptional: Enable message ordering\n---------------------------------\n\nConversation ID is the ordering key for published Pub/Sub transcript messages. To receive the messages in order, [set the message ordering property](/pubsub/docs/ordering#enable_message_ordering) on the subscription you receive messages from.\n\nOptional: Fetch more information\n--------------------------------\n\nDialogflow appends conversation IDs, message IDs, participant IDs, and participant roles to the [Pub/Sub messages](/pubsub/docs/reference/rest/v1/PubsubMessage#attributes) as attributes. You can access these attributes with [`PubsubMessage.attributes`](/pubsub/docs/reference/rest/v1/PubsubMessage#attributes) or you can fetch them together with the following Pub/Sub message data by [subscribing with custom attributes](/pubsub/docs/samples/pubsub-subscriber-async-pull-custom-attributes).\n\n- The attribute key of participant ids: `participant_id`\n- The attribute key of message ids: `message_id`\n- The attribute key of conversation ids: `conversation_id`\n- The attribute key of participant roles: `participant_role`\n\nThe following is an example of a set of attributes: {`\"conversation_id\": \"c_id\"`, `\"participant_id\": \"p_id\"`}\n\nOptional: Subscription configurations\n-------------------------------------\n\nFollow these guidelines to customize your Pub/Sub subscription for handling transcript delivery:\n\n- [Handle message failures with subscription retry policy](/pubsub/docs/handling-failures#subscription_retry_policy)\n- [Replay previously-acked messages or purge messages](/pubsub/docs/replay-overview)\n- [Forward undelivered messages to a topic for unprocessed messages](/pubsub/docs/handling-failures#dead-letter_topic)"]]