> 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/3.0/use-idp/self-service-workflows/overview.md).

# Self Service Workflows Overview

**Service and Infrastructure onboarding** in today’s world is slow, manual and tedious. Developers often spend days, or even weeks, setting up new software and completing Day-2 operations. This inefficiency arises from either waiting for ticket resolutions (TicketOps) or manually handling repetitive tasks, which results in a poor developer experience and decreased productivity.

Harness IDP addresses these challenges with **Self-Service Workflows**.

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.

### Workflow basics <a href="#workflow-basics" id="workflow-basics"></a>

Let’s get started with the fundamental steps to **understand, build, and configure a Workflow** from scratch.

#### [Get started with workflows](/internal-developer-portal/3.0/new-to-idp/get-started.md) <a href="#get-started-with-workflowsnew-to-idpget-startedmd" id="get-started-with-workflowsnew-to-idpget-startedmd"></a>

Ready to start using Workflows? Follow our [**Quickstart Guide**](/internal-developer-portal/3.0/new-to-idp/get-started.md) and **create your first Workflow** in just a few minutes.

1. **Register the Workflow** using the `workflow.yaml` file configuration.
2. **Execute the Workflow** by providing input details as defined in the configuration.
3. **Inputs are processed**, **backend actions are triggered**, and **orchestration pipelines** execute tasks according to the Workflow logic.
4. **Outputs are generated** as specified in the `workflow.yaml` configuration.

#### Understand workflow yaml]\(/docs/internal-developer-portal/flows/workflowyaml) <a href="#understand-workflow-yamldocsinternal-developer-portalflowsworkflowyaml" id="understand-workflow-yamldocsinternal-developer-portalflowsworkflowyaml"></a>

Workflow is defined using a **YAML configuration** file, typically named **`workflow.yaml`**, which contains all the metadata required for the Workflow. This file is stored in the **root directory** of the source code repository in your connected Git provider.

**Components of `workflow.yaml`**

The `workflow.yaml` file is divided into three key components:

1. **Frontend**: Defines the **input fields** required for the Workflow.
2. **Backend**: Configures the **actions** to be triggered and the **orchestration pipelines** to be executed during the Workflow.
3. **Outputs**: Specifies the **output variables** to be shown to developers after the execution.

Learn more about the [**Workflow YAML syntax**](/internal-developer-portal/use-idp/self-service-workflows/workflowyaml.md).

#### Configure workflows <a href="#configure-workflows" id="configure-workflows"></a>

You can configure your workflow's **frontend** and **backend** by defining specific **inputs, actions**, and **orchestration pipelines**. Here’s how you can learn more about configuring your workflows:

* Learn how to [**configure and customize inputs**](/internal-developer-portal/use-idp/self-service-workflows/create-workflow/flows-input.md) for your workflow's frontend.
* Learn how to build inputs with the [**CustomField component**](/internal-developer-portal/use-idp/self-service-workflows/create-workflow/custom-field.md) for text, dropdown, button, and JSON fields.
* Learn how to [**define actions**](/internal-developer-portal/use-idp/self-service-workflows/create-workflow/custom-actions.md) for your workflow's backend.
* Get started with [**setting up your workflow's backend using Harness Pipelines**](/internal-developer-portal/use-idp/self-service-workflows/create-workflow/harness-pipeline.md) for your workflow's backend.

#### [Register workflows](/internal-developer-portal/use-idp/self-service-workflows/manage-workflow-2o.md) <a href="#register-workflowsmanage-workflow-2omd" id="register-workflowsmanage-workflow-2omd"></a>

Once your `workflow.yaml` is ready, you can **register a new workflow** directly in Harness IDP. Refer to this [**detailed guide**](/internal-developer-portal/use-idp/self-service-workflows/manage-workflow-2o.md) to learn how to create and manage your workflows seamlessly from Harness IDP.

### Key capabilities <a href="#key-capabilities" id="key-capabilities"></a>

Harness IDP Workflows allow **developers** to focus on **building features** while **platform engineers** simplify **complex processes and enforce standards**. Backstage offers basic automation through its Scaffolder, which focuses on creating and registering new components in its Catalog.

Harness goes beyond this with comprehensive developer automation. Here’s how:

* **Harness Pipelines**: A powerful YAML-based automation workflow engine derived from Harness’s CI/CD modules.
* **Prebuilt integrations**: Connect seamlessly with tools like ServiceNow, Jira, Slack, and other DevOps solutions.
* **Version control**: Manage Workflows and Pipelines in Git for easy collaboration and rollback.
* **Pipeline Studio**: An intuitive visual interface for creating and editing Pipelines within Harness IDP.

For more details on what **Harness IDP** adds on top of Backstage software templates, refer to the [**docs here**](/internal-developer-portal/3.0/troubleshooting-and-resources/harness-vs-backstage.md).
