Skip to main content

Node - Approval


Function: When approvals are involved in a workflow, you need to add the approval node and set follow-up actions based on the approval results. You can add multiple approvers (need to be approved by any one approver or need to be approved by multiple approvers) and also set multi-step approval.

I. Function Details of Approval Node

Configuration:

  • Add the approval node;

  • Select the object to be approved (which record to be approved);

  • Set approvers and approval methods (free approval, joint approval, or proportional approval);

  • Set the operating permissions of the approver;

  • Set different branches based on the approval results.

1.1 Add the [Approval] node

1.2 Select the object to be approved

Select the record data to be approved, that is, select the node for the record.

It is recommended to modify the node name to easily configure the process.

1.3 Add approvers

There are two ways to configure approvers:

  • Customize the approver for each step.

  • Set fixed approvers based on departmental levels, and approve level by level.

1) Set custom approvers

An approval node can be considered as an approver at a certain level. For example, if it is approved by the HR manager and then needs to be approved by the general manager, it is a two-level approval and two approval nodes need to be added.

In the same stage of approval, there can be one or more approvers. For example, when you set the approver by role or position, it only needs to be approved by any one of them; in this case, it is a single-step multi-approver approval.

  • Single Approver
    Choose one of the contacts, either the applicant's immediate supervisor, or one of the members fields as the approver, then there is only one approver for this approval node.

    • Fixed Approver

      You can select a fixed approver from contacts, roles, positions, departments, etc., so that every application process has the same approver.

    • Dynamic Approver

      You can set the approver based on the applicant, or a member field, such as the immediate supervisor, or the department head. In this way, the approver may be different for applications submitted by different users.

  • Multiple Approvers

    If you set approvers by role, department or position, there may be multiple approvers. You can also just manually select multiple approvers.

2) Approve level by level (department)

Approval is cascaded upward based on the department of the designated user.

  • Approval starts (first level approver)

    Select a member field, as shown in the following figure, the initiator of the approval process is selected, taking the head of the department to which the initiator belongs as the first level of approver.

    • When submitting a reimbursement request, the first approver is usually the department head of the trigger or initiator, and the "Specified Member" can be selected as the initiator, creator, etc.

      This option is not available if the approval node is not in [Initiate Approval Flow].

    • For example, when HR submits a salary increase request for an employee, if the first approver is the head of the department to which the employee belongs, the "Specified Member" field can be selected as the member field "Salary-adjusted Employee".

    • For example, when submitting a salary increase request for a subordinate, the first approver can be the department head, at which point you can select the department for the request.

  • Approval ends

    If the organization has more departmental levels, you can set the maximum number of levels upward from the starting department.

    For example, Ross's department is Sales Group 1. If one of his requests only needs to be approved by the head of the sales department, set 2 levels of approval upwards.

    • General Manager
      • Sales Department
        • Eastern China
          • Sales Group 1 (Ross's department)

Approval Process:

  • Level 1 (Head of Sales Group 1)
  • Level 2 (Head of Eastern China)
  • Level 3 (Head of Sales Department)

If it needs to be approved by the General Manager, select Up to the highest level in the address book (here selecting up 3 levels is the same).

  • Only need to be approved by the head of the main department

    In HAP, an employee may belong to multiple departments, but there is and only one main department. When approving, if check here, it only needs to be approved by the head of the main department; if unchecked, it needs to be approved by the heads of all departments.

    How to set the approver as the immediate supervisor of the previous approver

    If it is a multiphase approval, and the approver of the second step needs to be the immediate supervisor of the first approver, which needs to be selected through the previous approval node. As shown in the figure below.

More details about deparments management in organization

1.4 Approval by multiple approvers

Multiple approvers are required for a given approval stage in the following cases:

  • If you set approvers by position or role, there may be multiple approvers.

  • If the trigger belongs to more than one department, approval is required from the heads of all the departments to which he belongs.

There are 4 cases below to illustrate how it is passed when there are multiple approvers.

1) Free Approval (Any approver's pass or reject will be final)

Whichever approver operates first has the final say and no other approver is required.

2) Joint Approval (Requires passes from all approvers)

Pass: it is passed when it has been approved by all approvers.

Reject: it is rejected if any one of approvers rejects it.

3) Joint Approval (Requires one approver for pass but all approvers for reject)

Pass: it is passed when it is approved by any of the approvers.

