> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/internal-developer-portal/use-idp/self-service-workflows/content/workflows/manage-workflow-2o.md).

# Manage Workflow 2o

Workflows enable **developer self-service** by automating manual tasks and processes. Using Workflows, platform engineering teams can:

* Automate new **service onboarding**.
* Simplify **Day 2 operations** for developers.
* Provide developers with **golden paths to production** that include guardrails and best practices.

This guide will walk you through the process of registering and managing your Workflows directly from Harness IDP. Let us dive in!

***

### Workflows in software catalog <a href="#workflows-in-software-catalog" id="workflows-in-software-catalog"></a>

Once a workflow is registered, it is stored in the Software Catalog under the kind **"Workflow"**.

#### Access workflows <a href="#access-workflows" id="access-workflows"></a>

1. Navigate to the **Catalog** page in Harness IDP.
2. Select **Workflows** from the Catalog filter categories to view all registered Workflows.
3. Use additional filters (e.g., owner, tags) to narrow down the list.

![](/files/X6zhe5Ar6psP9aoiE36c)

***

#### View workflow YAML <a href="#view-workflow-yaml" id="view-workflow-yaml"></a>

You can inspect the Workflow YAML in two ways:

1. From the **Catalog**, select the desired Workflow and click **View YAML**.\
   ![](/files/TGm7rlpCuqJV1OQX6kd1)
2. From the **Workflows** page, click the three-dot menu on the Workflow and choose **View RAW YAML**. ![](/files/iysqD4IzHikBeRNrjDYp)

***

### Manage workflows <a href="#manage-workflows" id="manage-workflows"></a>

#### Create workflows <a href="#create-workflows" id="create-workflows"></a>

With IDP 2.0, we are moving towards a Harness-native Data Model designed for enterprise scale and access control. To learn more about the different changes in the schema, go to [Data Model](/internal-developer-portal/use-idp/software-catalog/data-model/data-model.md).

There are two ways for you to add and create a new Workflow in your IDP:

* **Create a Workflow via the Harness IDP UI**: Use the Harness UI to create Workflows directly, no YAML required. This method offers a streamlined, code-free experience for adding entities.
* **Create a Workflow using your Workflow YAML**: You can still create Workflows using your existing Workflow YAML files. Harness will automatically convert legacy Backstage YAML into the new Harness-native Data Model and register the corresponding Workflow.

Let us try creating a **Workflow** using both the methods:

{% tabs %}
{% tab title="Harness IDP UI" %}
To create a new **Workflow**, navigate to the Harness IDP portal and click on **"Create"** from the side-bar menu. Choose **Workflow** from the panel, and follow these steps:

