After you have installed the Approvals package in your org, you must configure Approvals, Approvals Custom Config, and Approval Object to send clauses for approval. For more information, see Managing Clause Approvals.
You must first configure the formula fields business object picklist to make the Clause Name field available during approval process configuration. You must then create approval rules to package approval routing criteria together and add assignees. Now that the approval rule has assignees, you can create an approval process and reference the approval rule to route the approval.
To set up formula fields
- Click All tabs and select Formula Fields (Approvals).
Click New and enter the following details:
- Field Name: Enter Clause Name.
- Type: Select Relationship.
- Business Object: Select Clause Approval.
- Formula: Enter Apttus__ClauseId__r.Name.
- Description: Enter information to state the purpose of the formula field.
- Click Save.
The new field is added to the Formula Field (Approvals) list and can be included in an approval process.
To create approval rules
- Click All tabs and select Approval Rules.
- Click New and select Clause Approval.
- Click Next.
In the Configure Rule section, enter the following details:
- Rule Name: Enter a rule name.
- Sequence: Enter the sequence number in which the rule must be evaluated.
- Rule Type: Select Condition.
- Description: Enter a description for the rule.
- Select Active so the rule can be used with approval processes.
- Click Save to go to the Approval Rule details page
Click Save & New to add another rule.
The rule is added to the list on the Approval Rules page.
To set the assignees
- From the Approval Rules page, select the rule that you have created.
- Click Manage Entries.
- Enter the assignee details:
- Sequence: If you are going to use this rule with a Subprocess in an Approval Step, you can select to add another assignee, otherwise do not add more.
- Type: Select User, Role, Queue, Related User, Custom User, Custom Role, or Custom Queue. or Auto Approval.
- Value: Enter a valid Salesforce value for the assignee, based on the Type selected.
- Depends On: If you have multiple assignees for the rule entry, enter the number corresponding to the assignee that you need to make the current assignee dependent.
- Send Email: An email is sent to the assignee, informing them they must make an approval decision.
- Description: Enter a description for the assignee.
Click Save to go to the Approval Rule Detail page.
to add another rule entry.The rule entries are now in use by the approval rule.
To set up a rule-based approval process
- From the Manage Approval Processes for dropdown, select Clause Approval and click Create New Approval Process.
- Select Rule Driven Process.
- Enter a Process Name and provide a Description for the approval process.
- Click Next.
- Specify entry criteria which when satisfied, triggers the approval process and click Next.
- Specify Consolidation Settings and click Next.
- Select notification email templates and click Next.
To create approval steps
There must be an approval process.
- From the Approval Process page, click New Approval Step in the Approval Steps section.
- or -
At the end of creating a process definition, select Yes, I'd like to create an approval step now and click Go.
- Enter a Step Name, Step Label and Description for the step.
- Specify the appropriate Step Type and click Next.
- Select the Entry Criteria for the step and click Next. See Creating Expressions for details on setting the criteria.
- Specify the conditions for setting up Auto-Reapproval. When these conditions are satisfied, the current step will be automatically re-approved.
- Select Step Dependencies, if necessary, by highlighting steps in Unselected Items and click to add them to the Selected Items. Reorder the steps as required and click Next. Step dependency is based on their order in Selected Items.
- Select Step Auto Complete if you want this step to automatically be approved when it is assigned to the approver. For autocomplete to work as expected, ensure that the step you set Set Auto Complete for is independent of another step. You can set up any or all standard steps in an Approval Process for auto-completion. Entry Criteria is still enforced for the selection of the step but will be marked as auto-completed if flagged. Approval Comments are not enforced even if the comments are flagged as mandatory. Fact that the Step is auto-completed is captured in the audit trail.
Select the process approvers, by selecting from Assigned Approver > Assignee Type.
Approval Matrix Use this to dynamically assign an approval request to a user who has the given approval level in the approval matrix for the user submitting the request. For example, approver authority may change based on the discount being offered on a sales contract. So different levels of approvers can be assigned based on approval authority for a given item. Custom Queue
This points to a field that contains a queue name in any custom object with a filter to narrow it down to a single row. This can be specified in two ways:
- Select the custom field in the custom object you want to use for the custom filter expression and manually enter a constant value it will be compared to.
- Select the custom field in the custom object, but select Bind Value, which enables you to select a field in the associated business object to compare to.
Custom Role This is a field that contains a role name in any custom object with a filter to narrow it down to a single row. The behavior is the same as Custom Queue. Custom User This is a user lookup reference field in any custom object with a filter to narrow it down to a single row. The behavior is the same as Custom Queue. Queue Use this to dynamically assign an approval request to a queue. If email notifications are set for the queue, notifications will be sent to all members of the queue, otherwise, a single notification will be sent to the queue email. Related User This is a user lookup reference field in the associated business object (i.e. Agreement or Opportunity). Role A role can be based on your company's hierarchy and can have one or more users assigned to it. Rule Use this assignee type when you want to dynamically assign an approval request based on an approval rule. If you select this option, the approval request is sent only to the first user that satisfies the filter criteria in the Approval Rule. If you have multiple approvers in a sequence, only the first approver is selected and assigned. User Use this assignee type when you want to dynamically assign an approval request to a user.
- Select Send Email to notify the assignee by email that they must approve or reject the object record and select Notify Only to only inform the assignee by email that the approval process has reached this step, without any actions to take.
- Select Skip Unresolved Assignee to optionally skip an unresolved approver from the list of sequential approvers.
- Choose Step Auto Escalate if you want to escalate the current step if no action is taken on the approval request within a specified period. Enter the number of days in Step Expected Days To Complete and the number of hours in Step Expected Hours To Complete by which you want to escalate the approval request.
- Select a mandatory Assignee Type where you can escalate the approval request to a User, Role, or any of the assignee types mentioned in Step 8. Click Next.
Create Reminders for approval requests that send a reminder notification to the assignee at the specified duration unit and intervals. For example, you can remind the assignee to take action on the request 7 days after it was assigned, and then again a week later. To activate reminders, select Step Reminders Active.
Reminders are sent to the original assignee only. Reminders are not sent if you reassign or escalate the approval request.
As a prerequisite, you must schedule reminder jobs in the respective environment to run a reminder flow. Run these jobs in the development console as per requirement. The default time interval between each job is 15 minutes.
system.schedule('Approvals Reminder Job 1', '0 00 * ? * * 2019', new Apttus_Approval.ReminderJob());
system.schedule('Approvals Reminder Job 2', '0 15 * ? * * 2019', new Apttus_Approval.ReminderJob());
system.schedule('Approvals Reminder Job 3', '0 30 * ? * * 2019', new Apttus_Approval.ReminderJob());
system.schedule('Approvals Reminder Job 4', '0 45 * ? * * 2019', new Apttus_Approval.ReminderJob());
- If you have enabled submission comments at the process level, at each step, you must enable submission comments.
- Select the Header and Display Fields which will appear at each approval step, by highlighting steps in Unselected Items and click to add them to the Selected Items. Reorder the steps as required and click Next. Step dependency is based on their order in Selected Items. For example, the selected Display fields appear on the Approvals page if you have configured Approvals for CPQ.
- Select CC (carbon copy) assignees who are copied on email notifications for all approval requests assigned for each Approval Step. The CC assignees are set up regardless of the approval step type. This works for standard, sub-process, and child processes. CC can be a Named User. A CC assignee is only copied on email notifications, they cannot approve a request by replying to the email. Their reply email is bounced back. In case of a consolidation, CCs from all requests are concatenated.
- Click Save.
The step is added to the Approval Steps section for the Approval Process. You can now Activate the approval process.
To create Search Filters (Approvals)
- Click All tabs and select Search Filter (Approvals).
- Click New.
- From the Business Object dropdown, select Clause Approval.
- Click Next to display the Configure Filter page.
- From Filter Type, select Entry Criteria.
- Enter a required Filter Name and Sequence. The sequence is used to determine the order in which the search filters will check if approvals are required.
- Enter the filter criteria, which is used to determine if the clause requires approval.
- Click Save.
The Search Filter is now active.