Troubleshooting HTTP Notifications
On the Max platform, the HTTP Notification object implements a persistent message queue for data synchronization requests from Service Board to Salesforce. The following table provides details on the most common error codes and recommended actions.
* 
After you take action to address issues, to manually retry HTTP Notification records, use Mass Update to set the Status field to Pending.
Status: Failure or Pending
Condition: The Processed Count limit specified in the Retry Abort Threshold parameter of the Send HTTP Notifications operation was reached (30 by default).
Actions: The following operation parameters of the Send HTTP Notifications operation determine how Processed Count is incremented:
Retry Abort Threshold: Maximum number of notification retries before further attempts are aborted. Values must be between 10 and 360. The default value is 30.
Delay Retry Threshold: Maximum number of notification retries before a delay is added between attempts. Values must be between 0 and 60. The default value is 10.
Retry Delay Duration: Wait time (in seconds) before notifications are retried after the Delay Retry Threshold value is reached. The default value is 10 seconds. Values must be between 10 and 60.
To trigger retries, set the Processed Count field value to 0. If needed, you can adjust Send HTTP Notifications operation parameters.
Status: Failure
Response Status Code: 400 (Bad Request) 
Description: Caused either by an invalid value in a related record's field set in Salesforce, or field mapping issues in transform templates.
Actions: For validation issues, update Service Board data validation settings to match those of Salesforce. When the related record is updated, the notification is automatically retried. For transform template issues, fix any problems and set the Status field to Pending to manually retry the notification.
Response Status Code: 401 (Unauthorized) 
Description: Salesforce authentication issues.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.unauthorized_error.retry.max.attempts (20 by default) at time intervals set in the Java system property io.http.notification.unauthorized_error.retry.wait.seconds (10 by default) is reached.
If the error persists, check the Authentication tab in the active System Settings to ensure valid login credentials are configured in the Salesforce Integration area, then manually retry notifications. For more information, see Maintaining Integration User Credentials.
Response Status Code: 403 (Forbidden) or any other HTTP error code, Response Body: Includes TRANSFER_REQUIRES_READ 
Description: The Salesforce user lacks appropriate permissions to make this change.
Actions: Review Salesforce access control settings for the user.
Response Status Code: 409 (Conflict) 
Response Body: Includes SFDC version =<SFDC_version>; Incoming version = <SB_version>, where the Salesforce version is later than the Service Board version.
Description: Simultaneous updates of related Service Board and Salesforce records caused an integration version mismatch.
This notification is automatically retried based on updates made in Salesforce, which is the source of truth in this case.
Response Body: Includes SFDC version =<SFDC_version>; Incoming version = <SB_version>, where the Salesforce version is earlier than the Service Board version.
Description: When changes made in Salesforce but not yet committed to the database are synched to Service Board, event handlers make changes that are sent back to Salesforce before previous changes are committed, triggering an error.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.integration_mismatch_error.retry.max.attempts (20 by default) at time intervals set in the Java system property io.http.notification.integration_mismatch_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: 404 (Not Found) 
Description: No record with retry ID found in Salesforce.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.not_found_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.not_found_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: 423 (Locked), Send As Group: False 
Description: A lock in the Salesforce database prevented this change from being made.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system propertyio.http.notification.lock_error.retry.max.attempts (29 by default) at time intervals set in the property io.http.notification.lock_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: None, Response Body: Includes UNABLE_TO_LOCK_ROW or unable to obtain exclusive access 
Send As Group: False
Description: Same as with response status field 423 (Locked) and Send As Group field value of False.
Response Status Code: 423 (Locked), Send As Group: True 
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.lock_error_for_subgroup.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.lock_error.retry.wait.seconds(10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: None, Response Body: Includes UNABLE_TO_LOCK_ROW or unable to obtain exclusive access 
Send As Group: True
Description: Same as with response status field 423 (Locked) and Send As Group field value of True.
Response Status Code: None, Response Body: Includes System.QueryException: Record Currently Unavailable 
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.record_currently_unavailable.retry.max.attempts (20 by default) at time intervals set in the property io.http.record_currently_unavailable.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: None, Response Body: Includes Invalid status code for HTTP response: 423 
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.invalid_status_error.retry.max.attempts (20 by default) is reached. Waiting time in seconds before each automatic retry is set in the property io.http.invalid_status_error.retry.wait.seconds (10 by default). If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: Any status code that is not 2xx (Successful), Response Body: Includes QUERY_TIMEOUT 
Description: The query took too long on the Salesforce side.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.query_timeout_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.query_timeout_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: Any status code that is not 2xx (Successful), Response Body: Includes REQUEST_LIMIT_EXCEEDED 
Description: A request limit was exceeded on the Salesforce side.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.request_limit_exceeded_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.request_limit_exceeded_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: Any status code that is not 2xx (Successful), Response Body: Includes Concurrent requests limit exceeded 
Description: A concurrent request limit was exceeded on the Salesforce side.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.concurrent_limit_exceeded_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.concurrent_limit_exceeded_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: Any status code that is not 2xx (Successful), Response Body: Includes You have exceeded the maximum number (100) of Apex scheduled jobs 
Description: A limit for Apex scheduled jobs was exceeded on the Salesforce side.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.apex.job_limit_exceeded.error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.concurrent_limit_exceeded_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: Any status code that is not 2xx (Successful), Response Body: Includes Up_SVMXEventTrigger and first error: ENTITY_IS_DELETED, entity is deleted 
Description: An error occurred when users tried to update a previously deleted record in Salesforce
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.different_record_deleted.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.different_record_deleted.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: Any status code that is not 2xx (Successful), Response Body: Includes UNKNOWN_EXCEPTION 
Description: An exception occurred due to an unknown error in Salesforce.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.unknown_exception.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.unknown_exception.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: Any status code that is not 2xx (Successful), Response Body: Does not include "errorCode":"INVALID_FIELD" 
Condition: The Related HTTP Nofification Request field value is Fetch Callback Event Data Request.
Description: An error occurred while data was being fetched from Salesforce.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.fetch_event_data_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.fetch_event_data_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: 400 (Bad Request) or any other HTTP error code, Response Body: Includes CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, Insert failed, Update failed, or Delete failed 
Description: An error occurred during a record update in Salesforce.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.update_error.retry.max.attempts (2 by default) at time intervals set in the property io.http.notification.update_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: 400 (Bad Request), Response Body: Includes One or more Work Orders in the dependency group does not qualify for booking: 
Description: An error occurred during Job Dependency validation in Salesforce.
Actions: To resolve this validation error, be sure that the Zip or Service Duration fields are not empty in Work Order records related to Job Dependencies.
Response Status Code: 500 (Internal Server Error) 
Response Body: Includes time limit exceeded
Description: The Salesforce CPU usage governor limit was exceeded.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.time_limit_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.time_limit_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: 502 (Bad Gateway) 
Description: There was a connection error between Service Board and Salesforce.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.bad_gateway_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.bad_gateway_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: 503 (Service Unavailable) 
Description: The Salesforce server is not available.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.service_unavailable_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.service_unavailable_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: Any status code that is not 2xx (Successful) 
Actions: Check the HTTP Response Body field for details. After errors are addressed, set the Status field to Pending to manually retry the notification.
Response Status Code: None, Error Message: Includes ResourceAccessException or SocketException 
Description: There was a connection error between Service Board and Salesforce.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.connection_error.retry.max.attempts (29 by default) at time intervals set in the property io.http.notification.connection_error.retry.wait.seconds (120 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: None, Error Message: Includes Failed to get SFDC token 
Description: An error occurred during Salesforce authentication.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.get_token_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.get_token_error.retry.wait.seconds (60 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: None, Error Message: Includes DataAccessResourceFailureException or CannotGetJdbcConnectionException 
Description: There was a database error in Service Board.
Actions: This notification is automatically retried until the maximum number of attempts specified in the Java system property io.http.notification.connection_error.retry.max.attempts (20 by default) at time intervals set in the property io.http.notification.connection_error.retry.wait.seconds (10 by default) is reached. If the error persists after all automatic retries are complete, set the Status field to Pending to manually retry the notification.
Response Status Code: None 
Description: The notification was not sent.
Actions: Check the Error Message field for details of the cause. After errors are addressed, set the Status field to Pending to manually retry the notification.
Status: Outdated
Description: The notification was ignored during the automatic-retry process for notifications for several reasons. The notification Auto-retrying notifications with response status code 400 (Bad Request) is received in cases where an invalid field value triggers a failure notification, and the value is corrected. The notification with the invalid value is set to Outdated and the notification with the valid value is sent. Another case is when records are deleted on the Salesforce side, which triggers a response with the message ENTITY_IS_DELETED for soft-deleted records, or INVALID_CROSS_REFERENCE_KEYfor hard-deleted records. Additionally, this error can occur in cases where the Job record related to the failed notification has been deleted from Salesforce. Also, notifications are set to Outdated when errors caused by deleted Event attendees trigger the Salesforce response insufficient access rights on object id,
Actions: No action is needed, as this notification indicates only that a failure was followed by an automatic retry.
Status: Pending
Not Ready to Send: True 
Description: A condition must be met before the notification is sent.
Actions: Check the Not Ready to Send Message field for details. The condition setting is automatically checked for updates, and after the condition is met, the notification is sent.
Send As Group: False 
No Progress?: True
Condition: Previous notifications for the same related record are not yet sent.
Description: Notifications are sent in the order they are created. A notification is sent only if the previous notification was sent successfully.
Actions: Check the oldest unsent notification for the relevant record.
Send As Group: True 
No Progress?: True
Condition: A previous notification with the same Group ID value as this notification for the same related record is not yet sent.
Description: All notifications in a group must be ready to send for the group to be ready to send.
Actions: Check the oldest unsent notification in the group for the relevant record.
No Progress?: True 
Condition: The Maximum HTTP Notifications Processed At Once limit has been reached.
Description: This system setting specifies the number of notifications processed each time the Send HTTP Notifications system job runs.
Actions: Modify the system setting, or wait for the notification to be processed.
Condition: The Maximum HTTP Notifications Sent Per Hour limit has been reached.
Description: This system setting specifies the number of notifications processed per hour each time the Send HTTP Notifications system job runs. This is useful to avoid reaching Salesforce governance limits for inbound HTTP requests.
Actions: Modify the system setting, or wait for the notification to be processed.
Condition: Inactive notification record.
Description: Inactive notifications are ignored.
Actions: Check the notification to see why it was deactivated and activate if needed.
Condition: Disable All Notifications is enabled in the active system settings.
Description: Notifications are disabled.
Actions: Investigate why the setting was disabled, and enable notifications if needed.
Condition: The Send HTTP Notifications system job is inactive.
Description: Notifications are not sent when the related system job is inactive.
Actions: Investigate why the system job was deactivated, and activate it if needed.
Condition: In the Send HTTP Notifications system job, the Cron Expression field value was updated to send less frequently.
Description: The cron expression specifies how frequently notifications are sent.
Actions: Investigate why the cron expression was updated, and make changes if needed.
Was this helpful?