Loading
Prepare for Email to Become the Default Login ExperienceRead More
Agentforce Contact Center
Capture Customer Voice Messages in an Omni-Channel Flow

Capture Customer Voice Messages in an Omni-Channel Flow

Allow callers to leave short voice messages when requesting callbacks during off-hours or busy periods. The system records, transcribes, and summarizes the voice message and links it directly to the contact request, giving support representatives the necessary context to conduct informed callback conversations.

Required Editions

Required Editions
This article applies to: Salesforce Voice (Native Telephony)
User Permissions Needed
To capture voice message summary and transcript for record: Agentforce Contact Center Admin (Salesforce Voice) Permission Set
To use AI summary flow (using Get Conversation Transcript for Record and Create voice message summary actions): Einstein Generative AI / Prompt Builder turned on (Org level permissions)
To customize AI Summary Flow (using custom prompt): Prompt Template Manager permission set, Manage Prompt Templates, Execute Prompt Templates OR Customize Application permission set

Let's consider an after-hours support scenario where a customer calls outside regular business hours to report a damaged product. Instead of hanging up or waiting blindly for a callback, the customer is offered a callback option and prompted to leave a short voice message describing the issue. When a service rep logs in during business hours, they receive a contact request populated with an automated transcript and concise AI summary of the caller's message, enabling the agent service rep to place an informed, high-context callback.

  1. Configure Voice Message Capture in an Omni-Channel Flow
    1. From Setup, enter Flows in the Quick Find box, then select Flows.
    2. Click New Flow and select Omni-Channel Flow.
    3. Add a Play Prompt element to play a welcome message:
      • Label: Welcome
      • API Name: Welcome
      • Set Timeout Length:
        • Amount of Time: 1
        • Units: Days
      • Prompt Section:
        • Record ID: {!recordId}
        • Type of Prompt: Select Message
        • Language: English (United States)
        • Message: All our service reps are busy. Drop your message, we will get back to you once the agent is free.
        • User Response Settings: Not Required.
    4. Click add icon and select Capture Voice Message to record the voicemail:
      • Label: Capture Voice Message Action 1
      • API Name: Capture_Voice_Message_Action_1
      • Voicemail Configuration:
        • Record ID: {!recordId}
        • Maximum Recording Duration: 30 Seconds
        • Play a beep before recording starts: Turn On.
    5. Add a Create Records element to create the Contact Request record for the callback:
      • Label: Create Callback Request
      • API Name: Create_Callback_Request
      • How to Set the Record Fields: Select Manually
      • Object: Contact Request
      • Set Field Values for the Contact Request Record:
        • Is Callback: true
        • Related To ID: {!recordId}
        • Preferred Number: Enter the phone number
        • Is Preview Callback: True
          Note
          Note The default value for Preview Callback is False. When this value is set to True, the system does not immediately initiate a call to the customer when a contact request is assigned to a representative. Instead, representatives can review the request, understand the context, and then proceed with the call using .
    6. Add a Route Work element to route the Contact Request (Callback) record:
      • Label: RouteWork
      • API Name: RouteWork
      • How Many Work Records to Route?: Select Single
      • Record ID Variable: Select the Contact Request record variable ({!Create_Contact_Request}
      • Service Channel: Select Phone
      • Route To: Select Queue
      • Queue: Select your target queue (e.g., OrgForm GPC / Unassigned Queue).
    7. Add a Play Prompt element to confirm receipt of the message:
      • Label: confirmation
      • API Name: confirmation
      • Prompt Section:
        • Record ID: {!recordId}
        • Type of Prompt: Select Message
        • Language: en-US
        • Message: we have recorded your message, we will get back to you soon.
        • User Response Settings: Not Required.
    8. Add an End Call element to disconnect the line:
      • Label: EndCall
      • API Name: EndCall
    9. Save and Activate the flow.
      To prevent errors when the call is terminated, add the fault path or execute the steps while the call is active.
  2. Create the Voice Message Summary Prompt Template (Optional)
    1. From Setup, enter Prompt Builder in the Quick Find box, then select Prompt Builder.
    2. Click New Prompt Template.
    3. Configure flow template:
      • Prompt Template Type: Voice message summary
      • Prompt Template Name: CustomerDefinedTemplate
      • API Name: CustomerDefinedTemplate
      • Description: Customer wants to know if the call was an enquiry or support requirement.
    4. Click Next.
    5. In the Prompt Builder page, add a prompt. (Such as: Take the input from the transcript, summarize it and identify if the request is potential sales or service enquiry)
    6. Under Template Details, in the Resources tab, select Transcript.
    7. Save and Activate.
  3. Configure the Record-Triggered AI Summary Flow
    1. From Setup, select Flows and click New Flow.
    2. Select Record-Triggered Flow and configure the trigger settings:
      • Object: Contact Request
      • Trigger: A record is created
      • Set Entry Conditions:
        • Condition Requirements: Custom Condition Logic Is Met
        • Field: Related To ID
        • Operator: Contains
        • Value: 0LQ (Voice Call record ID prefix)
      • Optimize the Flow for: Actions and Related Records
    3. Add an Action element (Get Conversation Transcript for Record) to fetch the transcript:
      • Label: get transcript
      • API Name: get_transcript
      • Action: Get Conversation Transcript for Record
      • Record ID: {!$Record.RelatedToId}
    4. Add an Action element (Create voice message summary) to process the transcript with AI:
      • Label: create summary
      • API Name: create_summary
      • Action: Create voice message summary
      • Input Values:
        • Transcript: {!get_transcript.conversationTranscript}
        Note
        Note You can use the default Create voice message summary action element or create a new prompt template.
    5. Add an Update Records element to populate the Contact Request description:
      • Label: updateRecord
      • API Name: updateRecord
      • How to Find Records to Set and Store Their Values: Select Use the contact request record that triggered the flow
      • Set Field Values for the Contact Request Record:
        • Request Description: {!create_summary.promptResponse}
        • Related Reason: {promptResponse}
    6. Save and Activate the flow.
 
Loading
Salesforce Help | Article