Reject: it is rejected when it is rejected by all approvers.

If it is rejected by the first approver, it is not over; if it is approved by the second approval, the result is Pass. Only if it is rejected by all approvers, the result is Reject.

4) Joint Approval (Vote on this node)

This is also the more common way, for example, if there are 5 approvers at a certain approval stage, if the pass rate is more than 60%, the result is Pass.

Calculate how many approvers it needs to be approved or rejected by, based on the set pass rate.

  • Number of approvers for pass =Number of members*Pass rate. Results are rounded upwards.

    For example, if there are four approvers, a pass rate of 60% or more is considered a pass. The number of approvers for pass is 4*0.6=2.4, taken as 3. That is, when it is approved by three approvers, the result is a pass.

  • Number of approvers for reject=Number of members-Number of approvers for pass+1

    For example, if there are four approvers, a pass rate of 60% or more is considered a pass. Then it needs to be rejected by 2 approvers for the result to be a rejection.

1.5 Stash/Return/Forward/Add Approver

In addition to choosing to pass or reject it, you can forward it, add approvers, return it, and so on, as well as modify the record directly.

Stash

If checked, the approver can edit the field when approving (more details in 1.9 below), after which the approver can choose to stash it instead of immediately deciding to pass or reject it.

Stashing also directly modifies form data, which is recorded in both the approval operation logs and the worksheet logs.

If unchecked, the Stash button is not displayed.

Reject

Some processes may not require a rejection and will either be passed or returned, then you can uncheck it here.

If unchecked, there is no Reject button.

Forward

The current approver transfers the approval permissions to another person, if the original approval process is A>B>C, and once A transfers the approval to D, it is A>D>B>C.

When forwarding, the selection can be limited by adding approver candidates.

Add Approver

If you are unable to make a decision or need help from others, you can add approvers. Specifically, you can select [Add Approver After Approval] or [Add Approver Before Approval].

Example: The original approval process is A > B > C,

  • If A chooses to add approver D after approval, then the final flow is A > D > B > C;
  • If A chooses to add approver D before approval, then it will be processed by D first, and then by A after that, and the final process is A > D > A > B > C.

When adding approvers, the selection can be limited by adding approver candidates.

Operation interface for Forward and Add Approver

Return/How the process works after resubmission

If there is a data error, it will need to be re-edited by the submitter or previous approvals, and if it is rejected outright, the process will end and a new process will need to be initiated. At this point, you can also choose to return it, so that the process will not end.

As shown below, when returning it, you can fill in the return comment, as well as choose which node to return it to.

Set the nodeS to which it can be returned

When returning, you can set the nodes that the approval can be returned to, for example, whether it can be returned to any nodes, or only to the previous node, or only to the initiating node.

It shows the nodes to which approvals can be returned.

You can only set for approvals in [Initiate Approval Flow] that it can be returned to a specified node or the previous node only. When using the [Approval] node alone, you can only set it to be returned to all nodes or the initiating node.

Which nodes can the approval be returned to?

  • Approvals can only be returned to the approval node, the fill-in node or the initiating node (time-triggered processes and subflows cannot be returned).

  • Between the node it is returned to and the approval node, only nodes of delay, operation, approval, fill-in, and notification are allowed, otherwise it cannot be returned. For example, if there is an update node, it cannot be returned, and data that has been updated will not be automatically changed back.

  • The node it is returned to must be in the trunk of the process, not in a branch process.

  • When [Return to approval directly after processing] is selected, it can only be returned to the triggering node or the filling in node.

  • When it is a joint approval, it is not allowed to be returned if [Approved when one approves, declined when all decline] is selected.

