diff --git a/en/asgardeo/docs/assets/img/guides/workflows/filter-approvals.png b/en/asgardeo/docs/assets/img/guides/workflows/filter-approvals.png new file mode 100644 index 0000000000..c1798f60f0 Binary files /dev/null and b/en/asgardeo/docs/assets/img/guides/workflows/filter-approvals.png differ diff --git a/en/asgardeo/docs/assets/img/guides/workflows/myaccount-approval.png b/en/asgardeo/docs/assets/img/guides/workflows/myaccount-approval.png deleted file mode 100644 index 75816cf288..0000000000 Binary files a/en/asgardeo/docs/assets/img/guides/workflows/myaccount-approval.png and /dev/null differ diff --git a/en/asgardeo/docs/assets/img/guides/workflows/reserved-approval.png b/en/asgardeo/docs/assets/img/guides/workflows/reserved-approval.png new file mode 100644 index 0000000000..5e313593c1 Binary files /dev/null and b/en/asgardeo/docs/assets/img/guides/workflows/reserved-approval.png differ diff --git a/en/asgardeo/docs/assets/img/guides/workflows/workflow-approval-edit.png b/en/asgardeo/docs/assets/img/guides/workflows/workflow-approval-edit.png new file mode 100644 index 0000000000..2ac61f104d Binary files /dev/null and b/en/asgardeo/docs/assets/img/guides/workflows/workflow-approval-edit.png differ diff --git a/en/asgardeo/docs/assets/img/guides/workflows/workflow-approvals.png b/en/asgardeo/docs/assets/img/guides/workflows/workflow-approvals.png index e050748904..4772ba23ce 100644 Binary files a/en/asgardeo/docs/assets/img/guides/workflows/workflow-approvals.png and b/en/asgardeo/docs/assets/img/guides/workflows/workflow-approvals.png differ diff --git a/en/asgardeo/docs/assets/img/guides/workflows/workflow-request-abort.png b/en/asgardeo/docs/assets/img/guides/workflows/workflow-request-abort.png new file mode 100644 index 0000000000..cd58ea3fd3 Binary files /dev/null and b/en/asgardeo/docs/assets/img/guides/workflows/workflow-request-abort.png differ diff --git a/en/asgardeo/docs/assets/img/guides/workflows/workflow-requests-filter.png b/en/asgardeo/docs/assets/img/guides/workflows/workflow-requests-filter.png new file mode 100644 index 0000000000..df550a4d68 Binary files /dev/null and b/en/asgardeo/docs/assets/img/guides/workflows/workflow-requests-filter.png differ diff --git a/en/asgardeo/docs/guides/workflows/approval-workflows.md b/en/asgardeo/docs/guides/workflows/approval-workflows.md new file mode 100644 index 0000000000..1ec9ee3183 --- /dev/null +++ b/en/asgardeo/docs/guides/workflows/approval-workflows.md @@ -0,0 +1 @@ +{% include "../../../../includes/guides/workflows/approval-workflows.md" %} diff --git a/en/asgardeo/docs/guides/workflows/approve-workflow.md b/en/asgardeo/docs/guides/workflows/approve-workflow.md deleted file mode 100644 index dca327f313..0000000000 --- a/en/asgardeo/docs/guides/workflows/approve-workflow.md +++ /dev/null @@ -1 +0,0 @@ -{% include "../../../../includes/guides/workflows/approve-workflow.md" %} diff --git a/en/asgardeo/mkdocs.yml b/en/asgardeo/mkdocs.yml index d35a10b26f..704a99e26d 100644 --- a/en/asgardeo/mkdocs.yml +++ b/en/asgardeo/mkdocs.yml @@ -401,7 +401,7 @@ nav: - Advanced configuration for the agent: guides/users/user-stores/advanced-configurations-for-the-agent.md - Workflows: - Workflows: guides/workflows/index.md - - Approvals: guides/workflows/approve-workflow.md + - Approval workflows: guides/workflows/approval-workflows.md - Workflow requests: guides/workflows/workflow-requests.md - Account configurations: - Account configurations: guides/account-configurations/index.md diff --git a/en/identity-server/next/docs/assets/img/guides/workflows/approval-details.png b/en/identity-server/next/docs/assets/img/guides/workflows/approval-details.png index f4489a8cdd..2972a85a95 100644 Binary files a/en/identity-server/next/docs/assets/img/guides/workflows/approval-details.png and b/en/identity-server/next/docs/assets/img/guides/workflows/approval-details.png differ diff --git a/en/identity-server/next/docs/assets/img/guides/workflows/filter-approvals.png b/en/identity-server/next/docs/assets/img/guides/workflows/filter-approvals.png new file mode 100644 index 0000000000..c1798f60f0 Binary files /dev/null and b/en/identity-server/next/docs/assets/img/guides/workflows/filter-approvals.png differ diff --git a/en/identity-server/next/docs/assets/img/guides/workflows/myaccount-approval.png b/en/identity-server/next/docs/assets/img/guides/workflows/myaccount-approval.png deleted file mode 100644 index 75816cf288..0000000000 Binary files a/en/identity-server/next/docs/assets/img/guides/workflows/myaccount-approval.png and /dev/null differ diff --git a/en/identity-server/next/docs/assets/img/guides/workflows/reserved-approval.png b/en/identity-server/next/docs/assets/img/guides/workflows/reserved-approval.png new file mode 100644 index 0000000000..5e313593c1 Binary files /dev/null and b/en/identity-server/next/docs/assets/img/guides/workflows/reserved-approval.png differ diff --git a/en/identity-server/next/docs/assets/img/guides/workflows/workflow-approval-edit.png b/en/identity-server/next/docs/assets/img/guides/workflows/workflow-approval-edit.png new file mode 100644 index 0000000000..2ac61f104d Binary files /dev/null and b/en/identity-server/next/docs/assets/img/guides/workflows/workflow-approval-edit.png differ diff --git a/en/identity-server/next/docs/assets/img/guides/workflows/workflow-approvals.png b/en/identity-server/next/docs/assets/img/guides/workflows/workflow-approvals.png index e050748904..4772ba23ce 100644 Binary files a/en/identity-server/next/docs/assets/img/guides/workflows/workflow-approvals.png and b/en/identity-server/next/docs/assets/img/guides/workflows/workflow-approvals.png differ diff --git a/en/identity-server/next/docs/assets/img/guides/workflows/workflow-request-abort.png b/en/identity-server/next/docs/assets/img/guides/workflows/workflow-request-abort.png new file mode 100644 index 0000000000..cd58ea3fd3 Binary files /dev/null and b/en/identity-server/next/docs/assets/img/guides/workflows/workflow-request-abort.png differ diff --git a/en/identity-server/next/docs/assets/img/guides/workflows/workflow-requests-filter.png b/en/identity-server/next/docs/assets/img/guides/workflows/workflow-requests-filter.png new file mode 100644 index 0000000000..df550a4d68 Binary files /dev/null and b/en/identity-server/next/docs/assets/img/guides/workflows/workflow-requests-filter.png differ diff --git a/en/identity-server/next/docs/guides/workflows/approval-workflows.md b/en/identity-server/next/docs/guides/workflows/approval-workflows.md new file mode 100644 index 0000000000..7e23f2a419 --- /dev/null +++ b/en/identity-server/next/docs/guides/workflows/approval-workflows.md @@ -0,0 +1 @@ +{% include "../../../../../includes/guides/workflows/approval-workflows.md" %} diff --git a/en/identity-server/next/docs/guides/workflows/approve-workflow.md b/en/identity-server/next/docs/guides/workflows/approve-workflow.md deleted file mode 100644 index c267455b2b..0000000000 --- a/en/identity-server/next/docs/guides/workflows/approve-workflow.md +++ /dev/null @@ -1 +0,0 @@ -{% include "../../../../../includes/guides/workflows/approve-workflow.md" %} diff --git a/en/identity-server/next/mkdocs.yml b/en/identity-server/next/mkdocs.yml index 336057097e..a61d57f358 100644 --- a/en/identity-server/next/mkdocs.yml +++ b/en/identity-server/next/mkdocs.yml @@ -692,7 +692,7 @@ nav: - Migrate user passwords: guides/users/migrate-users/migrate-passwords.md - Workflows: - Workflows: guides/workflows/index.md - - Approvals: guides/workflows/approve-workflow.md + - Approval workflows: guides/workflows/approval-workflows.md - Workflow requests: guides/workflows/workflow-requests.md - Account configurations: - Account configurations: guides/account-configurations/index.md diff --git a/en/includes/guides/user-self-service/manage-approvals.md b/en/includes/guides/user-self-service/manage-approvals.md index 716750a038..1cf5f7238e 100644 --- a/en/includes/guides/user-self-service/manage-approvals.md +++ b/en/includes/guides/user-self-service/manage-approvals.md @@ -1,9 +1,31 @@ -Using the My Account Portal, users can view and update their approvals. This allows users to manage their pending requests and actions that require their attention. +To view the approvals, you can navigate to the **Approvals** section from the My Account Portal side menu. -To view the approvals, user can navigate to the **Approvals** section from the My Account Portal side menu. +This page displays all approval requests that you are eligible to act on. -![My Account Approvals]({{base_path}}/assets/img/guides/workflows/myaccount-approval.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} +![Workflow approval page]({{base_path}}/assets/img/guides/workflows/workflow-approvals.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} -This page shows all the approvals available for the user to approve. +### Approval states -Learn more about the approvals and its lifecycle in the [Approvals]({{base_path}}/guides/workflows/approve-workflow/) guide. +Each approval request can be in one of the following states: + +- **Ready**: The approval request is available for assignment. You can either approve it immediately or reserve it for review later. +- **Reserved**: You have assigned yourself this approval for review. Other approvers can't act on it until you unassign it. +- **Blocked**: Another approver has already reserved this request, so you can't act on it. +- **Approved**: You have approved the request. +- **Rejected**: You have rejected the request. + +!!! note + Once you reserve (assign yourself) an approval, no one else can approve it. However, you can unassign a reserved approval back to the shared pool at any time, allowing other eligible approvers to act on it. + +![Reserved approval]({{base_path}}/assets/img/guides/workflows/reserved-approval.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} + +You can filter approval requests based on their state, as shown below. + +![Filter approvals page]({{base_path}}/assets/img/guides/workflows/filter-approvals.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} + +### View approval details + +To view more information about a specific approval, click on the approval entry in the list. +This opens the Approval Details page, which displays all relevant information about the associated operation. + +![Approval details]({{base_path}}/assets/img/guides/workflows/approval-details.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} diff --git a/en/includes/guides/workflows/approval-workflows.md b/en/includes/guides/workflows/approval-workflows.md new file mode 100644 index 0000000000..9a15b39235 --- /dev/null +++ b/en/includes/guides/workflows/approval-workflows.md @@ -0,0 +1,37 @@ +### Create a workflow + +To create a workflow, visit the **Workflows** section in the admin console and go to the **Approval Workflows** section. +Now you can create a new workflow by clicking on the **New Approval Workflow** button. You will be prompted to provide a + name and description for the workflow. + +### Configure workflow operations + +Once you have provided the name and description, you can select the operations that this workflow should support. +The workflows support the following types of operations: + +- **User Creation**: Triggered when a new user is created. +- **Self User Registration**: Triggered when a new user is self-registered. +- **User Deletion**: Triggered when a user is deleted. +- **Role Creation**: Triggered when a new role is created. +- **User Role Assignment**: Triggered when users are assigned to or removed from a role. + +!!! note + In the workflow creation page, you can select multiple operations if approval steps are common for those operations. + +### Configure workflow steps + +The final step in creating a workflow is to configure its steps. You can add multiple steps to a workflow, and each step can have multiple approvers. Approvers can belong to a configured role or be defined as individual users. + +![Workflow steps configuration]({{base_path}}/assets/img/guides/workflows/workflow-steps-configuration.png){: width="600" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} + +Once you have configured the steps, you can save the workflow. The workflow will now be available for use in the system. + +!!! note + If you assign admin user in the first step of approval and if admin creates a user, still workflow will be triggered. + Other participants in the first step will also receive the approval request. + +After creating the workflow, you can view its details, edit it, or delete it. + +![Approval Workflow configuration]({{base_path}}/assets/img/guides/workflows/workflow-approval-edit.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} + +To learn how to review the approval requests, see [Manage Approvals]({{base_path}}/guides/user-self-service/manage-approvals/). diff --git a/en/includes/guides/workflows/approve-workflow.md b/en/includes/guides/workflows/approve-workflow.md deleted file mode 100644 index d2837c851c..0000000000 --- a/en/includes/guides/workflows/approve-workflow.md +++ /dev/null @@ -1,24 +0,0 @@ -To view the workflow approvals, you need to navigate to the **Approvals** page in the [My Account]({{base_path}}/guides/user-self-service/manage-approvals/). There, you will see a list of approvals that you can approve. - -![Workflow approval page]({{base_path}}/assets/img/guides/workflows/workflow-approvals.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} - -### Approval lifecycle - -Approval lifecycle contains several states: - -- **Reserved**: You have claimed(assigned) the approval, so no one else can approve it until you either approve or release it. -- **Ready**: You can approve this request. This status appears when no one has claimed it yet. -- **Approved**: You have approved the request. -- **Rejected**: You have rejected the request. -- **Blocked**: Another participant has claimed the approval, so you can’t act on it. - -!!! Note - Claiming an approval lets you assign it to yourself. Once you claim an approval, no one else can approve it. This helps ensure that only you approve the request. - - Also note that even if you claim an approval, you can still release it back to the pool of approvals so that other participants can approve it. - -### View approval details - -To view the details of an approval, you can click on the approval in the list. This will open the approval details page where you can see the details of the approval related to the operation. - -![Approval details]({{base_path}}/assets/img/guides/workflows/approval-details.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} diff --git a/en/includes/guides/workflows/index.md b/en/includes/guides/workflows/index.md index ba7b5224a7..9ba73fb63a 100644 --- a/en/includes/guides/workflows/index.md +++ b/en/includes/guides/workflows/index.md @@ -1,48 +1,30 @@ -Revamped workflow-based approval framework designed to support long-running approval workflows for critical user -management operations. +The new workflow framework supports long-running approval workflows for critical user management operations. -Workflows are a series of steps that require to complete a selected operation in the {{ product_name }}. These workflows -should be configured by the administrators by defining the steps and the participants involved in each step. +Workflows are a series of steps that are required to complete a selected operation in the {{ product_name }}. These workflows +should be configured by the administrators by defining the steps and the approvers involved in each step. -This new implementation enables organizations to design multi-step approval chains, where approvers can be assigned -based on roles or groups, reflecting their permission levels and responsibilities. Administrators can configure these -workflows through the Console, while users can review and act on approval requests seamlessly from the My Account portal. +This new implementation enables organizations to design multi-step approval processes, where approvers can be assigned +based on roles or users, reflecting their permission levels and responsibilities. Administrators can configure these +workflows through the Console, while approvers can review and act on approval requests seamlessly from the My Account portal. -!!! note - This is a reimplementation of the previous workflow feature. It is not backward compatible with the older workflow - configurations. Existing workflows must be redefined using the new model to take advantage of long-running approval - capabilities. - -### Create a workflow - -To create a workflow, visit the **Workflows** section in the admin console and go to the **Approval Workflows** section. -Now you can create a new workflow by clicking on the **New Approval Workflow** button. You will be prompted to provide a - name and description for the workflow. - -### Configure workflow operations - -Once you have provided the name and description, you can select the operations that this workflow should support. -The workflows are supported following types of operations: - -- **User Creation**: Triggered when a new user is created. -- **User Deletion**: Triggered when a user is deleted. -- **Role Creation**: Triggered when a new role is created. -- **User Role Assignment**: Triggered when users of a role have changed. - -!!! note - In the workflow creation page, you can select multiple operations if approval steps are common for those operations. - -### Configure workflow steps +{% if product_name == "WSO2 Identity Server" %} +!!! note "Legacy BPS-based workflow connector" + {{ product_name }} previously used a BPS (Business Process Server)-based approval workflow implementation. This implementation is still available as an [external connector](https://store.wso2.com/connector/identity-workflow-impl-bps){:target="_blank"}. -The final configuration of the workflow creation is to configure the steps of the workflow. You can add multiple steps to a workflow and each step can have multiple participants. The participants can be either users or roles. + **Key differences:** + + - The new workflow feature and the BPS-based implementation run independently. + - Approval requests from the new workflow feature appear in **My Account** for review. + - Approval requests from the BPS-based implementation remain accessible via the legacy approval API. +{% endif %} -![Workflow steps configuration]({{base_path}}/assets/img/guides/workflows/workflow-steps-configuration.png){: width="600" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} +## Workflow support in organizations -Once you have configured the steps, you can save the workflow. The workflow will now be available for use in the system. +Approval-based workflow capabilities are available for organizations as well. !!! note - If you assign admin user in the first step of approval and if admin creates a user, still workflow will be triggered. - And also other participants of the first step will also receive the approval request. + Workflows support user creation and role creation in organizations. However, they don't support the following sharing operations: -Once the workflow is created, you can view the details of the workflow, edit it or delete it. -To approve the workflow, you need to go the approvals section under the User Management in the console or use my account approvals. See [Approve a workflow]({{base_path}}/guides/workflows/approve-workflow/) for more information on how to approve a workflow. + - User sharing + - Role sharing + - Inviting parent users diff --git a/en/includes/guides/workflows/workflow-requests.md b/en/includes/guides/workflows/workflow-requests.md index 707b125324..18cd422c1b 100644 --- a/en/includes/guides/workflows/workflow-requests.md +++ b/en/includes/guides/workflows/workflow-requests.md @@ -1,15 +1,19 @@ -Workflow request page is located under the workflows section. It gives administrators full visibility into every workflow approval request across the tenant. +The Workflow requests page is located under the workflows section. It gives administrators full visibility into every workflow approval request. Administrators can use it to check progress, and detect bottlenecks. ![Workflow request page]({{base_path}}/assets/img/guides/workflows/workflow-requests.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} -This page lists all the workflow requests that are the tenant. You can filter the requests by the Operation Type, Status, Created Time Range and Updated Time Range. +### Filter workflow requests + +You can filter workflow requests by operation type, status, created time range, and updated time range. + +![Filter workflow requests by operation, status, and created/updated time range]({{base_path}}/assets/img/guides/workflows/workflow-requests-filter.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} ### Status of the workflow requests - **Pending**: The workflow request is pending and waiting for approval. -- **Approved**: The workflow request is approved by the participant/s. -- **Rejected**: The workflow request is rejected by a participant. +- **Approved**: The workflow request is approved by the approvers. +- **Rejected**: The workflow request is rejected by an approver. - **Failed**: The workflow request has failed after the approval due to an error. - **Aborted**: The workflow request has been aborted by the administrator. @@ -18,3 +22,9 @@ This page lists all the workflow requests that are the tenant. You can filter th To view the details of a workflow request, you can click on the request in the list. ![Workflow request page]({{base_path}}/assets/img/guides/workflows/workflow-request-details.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} + +### Abort workflow request + +You can abort a workflow request that's pending approval. + +![Abort workflow request]({{base_path}}/assets/img/guides/workflows/workflow-request-abort.png){: width="800" style="display: block; margin: 0; border: 0.3px solid lightgrey;"}