Symptom
After a call is logged in Salesforce through RingDNA, the Advance Solution Package fields on Lead/Contact or Account records do not update.
Additional Information
These updates are initiated by a platform event in Salesforce when a call is logged to Salesforce. An Apex Batch job (DmlEngine2 class) is scheduled to perform the update asynchronously. This job processes updates in the background and may take a few minutes to complete due to Salesforce resource availability.
Possible Causes
- User does not have the "RingDNA Agent for Salesforce" permission set assigned. Without this, the triggers to perform these updates will not run.
- A validation rule is blocking the update from being written to Salesforce.
- Your org is at its limit for asynchronous batch jobs and all current batches are in a queued or holding status until Salesforce resources become available.
Solution
- Check the current state of the record: Start by checking the initial state of the Lead or Contact fields related to the Advance Solution Package. This will help you see if the fields are updating correctly after a call.
- Call Attempts
- Time Since Last Call
- Place a test call in Salesforce: Allow a few seconds for the call to be completed and confirm that the Task and Conversation records have been created in Salesforce successfully.
- Review Apex Jobs: In Salesforce Setup, navigate to the Apex Jobs list and look for the job
DmlEngine2
. It will show a status such as "Queued" or "Processing," which may take a few minutes as Salesforce processes the job. This delay is normal. - Review Job Status: Once completed, the job status should display "Success." If there is an error, it will appear in the Status Detail section.
- If the Status is in "Queued" for more than a few minutes, this might indicate that you have too many Apex Batch Jobs running in your Salesforce instance, or too many resources are being used.
- If the status is "Failed", refer to the Status Details section for the reason. Most commonly, this is due to a validation rule or automation in Salesforce blocking the update.
- If you do not see any "DmlEngine2" job, this might indicate your user (or the user that placed the call) does not have the appropriate permission set in Salesforce.
Advanced Troubleshooting
If you are a Salesforce Administrator without direct access to the ringDNA Dialer to place a call, you can run the following Apex in your Developer Console to clone an already existing call activity in Salesforce when attempting to reproduce errors.
Replace “INSERT-TASK-ID-HERE” with 18-char Task ID.
Id taskId = 'INSERT-TASK-ID-HERE'; String q = 'SELECT '; Task clonedTask = (Task) Database.query(q)[0].clone(false, true, false, false); insert clonedTask; |