When it is returned and resubmitted, how will the approval continue?

  • Custom Approval

    You can choose [Repeat the flow] or [Return to approval node directly].

    • Repeat the flow

      The process is executed from the next node of the node it was returned to.

      For example, the approval process is: Approval Initiation > Approval by Immediate Supervisor > Approval by Department Manager > Approval by Director.

      When the director approves it, it is returned to the immediate supervisor for approval. If [Repeat the flow] is selected here, after the immediate supervisor approves it again, it needs to be approved by the department manager and then by the director.

    • Return to approval node directly

      When it is returned to a node and resubmitted, it will go directly to the approval node where it was previously rejected to be re-approved.

      For example, the approval process is: Approval Initiation > Approval by Immediate Supervisor > Approval by Department Manager > Approval by Director. When the director approves, it is returned to the approval initiation node, and if [Return to approval node directly] is selected here, then when it is resubmitted, it will go directly to the director for approval.

      If you select [Return to approval node directly], it cannot be returned to the approval node, it can only be returned to the trigger node or the fill-in node, because in the approval node it can be rejected, there is no guarantee that it will return to the current node.

  • Approve level by level

    In this case, you can choose [Repeat the flow], [Returns the first level of this node] or [Return directly to the returned level].

    • Repeat the flow

      Start the process again from the node it was returned to.

    • Returns the first level of this node

      When it is submitted again at the node it was returned to, it goes directly to the current approval node and starts approving from the first level. That is, the nodes between the current approval node and the node it was returned to are no longer executed.

    • Return directly to the returned level

      If at the third level of approval it is returned to the previous node, when other nodes are processed, the approval goes directly to the third level without approval from the first and second level approvers.

What about the approver of the node it is returned to?

  • If it is returned to the process initiating node

    Triggers can open the record via a workflow message and can modify the record to submit it again. It cannot be recalled when it is returned; it can be recalled after it is submitted.

  • If it is returned to the approval node

    The approver of the node can view the details through the workflow message and can perform actions such as pass, reject, add approver, return, forward, and so on.

1.6 What if the approver is empty

When setting the approver, you select a member field, department head, organizational role, position, or immediate supervisor, and if there is no corresponding member, then the approver is empty. When the approver is empty, you can choose from the following 5 ways:

  • Automatically enter the next node

    When the approver is empty and [Automatically enter the next node] is selected, it cannot be returned to this approval node.

  • Agent by the workflow owner

    The process owner defaults to the process creator, but it is important to distinguish whether the approval node is used in the main process or in the [initiate approval flow].

    • Approval Node in [Initiate Approval Flow]

      The owner is by default the user who added the [Initiate Approval Flow] node, which can be modified. ([Initiate Approval Flow] node can be taken as a subflow, and what we set is the owner of this subflow).

    • Approval Node Not in [Initiate Approval Flow]

  • Specify personnel as agent

  • The end

    The process ends and a notification is sent to the notifier of the process.

  • Default setting

    The default settings means to check the settings in the process configuration and it is also necessary to distinguish whether the approval node is used in the main process or in the [Initiate Approval Flow].

    • Approval Node in [Initiate Approval Flow]

      If there is no configuration for the approval node, it is necessary to follow the configuration of the [Initiate Approval Flow] node.

    • Approval Node Not in [Initiate Approval Flow]

      If there is no configuration for the approval node, it is necessary to follow the configuration of the process.

      If checked, it is automatically passed if the approver is empty, if unchecked, the process ends.

1.7 Notify the initiator of the node result

When in this node it is passed or rejected, a notification can be sent to the initiator, which can be customized.

For example, when you initiate a vacation approval, you only need to be notified when it is passed at the last node, it doesn't need to notify you when it is passed at the mid-approval nodes, so leave this unchecked when setting the mid-approval nodes.

1.8 Comments/Signature/Security

You can set whether the approval comment, signature, and login password verification are required or not.

If required, as shown below.

  • If [Approve Comments] is unchecked, it is an optional field and the fill-in area is always displayed.

  • If [Signature] is unchecked, the signature area is hidden.

  • If [Verify login password] is unchecked, the password input box is hidden.

Approval Comment Template

For frequently used comments, you can set a comment template ahead of time and simply select it when approving.

For pass and reject, you can set multiple comment templates and set a default comment.

Effect:

If the approver is only allowed to select comments from the template, uncheck [User Input]. If it is checked, the approver is free to type in any comment.

Signature

The last signature can be used when signing, and the signature can be viewed in the process details or printed out.

1.9 No need to fill in the form field when rejected/returned

When approving, some form fields can be edited or required, and if checked, the required fields can be left unfilled when it is rejected or returned.

If there is a required field when approval passes, the field cannot be empty in order to submit.

1.10 Allow batch/fast approval

When checked, you can process multiple workflows at once in the [To-do] > [Pending] list. As shown in the figure below:

If you set required fields and approval comments required when setting the approval node, they will be ignored for batch approvals and don't need to be filled in.

After batch processing, the note [Batch Processing] will be automatically added to the approval comments.

1.11 Enable email notification

