> ## Documentation Index
> Fetch the complete documentation index at: https://simplex.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get started building your first workflow with Simplex.

In a few minutes, you'll have a working automation that fills out a web form, extracts structured data, and runs deterministically in production.

## Create your first workflow

<Steps>
  <Step title="Create a new workflow">
    Click **Create new workflow** from your [Dashboard](https://simplex.sh/dashboard). We provide the starting URL and test data the agent will need to complete
    the task below.

    We'll use a U.S. Department of Transportation form with VIN (vehicle identification number) data:

    ```txt Starting URL theme={null}
    https://vpic.nhtsa.dot.gov/decoder
    ```

    ```json Example Test Data theme={null}
    {
      "VIN": "1G1ZE5ST8HF198765",
      "Year": "2017"
    }
    ```
  </Step>

  <Step title="Prompt the agent">
    Prompt the agent through chat to start the task. The agent generates and executes code to follow your instructions.

    We'll start with a simple prompt.

    ```txt Example prompt theme={null}
    Enter the requested information and decode VIN.
    ```

    You can continue prompting to build on top of the workflow, including scraping information from the page.

    In this example, we'll scrape all the vehicle information found.

    ```txt Scrape vehicle info theme={null}
    Scroll up and scrape all vehicle information from the page.
    ```
  </Step>

  <Step title="View Output">
    The scraper agent will create a JavaScript script and corresponding JSON file with the following output.

    ```json workspace/scraper_outputs/vehicle_info.json theme={null}
    {
      "vin": "1G1ZE5ST8HF198765",
      "totalAttributes": 140,
      "attributes": [
        {
          "groupName": "",
          "element": "Suggested VIN",
          "value": ""
        },
        {
          "groupName": "",
          "element": "Error Code",
          "value": "1"
        },
        {
          "groupName": "",
          "element": "Error Text",
          "value": "1 - Check Digit (9th position) does not calculate properly"
        },
        {
          "groupName": "",
          "element": "Vehicle Descriptor",
          "value": "1G1ZE5ST*HF"
        },
        {
          "groupName": "General",
          "element": "Make",
          "value": "CHEVROLET"
        },
        {
          "groupName": "General",
          "element": "Manufacturer Name",
          "value": "GENERAL MOTORS LLC"
        },
        {
          "groupName": "General",
          "element": "Model",
          "value": "Malibu"
        },
        {
          "groupName": "General",
          "element": "Model Year",
          "value": "2017"
        },
        {
          "groupName": "General",
          "element": "Plant City",
          "value": "KANSAS CITY"
        },
        {
          "groupName": "General",
          "element": "Trim",
          "value": "LT (1LT)"
        },
        {
          "groupName": "General",
          "element": "Vehicle Type",
          "value": "PASSENGER CAR"
        },
        {
          "groupName": "General",
          "element": "Plant Country",
          "value": "UNITED STATES (USA)"
        }
      ]
    }
    ```
  </Step>
</Steps>

<Note>
  This is a simple example to get you started. In production, Simplex handles forms with 100+ fields, branching logic, and multi-step flows across complex web portals.
</Note>

## Run the workflow

Now that we've built our workflow, let's run it in production.

<Steps>
  <Step title="Step 1: Open production view">
    Click **Workflow Runs** in the top right for your newly created workflow, then click **Run Production Workflow**.
  </Step>

  <Step title="Step 2: Fill variables">
    Simplex automatically generates a variables schema for our production workflow based on the shape of the test data you provide.

    With the example case, this means that the production workflow expects a `VIN` and `Year` field, both strings.

    We'll test our production flow with the same data for verification and just do 1 run.

    ```json Example Test Data theme={null}
    {
      "VIN": "1G1ZE5ST8HF198765",
      "Year": "2017"
    }
    ```
  </Step>

  <Step title="Step 3: Run the workflow">
    Click **Run workflow** to execute the workflow.
  </Step>
</Steps>

You can also trigger the same workflow programmatically via the API or SDK:

```python theme={null}
from simplex import SimplexClient

client = SimplexClient(api_key="your-api-key")
result = client.run_workflow("your-workflow-id", variables={"VIN": "1G1ZE5ST8HF198765", "Year": "2017"})
print(f"Session started: {result['session_id']}")
```

## Next steps

* [Variables and Test Data](/docs/core-concepts/variables-and-test-data) — Dynamic data in workflows
* [Branching Logic](/docs/core-concepts/branching-logic) — Conditional paths in complex forms
* [Structured Outputs](/docs/core-concepts/structured-outputs) — Extract specific data from workflows
* [How Simplex Works](/docs/core-concepts/how-simplex-works) — Understand the full lifecycle
* [Python SDK](/docs/python-sdk/installation) — Integrate via the Python SDK
* [TypeScript SDK Examples](/docs/integrating-simplex/typescript-sdk-examples) — Integrate via the TypeScript SDK
