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
------------------------------
Original Message:
Sent: 03-16-2026 09:27
From: Mario Zoske
Subject: Issue with Conversation.TotalAcdTime not populating via CX Cloud Salesforce Field Mapping
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
Original Message:
Sent: 03-10-2026 09:50
From: Mario Zoske
Subject: Issue with Conversation.TotalAcdTime not populating via CX Cloud Salesforce Field Mapping
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.