When enabled, in addition to sending a workflow message, an email will be sent, in which you can directly click the button to pass or reject, or go to the platform to operate, and the email also supports the passing of attachments.

If [Quick approval in email] is checked, [Approve] and [Reject] buttons will be displayed in the email. Required signatures, comments, and fields are ignored when operating in the email.

As shown in the figure below, on the left side, [Quick approval in email] is unchecked, so you can only preview the key contents, and you can only click the [View Details] button to log in to the platform for approval.

On the right side, [Quick approval in email] is checked, so you can click the Pass and Reject buttons to process it directly.

Styles in email

When sending multiple emails to the same mailbox, the email style changes in session mode, as shown below.

You can switch to the standard mode.

1.12 Turn on time-limited processing

You can set the time limit for the approver of the current node, and you can set 1 or more reminders before the timeout, or you can set the approval to pass automatically after a timeout period.

1) Set the deadline

If after the deadline it is not approved, it will show as timeout. There are two ways to set the deadline:

  • Custom

    From the time it gets to this step of the approval, it will be considered as timeout if it is not processed after XXX days (hours/minutes). The following figure indicates that the normal approval period for the current approver is 8 hours, and if it is not processed after more than 8 hours, it will be considered as timeout.

  • Specify a date field

    You can set the deadline based on a date field or set a fixed time. As shown below, it is based on a deadline field in the worksheet.

    If a date field (without a time part) is selected, the time needs to be set manually.

2) Set the reminder method and reminder content

Around the deadline, if it has not been processed, you can set up an automatic reminder to the approver, and you can also add other users to supervise the approval, such as the approver's supervisor.

As shown below, the approver is reminded 2 hours before the deadline.

You can set up multiple sets of reminders if you want to remind the approver after a timeout as well, or set up to remind the approver at intervals.

3) What to do after timeout

If it has not been processed after the timeout, the following actions can be set:

  • Automatic approval
  • Automatic rejection
  • Workflow terminated
  • Do nothing

4) Effect

If a time limit is set for processing, the approver can view the remaining hours and the time exceeded.

  • Remaining time (before reminder)

  • Remaining time (after reminder and before deadline)

  • Excess time (After timeout)

  • Automatically pass after timeout

  • Processed before the deadline

  • Timeout Reminder

1.13 Field permissions

  • When setting the node, you can configure the approver's permissions for a record, which fields are not visible to the approver, which fields are required, and so on. If the approver modifies the record, it will also be recorded in the logs.

  • You can also set the summary fields to be displayed in the process list for quick preview by the approver.

Tips:

The approver's permissions to operate on the record configured in the approval node are not restricted by the approver's role permissions in the application. The role of the approver may not has permissions to access the worksheet to view this approved record, but the approver can be given access to this record in the node configuration.

1.14 Data update

The approval node itself can modify the approved records. You can select [Update before node start], [Update after approval] or [Update after rejection].

  • Update before node start

    The data is modified when the process reaches this approval node, and the data is updated when later approvals are returned to this node.

  • Update after approval

    Modify the data when it is approved by the approver.

  • Update after rejection

    Modify the data when it is rejected by the approver.

Example: The system status of approval only includes [In Progress, Pass, Reject and Terminate], which may not be able to meet your actual business needs, then you can customize a status field, and you need to update the status field in time when approving. For example, a new approval status field is created in the form with the options [Draft, In Progress, Pass, Reject].

As shown below: Approver in step 1 to update the data.

  • Update before node start: modify the approval status to In Progress

  • Update after approval: Since there are other approvers after it, there is no need to configure it here, if it is a one-step approval, modify the status to Pass here.

  • Update after rejection: The approval process ends. Modify the status to Reject.

It can only update fields in this worksheet, not subforms or associated worksheets.

1.15 What is the executor of an approval

The executor is the user who performs the approval operation (whether it is passed or rejected), which may not necessarily be one, but may be more than one. Sometimes, there may be more than one approver, and in the next step, when it needs to determine the next approver based on the person who did the last approval, then that's when the executor of the approval is selected.

  • First operator
    Example: A, B, and C are approvers (free approvals) of the same approval node, and if B passes or rejects it first, then the executor is B.

  • Forward Example: A and B are approvers ( joint approval), but A forwards it to C. C approves it and B does not act on it. Then the executor is C.

  • Add approver

    • Example: A, B and C are approvers (co-approvers), B adds an approver D before approving it, D passes it, then it gets flowed back to B, who passes it again. Then the executors are B and D.

    • Example: A, B, and C are approvers ( joint approver). B adds an approver D after passing it, D rejects it, and then the executor is D.

