Approvals are used to authorize operations, process stages, and confirm decisions that require additional control by responsible users (also called approvers). For example, approvals are obligatory for normal and emergency changes, absences, vacations, etc. They aim to minimize risks, keep high-level service, and conduct secure processes.

Example

In the out-of-the-box ITSM application, there is a predefined approval process for implementing a new request template. Before implementation, it should be approved by the service owner (owner of the service defined in the Service Category field).

After filling in the fields, an agent switches the state from New to Waiting for Approval.

The Approval Rules are the following:

  • the approval is created only when the request template state is Waiting for Approval
  • the request template will be rejected if one of the approvers rejects their ticket

The service owner will decide whether to implement the request template or return it for further improvement.

  • If the template is not approved, it should be deactivated or improved and sent to approval process once again.
  • If the template is approved, it goes to the Published state.

Conclusion:

The approval stage ensures the quality and secures the system from implementation of inappropriate elements. A request template will not be implemented until the service owner or all owners approve it.

You can implement approvals to any table according to your business processes. Approvals are automatically created according to an approval rule or within a workflow with the User-approval activity.

Approvals associate users or groups with a record to be approved or rejected. If users reject an approval, they need to give a reason in the comment.

When a new approval is assigned to a user, they will be notified via email. See the Available Notifications article to learn more.

See the My Approvals article to learn how to process approvals via the Self-Service Portal.

If you create a new custom table and set up approvals for it, you need to define the portal approval card appearance from scratch. As this table is new, the system does not have information about what fields it should display on the portal. See the Customizing portal and agent interface article to learn how to add fields to the portal approval card.

Approvals


To view the list of created approvals, navigate to Approvals → All Approvals.

In the table below, you will find description of approval form fields.


FieldMandatoryDescription
StateY

Approval state. Available choice options:

  • Requested
  • Approved
  • Rejected
  • Cancelled.
ApproverYUser responsible for approving the related record.
Approval TypeY

The approval type depending on the type of the participant. Available options:

  • Mandatory
  • Non-mandatory.

For more information, please refer to the Flexible Approvals article.

ItemN

Reference to the record for which the approval is created. Approver makes decision on this item.


SubjectN

Approval subject (copied from the Item subject if it has the corresponding field).

DescriptionN

Approval description (copied from the Item description if it has the corresponding field).

CommentsNA text field for storing comments regarding the approval.
Approval RuleN

Approval rule that was run for this approval. The field is empty for approvals created by a workflow.

Approval SetN

Approval tickets set number (if more than one sets of tickets were sent for one record).


Approval Set is a number of Approval (sys_approval) records  sharing the same values in the Item, Approval Rule, and Approval Set fields.


Additional ParameterN

This field contains additional approval parameters. The field is empty for approvals created by an approval rule.

For example, mandatory and non-mandatory approvers list formatted as JSON array:

{
  "mandatory": [
    "158694883210265025",
    "159723031011970067",
    "157416257019674826"
  ],
  "non-mandatory": []
}



Approval states


Generally, the approval state may be either Rejected or Approved. Other states may depend on issue types and their state models.

For example, approvals for Change Request have another state flow defined by its workflow. On the approval stage, the change request will have the Authorization state. If the request is approved, it will pass to the Scheduled state; otherwise, it will return to Registered.

Approval tickets


In SimpleOne, once a record requiring authorization is submitted, the transition stage is initiated. For this, approval tickets are sent to all persons responsible for approval. In tickets, every recipient is proposed to approve or reject the request.

An approval ticket is a record in the Approval (sys_approval) table, which the system sends to every user responsible for approval: one ticket per user, that is, one approval may contain several approval tickets. It is the ticket you see on the My Approvals page. In other words, a user approves or rejects a ticket within one approval.

Approval sets 


Approval Set is a group of Approval (sys_approval) records created by the same approval rule for the same item. That is, these approvals share the same values in the Item, Approval Rule, and Approval Set fields. Approvals created by a workflow are not marked with set number.

Example:

An approval rule has the following abortion rule: one of the approval tickets is rejected. One of three approvers rejected their approval ticket. It is Approval Set 1, and after some required changes, approval was requested once again. This is Approval Set 2, and all three approvers received approval tickets. This process will repeat until the conditions are met (all users approve their tickets).



Creating approvals


Approvals cannot be created manually. They are created by the system when conditions defined in an approval rule or a workflow are met. That is, there are two ways to implement approvals into your processes:

  • via Approval Rules
  • via Workflow

Approval Rules 


Approval rule is a flexible instrument able to trigger on a predefined event. Once triggered, they send a set of approval tickets and process feedback (approves and rejects). Approval rules also can automatically create a set of approvers.

A diagram below illustrates the flow how an approval is created with an approval rule.


Role required: admin.

To define an approval rule, please complete the steps below:

  1. Navigate to Approvals → Approval Rules.
  2. Click New and fill in the fields.
  3. Click Save or Save and Exit to apply changes.


FieldMandatoryDescription
TableYSpecify a table which will be processed by this approval rule (for example, Incident).
Approve ConditionN

Approval rule start condition. When the conditions are met, the rule will send approval tickets.

Use non-dynamic and dynamic filter conditions (like is (dynamic) or is not (dynamic)) when composing conditional expressions with the Condition Builder to fit process requirements. You can create complex AND and OR filters, more than one in one approve condition.

ApproverY

A choice field specifying the category of users responsible for the request approving. Available choice options:

  • Users
  • Group
  • Script.
UsersNIf the Users option is selected in the Approver field, choose one or more users responsible for the approval process in this dictionary field.
ScriptN

If the Script option is selected in the Approver field, enter the script extending your approval condition: define users who will receive approval tickets. You can use SimpleOne server-side API.

Example:

(function approvalRuleScript(current) {
  if (current.assignment_group) {
    return current.assignment_group.getValue('responsible');
  }
})(current);

The approvalRuleScript() function will return data in one of the following formats:

  • return '156956878014585856';
  • return ['156956878014585856', '156956851511250859'];
  • return '156956878014585856,156956851511250859';
GroupNIf the Group option is selected in the Approver field, choose the group responsible for the approval process in this dictionary field. All the group members will have approval tickets to process.

Approval Abortion Rule

Y

Specify the condition of the approval request reject. Available choice options:

  • More than half tickets rejected
  • Set rejected tickets limit
  • All tickets rejected
  • One of the tickets rejected.
CountN

Specify a limit of the rejected tickets for the approval request reject.

The field appears if the Approval Abortion Rule field value is Set rejected tickets limit.


Workflow


You can implement automatic creation of approvals using the User-approval activity in your workflow

In the example below, we have a simple process of approving new partner inclusion to a custom table. The flow begins when a new record is inserted into the Partner table. By default, new records are in the Pending state. To make the partner record relevant, their state must be confirmed by approvers. Here, the user-approval activity comes in handy. Before transferring the record to the Relevant state (the set values activity), all approvers must confirm that the new partner is relevant and can be transferred to the Relevant state. If one of the approvers rejects the approval, the state of this partner record will be Cancelled.

See the Workflow articles to learn more.

Please note that when you add approval via the Workflow, there will be no related records in the Approval Rule table. Editing of this approval creation conditions and other attributes will be available only through the relevant workflow.


Tracking approvals


If an approval is created for a particular record, it will be displayed in the Approval related list. Newly created custom tables may not have this tab. You can add it using the related lists configuration (Approval->Item). After that, related approval tickets will be displayed.

In our example case described above, a new record in the Partner table with the Pending state will have the Approval related list as this:

See the Related Lists article to learn how to add the Approval tab to the Related Lists area.