Richard's reponse:
That's where you have to get creative. Generally, I would recommend running this as a scheduled job in Salesforce to reconcile completed activities with the PureCloud public API, but how you go about it is up to you. Using the completed flag on the activity will ensure that agent's leg of the call is finished (i.e. they've either ended the call or completed the transfer), so at least the metrics for their portion of the call should be available.
Challenges:
Salesforce has a limit on number of API calls that can be done. So we wanted to get that info in bulk. like it is there for /api/v2/analytics/conversations/details
But the Architect saved attributes value has to be extracted for Survey response capture in Salesforce. We get that metric using, /api/v2/conversations/calls/{conversationId} where there is no provision of getting value in bulk for suppose 50 conversation ID at one go.
What is the best way to extract the architect variables from multiple conversationId at one go?
The other option that you might have would be to leverage data actions to write the survey responses back to Salesforce (likely using a custom object), then use a Scheduled job in Salesforce to aggregate that back onto other related records (using conversation IDs as the binding point).