# Workflow Quick Start

By the end of this guide, you'll have a workflow running in the dashboard and a public cURL snippet you can use to invoke it from your app.

## Prerequisites

* A Fetch Hive workspace
* A workspace API key if you want to run the public cURL example - see [API Keys](https://docs.fetchhive.com/your-workspace/api-keys)

## Step 1: Create a workflow

Open **Workflows** in the sidebar, then click **Add Workflow**.

Enter a **Name**. If your workspace uses categories, you can also choose a **Category**. Click **Save** to open the workflow editor.

## Step 2: Add your first step

In the editor, click the **+** connector between **Start** and **End**.

This opens **Search steps...**. Choose **AI Prompt** for the quickest possible first workflow.

When the new step appears on the canvas, click it to open **Step settings**.

## Step 3: Configure the step

Add a short instruction in **Step settings** so the workflow has something useful to do.

If your workflow needs input from the caller, define that input on the **Start** step first, then reference it inside your **AI Prompt** step.

Keep the first version simple. You do not need **Copilot**, advanced step types, or multiple branches for this quick start.

## Step 4: Run the workflow in the editor

Click **Run Workflow** in the header.

This opens **Run History**. Click **Start** to open **Start a new Workflow Run**, then click **Start Workflow Run**.

This is a two-step flow in the UI. **Run Workflow** does not start the workflow immediately by itself.

## Step 5: Save a named version

Click **Save Version** in the header.

Enter a description of what changed, then save the version. This gives you a named version you can refer back to later.

## Step 6: Create a deployment

Click **Deploy**, then choose **Create a Deployment**.

Enter a **Deployment key** and save it. This creates the live workflow deployment you can invoke through the public API.

## Step 7: Copy the public invoke snippet

Open **More** in the sidebar and click **Get Code**, or open **Code Snippet** from the deployment page.

Select your **Deployment** and **Variant**. The dialog shows a cURL snippet for `POST /v1/workflow/invoke`.

The public payload now uses `deployment` and `variant`, matching the language shown in the UI.

```bash
curl 'https://api.fetchhive.com/v1/workflow/invoke' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  --data-raw '{
    "deployment": "YOUR_DEPLOYMENT_NAME",
    "variant": "YOUR_VARIANT_NAME",
    "inputs": {
      "topic": "State of enterprise AI in 2026"
    }
  }' \
  --compressed
```

If you want to run the workflow asynchronously, the UI also supports an **Async** toggle in the code snippet dialog. That adds an `async` block with `enabled` and `callback_url`.

## Next steps

* [Workflows](https://docs.fetchhive.com/workflows/workflows)
* [Workflow Steps](https://docs.fetchhive.com/workflows/workflow-steps/steps)
* [Publishing and Versioning](https://docs.fetchhive.com/workflows/publishing-and-versioning)