1.16 Set the name of the [Pass]/[Reject]/[Return] buttons

The default buttons for approval are [Pass] and [Reject], and you can also modify the button names as needed. As shown in the figure below:

Modify button name

1.17 Add branches based on approval results

After the approval node, add a branch node according to the approval result, which is often used for multi-step approval.

Go through different processes according to the approval results of pass and reject.

Note:

As shown in the figure below, for two approval nodes, if it is rejected in the first node, none of the subsequent nodes will be executed. So, if it is a multi-step approval with multiple approvers, select to add a branch node.

1.18 Approval automatically passed

For example, when the approver and the submitter are the same person, the approval is automatically passed. View more details

[Approval automatically passed] is a global configuration of the process and is valid for all approval nodes in this process.

Tips:

If the approval node is in the [Initiate Approval Flow], this configuration is invalid, and the configuration in the [Initiate Approval Flow] will prevail.

II. Example of Approval Workflow

2.1 A one-step approval process

In the "Return & Exchange" worksheet, when a new return request is submitted, it needs to be approved, and the status will be changed to "Passed" if the approval is passed, or "Rejected" if it is rejected.

Improper Configuration

A first time user might generally configure the node in this way as shown above, with the following effect:

  • After it is passed, the next node [Update Record] is executed.
  • If it is rejected, the process ends and the subsequent [Update Record] node is not executed.

Since there are different approval results and different fields being updated, then adding one update node is not appropriate.

Such configuration also works if all you need is to perform subsequent actions only if it is passed, and no actions if it is rejected.

Proper Configuration

As shown above, after the approval node, you need to add branch node to perform actions based on the approval results.

If the approval node is not followed by a branch node (branching by approval results), once it is rejected, the process ends and no subsequent nodes will be executed.

2.2 A multi-step approval process

As already mentioned, you can add branches based on the approval results. If it needs a second approval, then you need to continue to add approval nodes in the process after the first approval has been passed (and so on). As shown below.

III. Use Case

The process of the expense reimbursement for a company is as follows:

  • 1. Approver

    • Amounts less than 500 RMB require only the approval of the applicant's immediate supervisor and the supervisor's supervisor;
    • Amounts above 500 RMB will also need to be approved by the general manager.
  • 2. Automated processing

    • When a reimbursement request is submitted, the status should automatically change to [In Progress];
    • If the reimbursement request is finally approved, the approval status is changed to [Passed];
    • If rejected, the status is changed to [Rejected] and the applicant is notified.

Start Configuration

1. Configure the trigger node

In this example, we created a workflow that is triggered by a worksheet, and the filter is that the field [Submit for Approval] is equal to [Yes], and the approval process is triggered only after the record is saved.

Of course, you can also create a workflow that is triggered by a custom button.

2. Modify the approval status

After submission for approval, the approval status of the record is automatically changed to [In Progress] through the [Update Record] node.

3. Approve by supervisor

4. Process after first approval

Add a branch node to configure the process when it is passed or rejected.

4.1) When it is rejected

If it is rejected in the first approval, the approval status is updated to [Rejected] and notify the applicant and the process ends.

4.2) When it is passed (second approval)

When it is approved in the first approval, it goes to the second approval, which is approved by the supervisor's supervisor (or the head of the upper department).

5) Process after second approval

5.1) When it is rejected

As with a rejection in the first approval, the approval status is updated to [Rejected] and tnotify the applicant, and the process ends. You can copy the nodes at this time for quick configuration.

5.2) When it is passed

At this point you need to consider whether it needs to be approved by the general manager or not, and you then need to add branch nodes to configure actions based on the amount.

  • If amount ≤ 500 RMB

    It does not need to be approved by the general manager. The approval status is changed to [Passed] and the process ends. As shown in the figure below.

  • If amount ≤ 500 RMB (third approval)

    It needs to be approved by the general manager, so you need to add an approval node again, which is the last step of approval. Here you can also copy the previous nodes.

6) Modify names, descriptions of processes and nodes

It is recommended to improve the name and description of the nodes, in order to facilitate future maintenance and troubleshooting, and while sending system notifications, it will also read the name of the process and nodes.


Have questions about this article? Send us feedback