Received an email with a Salesforce error but not sure what it means or how to fix it? We’ve got you covered! These errors are surfaced in our Salesforce Event Log, below we will tell you what these errors mean and how to solve them!
Plan availability: The Salesforce integration is available on any paid Drift plan, starting with Premium.
In this article, we'll cover:
- The Anatomy of an Error
- Common Salesforce Errors and How to Resolve Them
Anatomy of an Error
Here are a few key points that will help you decode the Salesforce error log in Drift.
“errorCode” - Typically in all caps, this is the keyword that indicates the kind of error we are getting.
“Message” - This is the context we’re getting from Salesforce to explain the error.
Keep in mind: You will need to make sure your connected integrations user has the proper user and object permissions. A great majority of errors between Drift and Salesforce are permission issues and can usually be resolved by reviewing your User and Object permissions. We recommend giving this doc a read through to better understand these issues.
Common Salesforce Errors and How to Resolve Them
Below we will cover some of the Salesforce errors we have seen in Drift. We will discuss the Error code, the exact error message, an explanation of the error, and then the resolution!
Error code/reason: INACTIVE_OWNER_OR_USER
Full error message:
Failed to add Conversation in Drift task for Contact: abc@123.com Cause: [{"message":"operation performed with inactive user [005U0000003gMD2] as owner of task","errorCode":"INACTIVE_OWNER_OR_USER","fields":[]}]
Explanation:
The salesforce user you are trying to assign the activity/task to is not an active user in Salesforce. In the error message above, this number [005U0000003gMD2] is the Salesforce ID of the person being assigned to the activity/task
Resolution Steps:
1. Check the mapped user section in Drift and make sure this user is mapped to the correct person. If you are not utilizing the mapped users section, skip this step.
2. Check Salesforce to make sure there isn’t 2 of the same user with one being inactive and the other being active. Using the SFID in the error message should help you track down exactly who this user is.
Error code/reason: Failed to process event for salesforce
Full error message: Failed to process event for salesforce: java.lang.RuntimeException: Integration proxy server failure
Explanation: There was a communication error between Drift and Salesforce.
Resolution Steps: Re-sync your conversation after seeing this error and it should sync over successfully.
Error code/reason: INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY
Full error message: [{"message":"You don’t have access to assign events to this calendar. Ask your admin to increase your sharing access level for this calendar.","errorCode":"INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY","fields":["OwnerId"]}]
Explanation: As is stated in the error, this is a sharing violation within Salesforce. The integration user doesn’t have access to the record being specified in the “OwnerId” field. In this case, the calendar
Resolution Steps: Adjust the org-wide calendar sharing rule to allow “Add Events” specification. (Either “Hide Details” or “Show Details” are fine, so long as “Add Events” is selected). Detailed Salesforce documentation here: https://help.salesforce.com/s/articleView?id=000327324&type=1
Error code/reason: FIELD_INTEGRITY_EXCEPTION
Full error message: Failed creating contact with email abc@123.com. Cause: [{"message":"There's a problem with this country, even though it may appear correct. Please select a country/territory from the list of valid countries.: Mailing Country","errorCode":"FIELD_INTEGRITY_EXCEPTION","fields":["MailingCountry"]}]
Explanation: The country you are sending to Salesforce from Drift doesn’t match the value in your picklist. Make sure you are sending values that match what is in your Salesforce picklist.
Resolution Steps: Either point to a different field and write a workflow to map the value you get from Drift to the proper picklist, or make sure that you are sending abbreviations (or full names, depending) from Drift to Salesforce. The value sent from Drift has to match what’s in your Salesforce to a T (caps and lowercase matters)
Error code/reason: INVALID_FIELD
Full error message: Failed to add Conversation in Drift task for Lead: abc@123.com Cause: [{"message":"No such column 'WhoId' on sobject of type Task","errorCode":"INVALID_FIELD"}]
Explanation: In order for Drift to be able to send information to Salesforce we will need access to your Salesforce via the permissions
Resolution Steps: The connected integrations user is missing permissions, please refer to and check all of your permissions https://help.salesloft.com/s/article/Granting-the-Proper-Salesforce-User-and-Object-Permissions-for-Drift-and-Salesforce
Error code/reason: Failed to refresh access token
Full error message: Failed to refresh access token cause: {“error”:”unknown_error”,”error_description”:”retry your request”}
Explanation: Drift validates access tokens when making requests, and the Salesforce server likely took too long to respond to Drift’s request for “validation”
Resolution Steps: The “Retry Your Request” issue usually means you need to re-open/close the conversation that happened at the same time as this error as we had difficulty reaching Salesforce.
Full error message: failed to refresh access token cause: {"error":"invalid_grant", "error_description":"authentication failure"}
Explanation: The authentication token is expiring and needs to be refreshed.
Resolution Steps: Disconnect and reconnect the Salesforce integration. All of your Salesforce integration settings are cached within Drift so you will not need to reconfigure the integration after you reconnect it.
Full error message: Failed to refresh access token cause: {"error":"system_down","error_description":"system may be currently unavailable"}"
Explanation: This error message shouldn't have any negative implications and can be seen when Salesforce's system experiences an outage due to technical difficulties on their end.
Resolution Steps: This is a temporary error and should resolve on its own without needing to take any action.
Full error message: failed to refresh access token cause: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false') at [Source: (String)" <html> <head><title>An internal server error has occurred</title></head> <body> <div style="display:none;" id="errorTitle">An internal server error has occurred</div> <div style="display:none;" id="errorDesc">An error has occurred while processing your request. The salesforce.com support team has been notified of the problem. If you believe you have additional information that may be of help in reproducing or correcting the error, please contact <a href="/HelpAndTrainingDoor?version=2&re"[truncated 1273 chars]; line: 7, column: 2]
Explanation: This error message occurs when there is an issue with the access token refresh process due to an unexpected HTML response from Salesforce. Instead of receiving the expected JSON response, the system encounters an HTML page that indicates an internal server error on Salesforce's side.
Resolution Steps: If this error message appears but data continues to sync successfully between Salesforce and Drift, there is no immediate cause for concern. However, if the error occurs regularly or on a daily basis, we will need to investigate the issue further.
Error code/reason: We were unable to fetch available Salesforce resources. Verify this user has the correct permissions and access granted.
Full error message: 'Salesforce Integration was disconnected automatically due to an unrecoverable authorization error: 'We were unable to fetch available Salesforce resources. Verify this user has the correct permissions and access granted.'
Explanation: If all field level permissions are correct, this error indicates an issue with system level permissions.
Resolution Steps: Ensure the profile assigned to the integrations user in Salesforce has the following System Permissions Enabled:
- API Enabled
- Edit Events
- Edit Tasks
- View All Data
Error code/reason: JSON_PARSER_ERROR
Full error message: Failed to create contact for email abc@123.com after repair. Cause: [{"message":"Cannot deserialize instance of double from VALUE_STRING value More than 400 or request may be missing a required field at [line:1, column:246]","errorCode":"JSON_PARSER_ERROR"}]”
Explanation: In this case you were mapping ‘More than 400’ as a string value over to the attribute ‘Fleet Size’. ‘Double’ is a number variant, which means that ‘Fleet Size’ is most likely a numeric value in Salesforce, which would be why the error arose.
Resolution Steps: Change the mapping from a string value to a numeric value.
Error code/reason: ScheduleTaskTaskQueueClient failed and no fallback available
Full error message: Failed to process event for salesforce: ScheduleTaskTaskQueueClient failed and no fallback available
Explanation: This error indicates a communication error between Salesforce and Drift.
Resolution Steps: Wait for a few minutes and try to sync the data to Salesforce again.
Error code/reason: Java.lang.RuntimeException: java.util.concurrent.TimeoutException
Full error message: Failed to process event for salesforce: java.lang.IllegalStateException: Unexpected error in the proxy service.
Explanation: This is a timeout error and should be no cause for concern. It means at the time that this data was trying to be pushed over Drift and Salesforce took too long to talk to each other so the request timed out. In this case, the data that fails to sync gets added to the retry queue so it should still be getting over to Salesforce without issue.
Resolution Steps: This requires no action on your end, it was a brief error and you should not see it again
Error code/reason: Java.lang.RuntimeException: java.util.concurrent.TimeoutException
Full error message: Java.lang.RuntimeException: java.util.concurrent.TimeoutException Http request timed out for SalesforceDescribeSObject after 10,000 milliseconds
Explanation: This is a standard timeout error that originates from Salesforce’s end. It occurs when a request takes too long to process.
Resolution Steps: When this error occurs, the request is automatically added to the retry queue and should still sync successfully without requiring manual intervention. However, to confirm that the data synced as expected:
-
- Locate the conversation that occurred at the same time the error was logged.
- Check your Salesforce integration to verify that the data was successfully added after the retry attempt.
If the data did not sync, you may need to manually re-sync the conversation data from within Drift.
Error code/reason: "Failed to refresh access token cause: token request is already being processed"
Explanation: This error occurs when Drift attempts to sync Salesforce task data for engagement scores in Prospector. At the time of syncing, Drift is unable to retrieve a valid access token, which results in this error message appearing in the Salesforce Event Log.
Resolution Steps:
• No action is required from the customer, as this error does not impact the primary functionality of the Drift-Salesforce integration.
• Leads, contacts, accounts, tasks, and events will continue to sync as expected.
• No action will prevent this error from occurring in the future.