---
description: "Start workflow executions in Conductor using the UI, CLI, REST APIs, or client SDKs. Pass inputs and track executions with a unique workflow ID."
---

# Starting Workflows

In Conductor, workflows can be started using the Conductor UI, APIs, or SDKs.

## Using Conductor UI

The Conductor UI is useful for sandbox testing before deploying the workflows to production using the APIs or SDKs.

**To start a workflow:**

1. Go to [Workbench](http://localhost:8080/workbench) in the Conductor UI.
2. Select the  **Workflow Name** and **Workflow version**.
3. If required, provide the workflow inputs in **Input (JSON)**.
4. (Optional) Specify the **Correlation ID** and **Task to Domain (JSON)** for the execution.
5. Select the ▶ icon (Execute Workflow) at the top to run the workflow.

Once the workflow has started, you can view the ongoing execution by selecting the Workflow ID hyperlink in the **Execution History** side panel on the right.

## Using the CLI

You can start workflow executions using the Conductor CLI.

### Example using the CLI

In this example, the CLI is used to invoke the workflow `sample_workflow` with the input `service` specified as `fedex`.

```bash
conductor workflow start -w sample_workflow -i '{"service":"fedex"}'
```

## Using APIs

You can also start workflow executions using the Start Workflow API (`POST api/workflow/{name}`). `{name}` is the placeholder for the workflow name, and the request body contains the workflow inputs if any.

??? note "Example using cURL"
    In this example, a cURL request is used to invoke the workflow `sample_workflow` with the input `service` specified as `fedex`.

    ```bash
    curl '{{ server_host }}/api/workflow/sample_workflow' \
      -H 'accept: text/plain' \
      -H 'content-type: application/json' \
      --data-raw '{"service":"fedex"}'
    ```

## Using SDKs

Conductor offers client SDKs for popular languages which have library methods for making the Start Workflow API call. Refer to the SDK documentation to configure a client in your selected language to invoke workflow executions.

### Example using JavaScript

In this example, the JavaScript Fetch API is used to invoke the workflow `sample_workflow` with the input `service`  specified as `fedex`.

```javascript
fetch("{{ server_host }}/api/workflow/sample_workflow", {
    "headers": {
        "accept": "text/plain",
        "content-type": "application/json",
    },
    "body": "{\"service\":\"fedex\"}",
    "method": "POST",
});
```


