This article provides an in-depth explanation as to how the Click to Call panel saves data to the Salesforce CRM, how that same data is recorded in the Insidesales.com database, and how record data is pushed to the correct task in the Salesforce CRM.
Creating the Call Task with Impression ID
When you press the dial button with a valid phone number in the manual dial line or click on a phone number associated with a record the agent leg will attempt to establish by calling your station phone.
Once the agent leg is picked up two important things happen:
- The click to call log expands showing the fields that you can log during your call.
- A call task with a unique impression ID is created where the data for the call is stored. The impression ID is not usually a visible field, but it does exist on the call task as a number field and can be added to the task layout. Insidesales.com uses this impression ID in conjunction with your subdomain to synchronize data between your CRM and our database for each individual task.
Note: the Impression ID field is a great way to identify calls made using the PowerDialer in reports.
Pushing Data to Salesforce
When the call log expands, you can complete the fields in the Current Call Log section of the dialer panel. As you move from field to field, the call log saves automatically. When the call log auto saves, apex code fires and updates the field on the associated task in Salesforce. The data is also pushed to InsideSales.com through an API call at the same time.
If the user puts invalid data into a call log field, such as a string in a number field, that data will be discarded, and no data will be pushed to the Salesforce task or saved to the InsideSales.com database.
This data saving process occurs each time you move from one field to another, and one final time when the user clicks 'Save and Complete'.
After clicking Save and Complete on the Current Call Log, you can view the newly created task on the record in Salesforce in the Activity History. The Subject line will say 'Call - (phone number dialed) - (text entered on the Current Call Log)'. Any notes entered in the Description field of the Current Call Log will be recorded in the 'Notes' field on the task. You will also see the Call Disposition will populate with the Call Result entered on the Current Call Log as well as any other custom fields that you have added to the Current Call Log.
15 Minute Push
It is standard that all other data that cannot be logged to the call task immediately will be pushed in batches every 15 minutes by the InsideSales.com server. Our servers do this using API through the access user and the impression ID field.
The system updates the following fields which include, but are not limited to, 'Call Recording', 'Call Duration', 'Call Time Zone', and 'Call Hour'. The subject and comments fields are also updated on the call task again.
Because these fields are updated by the access user at the 15-minute push, the 'Last Modified By' field will also be updated to show the access user was the last user to modify the record. This is a good indication that the system has pushed the additional data to the call task because until the access user updates the additional fields, the 'Last Modified By' field will show the user who placed the call.
The moment that the call is initiated the 'Assigned to' field on the call log is populated with the user’s name. Subsequently the 'Last Modified By' field will also show the users name after the initial task creation. However, after the 15-minute data push the information on the call task is updated by the access user changing the 'Last Modified By' field to the access user profile. The assigned to field will remain the same on the call task.
Best Practices / User Guidance
- Be mindful when you attempt to edit records. If you try to edit a call task at the same time the InsideSales.com system is updating a record (as the access user), you will receive an error stating the record is already being modified. This is what we call a collision error.
- You will also want to avoid editing fields on the task before the 15-minute push because those fields could be overwritten by the access user during the data push. This most often occurs in the notes field. (This is nasty. Can you confirm and bring up with product manager?)
- If you place a call by typing a number into the manual dial line, and do not associate that call to an existing record, this creates an orphan task and will not appear in an object's activity feed. However, these tasks will still be updated by the access user because data is associated using the impression ID.
(What other considerations need to be accounted for regarding Orphan tasks? Seems like there should be more.)