divya.b.prabhu | 2019-07-17 11:41:50 UTC | #1
Continuing the discussion from When activity-records are coordinated with Salesforce:
@Richard.Schott I would like to know how to get the hold time as I do not see any attribute to get that info to Salesforce
Once I get Total hold time(THT) for that interaction , I can calculate the talk time duration of that call: Talk time= Call Duration- (Wrap-Up)- Hold time
Thanks @Richard.Schott, @GenesysCommunity
divya.b.prabhu | 2019-07-17 12:59:36 UTC | #2
Also to add, for each mapped custom attributes in Salesforce: Is it mandatory to create a Workflow rule to populate the Salesforce custom field.
The reason why I am asking is: I mapped the IVR attributes(Participant.*) with Salesforce fields but its not getting populated to those fields automatically and I had to create Workflow rule for the populating each of those custom Salesforce fields.
@Richard.Schott : Please advise. Thanks for all your help! :slight_smile: @GenesysCommunity
divya.b.prabhu | 2019-07-19 13:50:03 UTC | #3
Hi @GenesysCommunity, @Richard.Schott,
Any update on this? I am using the below attributes for getting wrap up time and Call duration
Salesforce.AfterCallTime | All* | Total time in seconds spent on wrap-up work, from the disconnection of the interaction to the completion of wrap-up work. |
Salesforce.CallDuration | All* | Total duration in seconds that an agent spends on an interaction, including wrap-up work. |
thanks!
divya.b.prabhu | 2019-07-24 13:50:59 UTC | #4
@Richard.Schott, @GenesysCommunity
1.Any update on Hold time attribute in Salesforce and also the call wait time (in queue before agent answered) ? (shared the attribute used for Call duration and call wrap up on this thread. I am looking for similar attribute info)
- Is it mandatory to create a Workflow rule to populate the Salesforce custom field?
Richard.Schott | 2019-07-24 17:49:51 UTC | #5
Hold time and Wait Time are not attributes that are currently available. the list of attributes currently available can be found here: https://help.mypurecloud.com/articles/synchronize-interaction-attributes-with-salesforce-activity-records/
The best recommendation that I have to get the information that you're looking for is to utilize the call identifier and the PureCloud public API to reference the data you're looking for.
Lastly, no, it is not mandatory to create a workflow rule to populate a custom field on the Salesforce activity. You may have some strange customization that is preventing saving to the field, or it may not be visible (this is a known limitation with lightning). Any way it goes, inability to write to a field in Salesforce is almost assuredly a misconfiguration in Salesforce.
divya.b.prabhu | 2019-07-25 10:53:55 UTC | #6
Hi @Richard.Schott,
I see that using Analytics API we get the talk time, wait time but how do I call this API at the end of call since this has to be populated in the call log activity task of Salesforce.
If i call the API before the transfer of call, it will not be able to fetch the hold time, talk time or wait time?
Where do we write this calling of API on the Salesforce side? if yes, where in Salesforce?
If in PureCloud actions, then how do i call this action at the end of the call?
Richard.Schott | 2019-07-25 12:46:29 UTC | #7
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.
divya.b.prabhu | 2019-08-05 12:46:07 UTC | #8
@Richard.Schott
Would like to know where are we going wrong, The task activity log has some custom fields to populate and we are able to populate it when there is info passed from IVR.
For cases where this field value isBlank passed from IVR and it tries to Populate in autolookup field in Salesforce it throws an error. We tried with Lightning Process Builder and also triggers but it starts throwing error whenever blank value is passed( we have already put conditions whenever blank do not populate)
I think we will need help here. I would like to get on a troubleshooting session with Support. This can be done right? Meanwhile, Do you have any documentation on this? I know the questions will sound silly but Salesforce i am not that aware.
tim.smith | 2019-08-05 18:48:57 UTC | #9
divya.b.prabhu, post:8, topic:5579
I think we will need help here. I would like to get on a troubleshooting session with Support. This can be done right?
Genesys Professional Services can be contracted to implement software or provide hands-on consulting/troubleshooting services to you. You can contact your PureCloud account rep to get a contract started.
Richard.Schott | 2019-08-05 21:02:02 UTC | #10
The only time saving an activity record should error out is if either there is a contention issue where you're attempting to update a field the PureCloud for Salesforce integration is attempting to write to as well (which is generally what you're doing with the process builder or trigger), or if there is a validation rule on the field that is not being met.
If the field must not be blank (per your validation rules) you could check the attribute in the call flow and set it with some value that indicates the information was not provided without leaving the field blank.
divya.b.prabhu | 2019-08-07 05:27:00 UTC | #11
Hi @Richard.Schott ,
Your help had been great in this issue. But I have still not reached a conclusion on this.
I am giving a brief work description of what we are trying to achieve: Custom Call Log Issue: Working Implementation: For all Inbound calls coming to PureCloud for Salesforce CTI Phone, we are creating a new case pop up and Case will be associated to Contact and Account if they are found with the ANI called or they will be left blank. We have introduced few new custom attributes related to case activity task(call log activity) and they are as below: Call Recording link: Implemented with Workflow rule working Phone Number: During Inbound Customer Number(ANI), During Outbound dialed number Call.CalledNumber . Both are working and implemented with trigger code. Account Name (Auto lookup field): Case Number (Auto lookup field) : is populated from the Activity field mapping in Installed Package configuration Requirement: There is a conflict on these 2 fields
- For Inbound calls, there is a case number it works fine.
But when doing Outbound call, there is no Case number and it starts throwing error. Case Number is not a mandatory field on the task layout. How does this Activity field mapping work internally? What value is passed when CaseID mapped field is null/not set, Please let us know. And how to achieve this, during Inbound call update Case number and during Outbound Call ignore Case Number or stop its population with Null value. Solution: Can we achieve this in trigger, where we are handling Call Type: Inbound/Outbound check? But I feel the error is caused by Activity field mapping. Its trying to populate null value to Case Number which is a auto lookup field.
- Once we solve 1 pointer, next we are trying to populate Account Name(look up field) associated with Case on the Call log activity.
i. If account is associated with case, it works fine . ii. if no account is associated with case, we want to leave Account name blank/not set. How to achieve this? iii. What to use in SF and what trigger to use on what event(create/modify) so that we update the Account Name at the end of call when account will get associated with case?
- Populating 3 more Call attributes: Hold time(tHeldComplete), Wait time(tWait), Talk time(tTalkComplete):
As the default population in SF, populates Call Duration and mapping of Salesforce.AfterCallTime takes care of the Wrapup time.
Is there no way that we have these attributes also given in the mapping? Or We got to know from Richard Schott to use batch Scheduled Job for this activity, which will be heavy load for the system to run 3 times a day. Can there be a way to modify any of the already coded stuff to populate the Call duration we utilize the same to populate this 3fields. (I know the ask is too much in this or might even seem silly. But I want to know some other easier solutions)
- Is there a way to customize Name and Related To default fields:
Name: When a case pops up, Related To: will populate Case Number, But Name field is set blank . Can we populate the Name field with the contact associated with the case? Related To: Same way when doing Outbound Call, Name: will have Contact Name, but Related To: is blank can that be populated with associated account? For Outbound call, to Phone number associated with Account, Related To: populates Account Number and Name: blank Can that also populate with associated Contacts? How can we achieve the above modification?
Thanks @Richard.Schott, @GenesysCommunity
system | 2019-09-07 05:24:10 UTC | #12
This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.
This post was migrated from the old Developer Forum.
ref: 5579