The first step in the process is to create an Advanced find view that returns all System Jobs where the Status Reason = Waiting, Waiting for Resources, Pausing, In Progress. Add the columns Error Code and Message to the result columns for additional information. Jobs can fail or be in a Wait state for one of the following reasons:
- The system is not able to execute a Send E-mail step.
- The entity record containing the e-mail address information did not have an e-mail address.
- The user sending an email in the workflow is disabled.
- The record used to populate the Regarding field of the e-mail is not a valid record for this use.
- The record the workflow was trying to update was in a 'Read Only' state.
Workflows can be re-designed so that they check some of these conditions and and better handle some of the scenarios described above. Some improvements could include:
- Adding a Check Condition step that checks to ensure the e-mail address field contains data before all Send E-mail steps.
- Send a notification to an internal user if the e-mail address field of the record does not contain data. The notification instructs the user to update the record with the e-mail address and run the workflow again.
- Add a Cancel Workflow step that follows the Send E-mail notification to the internal user.This ensures that the System Job is canceled when it is not able to complete and does not continue to run.
- Put a check in the workflow that ensures that the user sending the email is enabled.
- Ensure all Regarding fields of E-mails generated from the System were updated with valid record types: Contacts, Accounts, Leads, Opportunities, Quotes, etc. are all valid record types. The step will fail if you try set the Regarding field to another Activity type like E-mail, Service Activity, etc.
- Add a Check Condition step that checks the record status to ensure it can be updated before the Update step.
- Add a Cancel Workflow stepif the record is in a Read-Only state.
Just these few extra steps in your workflow will decrease the number of workflows in a “Wait” status and is a good practice to employ.