Skip to main content


Kinetic Community

7. Approvals

Approvals are part of onboarding and most other business processes. In this article we'll look at a basic approval process (routine), and how to add it to your onboarding tree.

Parts of the Process

Onboarding provides a few different places to use approvals. The most common is an overall approval to the entire request before the individual new employee requirements (hardware, etc) are ordered or assigned. In keeping with the most common approach, we will also assign the approval to the manager identified on the submission.

In reality, your approval could be looked up by site or function or just sent to HR for someone on a team to pickup. If you have time during the activity, change up how you get the approver.

It is also important to make sure that the approver has all the information they need for a decision. Since we are using kinops as the training environment, we're using Queue for our approvals.

Depending on how you have defined your process, you may also need approvals if the new employee needs specific (expensive, licensed, etc) hardware or software. If you've created your approval process as a routine, you just need to "plug it in" to your tree where needed and make sure it gets fed the correct information.

Basic Approval Tree

Lets go back to the original tree for the onboarding process. It shows where a basic approval should take place.

original onboarding tree.png

While there are tasks to look up approver information and a spot for the approval routine, we don't have any branch to deal with submissions that are not approved.

We also need checks on connectors to signal which branch should process based on the decision from the approver.

Adding the Approval Routine

Here is an example of the individual approval routine used by kinops.


This approval routine sends a notification to the designated approver and waits for the approvers answer. It continues the tree and passes the approvers answer back to the tree.

Description of Nodes

Verify Assignment (Routine) - Checks for the approvers information.

Approval (Defer) - pause the routine while approval submission is created.

Create Approval - creates a submission record in Request CE using information from previous nodes. See more details below.

Approver Notifications (Activity, Observers, Assignment) - this is a standard kinops/Queue process. Your own process can be substituted here.

Retrieve Approval Answers - used to both get the approvers decision, and any extra details from the approval submission to pass back to the parent tree.

Close Approval - sets the State of the approval to Closed, and sets a Status to Approval decision (Approved/Denied).

Return - passes information back to the parent process for notifications or process.

Activity Record Updates are used to display information to the submitter in the portal.

Inputs to the Approval Routine

The current Approval Routine needs the following inputs (optional unless marked):

Space Slug, Kapp Slug, Approval Form Slug (required) - used to both define the approval form, and get information on the environment

Approver Id (required) - pass in the key to lookup information on the approver

Summary (required) - short description for the approver in case you don't want to use a review link

Details (required) - longer description for the approver

Days Due - Number of days for the approval to be completed

Originating System - Used to determine some lookups

Originating ID - Id of the parent (I would consider this one required)

Review URL - url used for the review of the originating submission

System Input - type of System

Outputs from the Approval Routine

These are the values passed back to the parent tree:

Decision - response from the approver

Notes for Customers - Additional comments

Approver ID - ID of the approver (sometimes this changes)

Denial Reason - often a reason is required for denials

Fields JSON - A JSON map of questions that were answered on the approval record

Approval ID - submission ID of the approval

Create Approval Node (Submission Create Handler)

Space Slug - can be set from input - or leave blank if the same

Kapp Slug - identifies the Kapp that holds the approval template

Form Slug - slug of the approval template

Values - set answers on the approval template - set as a json map

Current Page Name, Current page Navigation - normally blank based on a one page template

Origin ID, Submission ID - ID of the parent submission (these are Kapp fields)

Creating the Approval Submission Branch

While the Approval Node will create an approval record, once the approval is complete you are responsible for creating a trigger that prompts the original tree to complete the approval node and continue processing.

A typical Approval Tree is just the node that creates a trigger based on the deferral token from the Create approval node.



There is a wrap up activity to create a service item and the approval.