1. You will be redirected to the **"Visual View"**, where you can input basic Workflow details and begin the creation process.
2. Enter the required Workflow information. The **Visual view** is synced in real-time with the **YAML view** for full transparency. ![](/files/EiVmG3PE5WwWRAVyN6ly)
3. Define the **Workflow scope**, choose whether the Workflow should reside at the Account, Project, or Organization level. For this use-case, let us select the Account scope. Read more about Workflow RBAC. ![](/files/Vq014jLAbwiheuU7lSmV)
4. You now have two options for managing your Workflow configuration: \* **Inline (default):** Manage the Workflow YAML directly within Harness. \* **Remote:** Choose to store your Workflow YAML in a Git repository for version control, collaboration, and change tracking. You can either use a **Harness Code Repository** or connect to a **Third-party Git provider** like GitHub or GitLab by selecting a Git connector, repository, branch, and YAML path. ![](/files/vhCfqKn4kDfMpUnCV3f9)

   > The Git Experience is ideal for teams who prefer to manage Workflows as code, with full version control and Git-native workflows. The changes are reflected in both YAML and execution views, via a [webhook](/internal-developer-portal/use-idp/git-experience/gitx-journey.md#workflow-execution-visibility-and-webhook-requirement) which is automatically configured on the Git connector. Learn more in the [Git Experience Journey documentation](/internal-developer-portal/use-idp/git-experience/gitx-journey.md).
5. Click on **"Review YAML"** to view the auto-generated YAML. Since there is a live sync between the Visual and YAML views, changes in one will reflect in the other.
6. You can configure your Workflow by editing the YAML directly, add inputs, backend actions, and outputs as needed. This allows you to fully customize the Workflow behavior. Learn more about the [components of a Workflow](/internal-developer-portal/use-idp/self-service-workflows/workflowyaml.md#components-of-workflow-yaml) and its [YAML structure](/internal-developer-portal/use-idp/self-service-workflows/workflowyaml.md#workflow-yaml-definition). ![](/files/Tzos31bXSHqwtAZSSMfr)

{% hint style="info" %}
**YAML validation** is performed to ensure compatibility with the **Harness-native Data Model**. Any errors will be shown in the Validation logs. Ensure your `identifier` follows [naming rules](/harness-ai/use-harness-platform/references/entity-identifier-reference.md#identifier-naming-rules). Invalid identifiers may lead to entity registration errors.
{% endhint %}

6. Once everything is set, click **"Create Workflow"** to finalize and create the Workflow.
   {% endtab %}

{% tab title="Workflow YAML" %}
To create a new entity using the Workflow YAML, navigate to the Harness IDP portal and click **"Create"** from the side-bar menu. Choose **Workflow** from the panel.

{% hint style="info" %}
If you have a **legacy Backstage YAML**, you can still use it to create a **Workflow**. Harness will automatically convert it into the **Harness-native Data Model** format.
{% endhint %}

1. You will be redirected to the **Visual View**. You can switch to the **YAML View** using the toggle at the top of the screen. This allows you to directly edit the Workflow's YAML definition. ![](/files/Oz8CeJQLQwPnxfT4uKrS)
2. If you are using a **legacy Backstage YAML**, paste it into the YAML view. Harness will convert it into the **Harness-native format** automatically. You can then proceed to finalize and create the Workflow. Since the Visual and YAML views are **live-synced**, changes made in one view will reflect in the other. ![](/files/wDI9oWvqEETgabrBDCfn)
3. You can configure your Workflow by editing the YAML directly, add inputs, backend actions, and outputs as needed. This allows you to fully customize the Workflow behavior. Learn more about the [components of a Workflow](/internal-developer-portal/use-idp/self-service-workflows/workflowyaml.md#components-of-workflow-yaml) and its [YAML structure](/internal-developer-portal/use-idp/self-service-workflows/workflowyaml.md#workflow-yaml-definition). ![](/files/Tzos31bXSHqwtAZSSMfr)
4. Define the **scope** of the Workflow in two ways: either switch to the Visual View and select the desired scope, or specify the [**projectIdentifier**](/internal-developer-portal/use-idp/software-catalog/catalog-yaml.md#projectidentifier) or [**orgIdentifier**](/internal-developer-portal/use-idp/software-catalog/catalog-yaml.md#orgidentifier) directly in the YAML to set the project or organization scope. ![](/files/Vq014jLAbwiheuU7lSmV)
5. You now have two options for managing your Workflow configuration:

   * **Inline (default):** Manage the Workflow YAML directly within Harness.

   * **Remote:** Choose to store your Workflow YAML in a Git repository for version control, collaboration, and change tracking. You can either use a **Harness Code Repository** or connect to a **Third-party Git provider** like GitHub or GitLab by selecting a Git connector, repository, branch, and YAML path. ![](/files/vhCfqKn4kDfMpUnCV3f9)

   > The Git Experience is ideal for teams who prefer to manage Workflows as code, with full version control and Git-native workflows. The changes are reflected in both YAML and execution views, via a [webhook](/internal-developer-portal/use-idp/git-experience/gitx-journey.md#workflow-execution-visibility-and-webhook-requirement) which is automatically configured on the Git connector. Learn more in the [Git Experience Journey documentation](/internal-developer-portal/use-idp/git-experience/gitx-journey.md).

{% hint style="info" %}
Note: **YAML validation** is automatically performed to ensure compatibility with the **Harness-native Catalog YAML model**. Any validation errors will be displayed in the Validation Logs.
{% endhint %}

6. Once all details are complete, click **"Create Workflow"** to finalize and register your Workflow in the catalog.
   {% endtab %}
   {% endtabs %}

***

#### Execute workflows <a href="#execute-workflows" id="execute-workflows"></a>

Once a Workflow is created, it can be executed from:

1. The **Catalog** – Click the Workflow entry from the Catalog, then click **Launch Template** on the details page.\
   ![](/files/EqTuVsTR86CZ9NrLuU9H)
2. The **Workflows** page – Locate the Workflow from the Workflows page and click **Execute**. ![](/files/YqJM2D2yuyArqbtKLrLx)

**Execute workflows with different branches**

When Workflows are stored in a Git repository, you can execute them from different branches. If you have created Workflows from multiple branches of the same repository, the **branch selector** feature enables you to switch between branches and execute the corresponding Workflow version.

**How to execute Workflows from different branches:**

1. Navigate to the **Workflows** page.
2. Locate and select the Workflow you want to execute.
3. Use the **branch selector** dropdown to switch to your desired branch.
4. If a Workflow exists for that specific branch, it will appear.
5. Click **Execute** to run the Workflow from the selected branch.

![](/files/yNoOP5sduieg1ZxrUOlw)

***

#### Execution view <a href="#execution-view" id="execution-view"></a>

{% hint style="info" %}
This feature is behind a feature flag `IDP_WORKFLOW_EXECUTION_V2`. Contact [Harness Support](mailto:support@harness.io) to enable this feature flag.
{% endhint %}

Once you execute a Workflow, you will be taken to the **Workflow execution view** where you can monitor the progress in real-time.

The top bar of the execution view displays key information about the Workflow run like:

* **Branch**: The branch from which the Workflow is being executed
* **Execution ID**: A unique identifier for this specific Workflow run
* **Status**: Current execution status (Running, Success, Failed)
* **Estimated Time**: Estimated time to complete the Workflow
* **Started By**: Details of the user who initiated the Workflow execution

The execution view is mainly organized into three tabs:

**1. Inputs:**

The **Inputs** tab displays all the details provided by the user when executing the Workflow. This includes all **input parameters** entered during Workflow execution.

![](/files/MRfg3ji9K087ubblkyqA)

**2. Actions:**

The **Actions** tab shows **real-time status** of all pipeline executions triggered by the Workflow. Here you can:

* View the status of each pipeline action (Running, Success, Failed).
* Access **live logs** for each action as they execute.
* Expand individual actions to see detailed execution logs.
* Click **"View Details"** in the top right corner to navigate directly to the **pipeline execution** in Harness.

![](/files/hLHWSv2io4NVRPcxV2VF)

{% hint style="info" %}
**ACCESS REQUIREMENTS**

To view pipeline logs and details, you must have the appropriate **permissions and RBAC (Role-Based Access Control)** configured in Harness. If you do not have the necessary permissions, you will not be able to access the pipeline execution details or logs.
{% endhint %}

**3. Outputs:**

The **Outputs** tab displays the **results and outputs** configured in the Workflow after execution completes. This includes:

* Success confirmation message
* Pipeline **execution summary and reports**
* Any **output variables** generated by the Workflow
* Links to pipeline details for further investigation

![](/files/Z1zCXX6a8rQmoCL5yLSC)

You can navigate between these tabs at any time during or after execution to monitor progress and review results.

{% hint style="info" %}
You can cancel a running Workflow at any time by clicking the **"Cancel Run"** button in the top-right corner of the execution view. This will stop the Workflow execution and terminate any running pipeline actions.
{% endhint %}

***

#### Rerun failed workflows <a href="#rerun-failed-workflows" id="rerun-failed-workflows"></a>

When a Workflow execution fails at a specific stage in the pipeline, you can retry the execution from the failed stage instead of starting from scratch. This saves time and resources by resuming the Workflow from where it failed.

**How to rerun a failed Workflow:**

1. Navigate to the **Workflow execution view** of the failed run.
2. In the **Actions** tab, identify the failed pipeline stage.
3. Click the **Retry** button from the side three dots menu to trigger the pipeline with a retry from the failed stage.
4. The Workflow will resume execution from the point of failure, skipping any previously successful stages.

![](/files/onmmuUZM4Mc8lQ7cvoRu)

This feature is particularly useful for workflows that encounter temporary issues (e.g., network failures, transient API errors) or when you need to make quick fixes and rerun without repeating the entire workflow process.

***

#### Edit workflows <a href="#edit-workflows" id="edit-workflows"></a>

1. Go to the **Workflows** page.
2. Click the three-dot menu on the Workflow you want to edit.
3. Select **Edit Workflow** to open it in edit mode. ![](/files/wGOf5BU1JqvAfMewdXca)

***

#### Delete workflows <a href="#delete-workflows" id="delete-workflows"></a>

1. Go to the **Workflows** page.
2. Click the three-dot menu on the Workflow you want to delete.
3. Select **Delete Workflow** and confirm the action. ![](/files/6UGusJ4OkQ56PLcB2Z6W)

***

#### Share workflows <a href="#share-workflows" id="share-workflows"></a>

You can share Workflows by copying their direct URL:

1. On the **Workflows** page, click the three-dot menu for the Workflow.
2. Select **Copy URL**.
3. Share the link, keeping in mind scope-level access and RBAC permissions.

![](/files/RnFNn8SjOhsQEJxlHqyg)

***
