# Approval Workflows

Approval workflows adds governance to commentaries submitted on any stream, application or sheet before it is visible to application end users.

The review process can include one or multiple steps of approval, and involve one or multiple users and/or groups. When a commentary is submitted for approval, Qommentary will notify all users involved in the worklow and coordinate the approval process until the author is notified that the commentary has been approved or rejected (with optional comments).&#x20;

![Approval Workflows : Templates](/files/-M5ivhlhUV_u2QpCIdzV)

### Creating an approval workflow

1\. Click on **Create** button

![](/files/-M5lsQm7PHmyrYcZqDTT)

2\. Type in a name and description (optional)

![](/files/-M5kkxdo7dlGVnCxAvnT)

3\. Click on **Create** button

### Editing an approval workflow

1\. Click on the **pencil icon** next to the workflow you wish to edit

![](/files/-M5luZfR8MHrvavLM8pR)

2\.  Click on the **Edit** button&#x20;

![](/files/-M5m-pxW8kBQn6uJWVLy)

3\. Update the required details and click on the **Save** button&#x20;

### Deleting an approval workflow

1\. Click on the **Trash icon** next to the workflow you wish to delete

![](/files/-M5m0QMJkiO5TnhjVoWV)

2\. Click on the **Delete** button to confirm

![](/files/-M5m11HL5AhcryKnY-Bl)

### Duplicating an approval workflow

1\. Click on the **pencil icon** next to the workflow you wish to duplicate

![](/files/-M5luZfR8MHrvavLM8pR)

2\. Click on the **Duplicate** button

![](/files/-M5m1qckr5tNf2VOxH4l)

3\. Rename your duplicated workflow and click on the **Create** button

![](/files/-M5m38kWuDG0hxIO9huk)

### Adding resources to an approval workflow

When you create an approval workflow, it acts like a template which you can apply to multiple resources within Qlik Sense. Resources have a hierarchical structure:

```
+ Qlik Sense (root)
    + Stream
        + Application
            + Sheet
```

By adding resources to an approval workflow template, you're applying a sign-off process to that resource level which will also be applicable to it's children resources.

{% hint style="success" %}
**Example:**\
\
Your Finance team uses a *Monthly Performance Management* application to write commentary on specific KPIs which need explanation. You created a **Finance Performance Mgnt Workflow** and applied it to the *Monthly Performance Management* application. You also added the CFO and yourself as the mandatory reviewers.

Now any commentary which is created within the application will go through the sign-off process and will not be publicly readable until the approval workflow has been completed.

Alternatively, if you wish to apply this workflow to all applications published in the Finance stream, you can add the *Finance stream* resouce to the workflow (instead of the application).
{% endhint %}

&#x20;To add resources to an approval workflow, follow these steps:

1\. Click on the **Add resources** button

![](/files/-M5ltmL0bJ3pVaayTuv-)

2\. Navigate the *Resources Tree* and check one or multiple streams, applications or sheets

![](/files/-M5lSshHwug5mbtXV24b)

3\. Once you're done, click on the **Add** button

{% hint style="info" %}
If you're looking for a resource which does not appear on the tree, click on the Refresh icon <img src="/files/-M5lX3mL22eC1LPJDYN-" alt="" data-size="line">and try again.
{% endhint %}

{% hint style="warning" %}
Currently you can assign one workflow to a resource. Once the workflow has been assigned, the checkbox will be ticked and disabled to other users.

Workflows applied to children resources will take presedence over parent resources.
{% endhint %}

### Removing resources from an approval workflow

1\. Edit a workflow from the list

![](/files/-M5luZfR8MHrvavLM8pR)

2\. Click on the **Trash icon** next to the resource you would like to remove

![](/files/-M5lwCnpKECKA0CnCIKo)

### Adding steps to an approval workflow

When a commentary is submitted for approval, Qommentary will send email notifications to all users involved in the first step of approval.&#x20;

Once the first step is approved, if the workflow has a single step of approval, a final notification will be sent to the author and the commentary would be ready to be published. Alternatively, if the workflow has multiple steps of approval, notifications will be sent to all users involved in the next step.

If at any point in time the workflow is rejected, a notification will be sent to the author an the commentary may be recalled and updated before re-submitting for approval.

To add steps to your workflow, please follow these steps:

1\. Click on the **Add step** button\
2\.  Add users and/or groups required to approve the current step

![](/files/-M5ljFPvypvWOSDKY01H)

{% hint style="info" %}
Check the **All must approve** option if you require all users involved in the current step to approve. By default, the first user who approves the commentary will complete the step.
{% endhint %}

3\. Click on the **Add** button\
4\. Repeat the process if you wish to add more steps to the approval workflow

### Editing a step in an approval workflow

1\. Click on the **3-dots icon** next to the step you wish to edit

![](/files/-M5lyUApEkcQ3ejGH2Bp)

2\.  Click on the **Edit** button

![](/files/-M5lyi2MjL-AD7SdHq2i)

3\. Update the required details and click on the **Save** button

### Deleting a step in an approval workflow

1\. Click on the **3-dots icon** next to the step you wish to edit

![](/files/-M5lyUApEkcQ3ejGH2Bp)

2\. Click on the **Delete** button

![](/files/-M5lzaVWzVq3d0w7ptAD)

3\. Click on the **Delete** button to confirm

![](/files/-M5lzs0VvpbcMzSP-TyG)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://knowledgebase.qommentary.com/qommentary-admin-console/administration/approval-workflows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
