An intermediate transcript is an interim result of speech recognition from the Cloud Speech-to-Text API . The intermediate transcript can change upon further analysis of the audio. Configure intermediate transcription delivery with a Cloud Pub/Sub topic or use gRPC for voice transcription delivery.
You can configure delivery of the final result of speech recognition 
with ConversationProfile.newMessageEventNotificationConfig 
or with gRPC responses.
Create or update your conversation profile
Follow these steps when you create or update a conversation profile. Agent Assist does not redact intermediate transcripts.
Console
- Within the Agent Assist console, click Conversation profiles.
- Click the name of a profile or + Create.
- Navigate to Pub/Sub notifications, and select Transcription intermediate result notifications.
- Enter the Pub/Sub topic you created for receiving intermediate transcripts, and select your message format.
- Click Save.
REST
- Configure a Pub/Sub topic for receiving intermediate transcriptions with ConversationProfile.newRecognitionResultNotificationConfig.
Example Configuration:
{ "name" : "projects/PROJECT_ID/locations/global/conversationProfiles/CONVERSATION_PROFILE_ID" , "displayName" : "CONVERSATION_PROFILE_NAME" , "automatedAgentConfig" : { } , "humanAgentAssistantConfig" : { "notificationConfig" : { "topic" : "projects/PROJECT_ID/topics/FEATURE_SUGGESTION_TOPIC_ID" , "messageFormat" : "JSON" } , "humanAgentSuggestionConfig" : { "featureConfigs" : [{ "enableEventBasedSuggestion" : true, "suggestionFeature" : { "type" : "ARTICLE_SUGGESTION" } , "conversationModelConfig" : { } }] } , "messageAnalysisConfig" : { } } , "notificationConfig" : { "topic" : "projects/PROJECT_ID/topics/CONVERSARION_LIFECYCLE_TOPIC_ID" , "messageFormat" : "JSON" } , "newMessageEventNotificationConfig" : { "topic" : "projects/PROJECT_ID/topics/NEW_MESSAGE_TOPIC_ID" , "messageFormat" : "JSON" } , "newRecognitionResultNotificationConfig" : { "topic" : "projects/PROJECT_ID/topics/INTERMEDIATE_TRANSCRIPT_TOPIC_ID" , "messageFormat" : "JSON" } , "languageCode" : "en-US" }
Optional: Enable message ordering
Conversation ID is the ordering key for published Pub/Sub transcript messages. To receive the messages in order, set the message ordering property on the subscription you receive messages from.
Optional: Fetch more information
Dialogflow appends conversation IDs, message IDs, participant IDs, and participant roles to the Pub/Sub messages 
as attributes. You can access these attributes with  PubsubMessage.attributes 
 
or you can fetch them together with the following Pub/Sub message data by subscribing with custom attributes 
.
- The attribute key of participant ids: participant_id
- The attribute key of message ids: message_id
- The attribute key of conversation ids: conversation_id
- The attribute key of participant roles: participant_role
The following is an example of a set of attributes: { "conversation_id": "c_id" 
, "participant_id": "p_id" 
}
Optional: Subscription configurations
Follow these guidelines to customize your Pub/Sub subscription for handling transcript delivery:

