Genesys Cloud - Developer Community!

 View Only

Sign Up

  • 1.  Issue with Conversation.TotalAcdTime not populating via CX Cloud Salesforce Field Mapping

    Posted 26 days ago

    Hi everyone,

    I'm currently working with the CX Cloud from Genesys and Salesforce integration and trying to sync call attributes to the Salesforce VoiceCall object.

    I followed the documentation here: Synchronize call attributes with Salesforce VoiceCall records

    The Setup:

    • I created a custom field on the Salesforce VoiceCall object: ACD_Time_Seconds__c (Number, 8, 0).

    • In Genesys Cloud Conversation Field Mapping, I have mapped:

      • Conversation.CalledNumberCalled Number (Salesforce)

      • Conversation.TotalAcdTimeACD Time (s) (Salesforce)

    The Issue: While Conversation.CalledNumber is populating correctly on the VoiceCall record, the ACD Time remains blank/null, even for interactions that clearly spent time in a queue. Our agents would like to see that value on an incoming call to react to the caller better ....


    Any help is appreciated. 


    #Integrations

    ------------------------------
    Mario Zoske
    n/a
    ------------------------------


  • 2.  RE: Issue with Conversation.TotalAcdTime not populating via CX Cloud Salesforce Field Mapping

    Posted 26 days ago
    Edited by Mario Zoske 26 days ago

    I upgraded from the package version 2.24 to 2.26. Then it was working once (for the first incoming call). Now, again, not working.



  • 3.  RE: Issue with Conversation.TotalAcdTime not populating via CX Cloud Salesforce Field Mapping

    Posted 20 days ago

    An update on this: strangely enough, the mapping is now working as expected. After toggling the configuration back and forth (testing with a Text field and then reverting to the original Number field), the Conversation.TotalAcdTime is now populating correctly in Salesforce. It seems a "refresh" of the mapping settings was all it needed to start sticking.

    However, I've run into a secondary functional hurdle:

    While the data is now syncing, the value only populates on the VoiceCall record after the agent accepts the call (or once the ACD phase is technically finalized in the Genesys transition).

    Because the field only populates at that point, placing it on the standard Page Layout doesn't help the agent in real-time. By the time the number appears, the "reaction window" for a long-waiting caller has already passed.

    Has anyone found a way to surface "Time in Queue" to the agent specifically during the alerting/ringing phase within CX Cloud? Or are most people using a separate Lightning Component/Script to pull this live from the Genesys interaction attribute before the record officially saves?



    ------------------------------
    Mario Zoske
    n/a
    ------------------------------



  • 4.  RE: Issue with Conversation.TotalAcdTime not populating via CX Cloud Salesforce Field Mapping
    Best Answer

    Posted 20 days ago

    this is actually a pretty common behavior with TotalAcdTime, and you're right: the attribute is only finalized once the ACD portion of the flow completes, which means the value won't be available during the alerting phase.

    A few suggestions that might help:

    1. Use a custom attribute for "live" Time-in-Queue

    In several deployments, we've handled this by exposing a custom flow attribute that updates before the call is offered to the agent. For example:

    • Capture the time when the interaction enters the queue
    • Calculate elapsed queue time right before ACD > Transfer to Agent
    • Write that value into a User-to-User (UUI) or custom conversation attribute

    This allows Salesforce (or the widget) to display the value immediately when the call alerts.

    2. Use the Widget API (or Lightning Web Component) to poll the interaction

    Some customers build a small LWC that:

    • Reads the active conversation ID from the widget
    • Calls /api/v2/conversations/{id} every few seconds
    • Pulls metrics.acd or a custom attribute with queue time

    This solves the timing limitation since it doesn't rely on the VoiceCall record being written yet.

    3. Confirm whether Conversation.TotalAcdTime is supported pre-answer

    Genesys confirms in several threads and documentation notes that:

    • TotalAcdTime is not populated until the ACD segment ends, which happens only after the agent accepts the call.

    So for real‑time usage, a custom attribute or API read is normally required.

    4. Re-saving mappings triggering the fix

    The behavior you saw (mapping starting to work after toggling types) is something I've seen before - sometimes the field mapping cache doesn't refresh properly until the configuration is revalidated.


    If you'd like, I can also draft a short example of a flow snippet or the LWC approach to show queue time live.



    ------------------------------
    Cesar Padilla
    INDRA COLOMBIA
    ------------------------------