You can submit and process approval records asynchronously. For a large number of approval records, you can submit a batch job to process them in the background without waiting for the job to finish. 

Asynchronous processing is available for: 

  • Submitting approval records
  • Approving or rejecting approval records

You can define a threshold to process the number of records in a synchronous mode. If the number of records to process exceeds the threshold value, processing is asynchronous. You can define the threshold in the Sync Approve Request Threshold field in Approval System Properties. 

Synchronous vs. Asynchronous Approval Record Processing 

When you submit approvals in synchronous mode, you must wait until all records are submitted. The screen is not available for use during processing and the screen auto-refreshes to reflect the number of records processed. 

In asynchronous mode, a batch job to process a large number of records is submitted in the background. The screen is available for you to work on other records. You will receive an email once all the records are submitted or processed.

To receive the email, add the following line to the classic email template named "Async Submission Completed" immediately after the line that references the Apttus_Approval_BusinessObjectId_c field.

<apex:outputText value="{!relatedTo.Apttus_Approval_BusinessObjectIds_c}" rendered="false" />

The status of the approval requests submitted for processing using the asynchronous mode is set as ***Processing***. This helps you identify the records that are submitted for processing. 

Approvals administrators must add ***Processing*** as a picklist value in the Status field of the approval request object.