> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://learning.postman.com/llms.txt.

# The Start block

The **Start** block is automatically added to every new flow. It triggers connected blocks to run, but connecting blocks to the **Start** block is optional. You can add inputs to this block that receive data from [scenarios](/flows/build-flows/configure/scenarios/). You can also change the **Start** block to a [**Request**](/flows/reference/blocks/request/) or [**Schedule**](/flows/reference/blocks/schedule/) block so you can [deploy](/flows/reference/flows-actions-overview/) the flow to the Postman cloud.

## Inputs

By default, the **Start** block has no input ports. You can [add inputs](#receive-data-with-inputs) as desired. When you add an input to the **Start** block, Postman Flows creates a **Start Trigger** [scenario](/flows/build-flows/configure/scenarios/) and adds the inputs to it as key-value pairs. The input's name is the key, and the value is empty until you edit the scenario.

## Output

By default, the **Start** block has a single output port you can connect to other blocks. Any blocks connected to the **Start** block's output port will run when you click the **Run** button. If you add inputs to the **Start** block, each new input will have its own output port that sends data defined in the flow's [scenario](/flows/build-flows/configure/scenarios/).

## Setup

The **Start** block appears automatically on every new flow's canvas. A new **Start** block is connected to buttons that can do the following:

* <img alt="Add icon" src="https://assets.postman.com/postman-docs/aether-icons/action-add-stroke.svg#icon" width="16px" role="img" /> **Add blocks** - Open the [blocks list](/flows/build-flows/create/create-blocks/) to add a block.
* <img alt="HTTP Request icon" src="https://assets.postman.com/postman-docs/aether-icons/v12/icon-entity-httpRequest-stroke.svg#icon" width="20px" /> **API example** - Create a complete basic flow with an **HTTP Request** block already configured to make an API call. You can modify the flow as needed.
* <img alt="Flow icon" src="https://assets.postman.com/postman-docs/aether-icons/v12/icon-entity-flow-stroke.svg#icon" width="20px" /> **Create from collection** - Automatically create a flow with **HTTP Request** blocks for every request in a collection.
* <img alt="Magic icon" src="https://assets.postman.com/postman-docs/aether-icons/descriptive-magic-stroke.svg#icon" width="16px" role="img" /> **Generate with AI** - Open [Postman Agent Mode](/docs/use/agent-mode/overview/), where you can describe in plain language what you want your flow to do.

### Receive data with inputs

You can add inputs to the **Start** block. Each input will appear as an inline [data block](/flows/reference/overview-data-blocks/). When you add inputs to the **Start** block, Postman Flows automatically creates a [scenario](/flows/build-flows/configure/scenarios/) named **Start Trigger**. Each input you create adds an output port to the **Start** block. Each input also appears as a key-value pair in the **Start Trigger** scenario, where the key is the input's name and the value is empty. Edit the scenario to add values to the key-value pairs. The **Start** block will send these values when you run the flow locally.

To add an input to the **Start** block, do the following:

1. In the **Start** block, click <img alt="Add input" src="https://assets.postman.com/postman-docs/aether-icons/action-add-stroke.svg#icon" width="16px" /> **Add input**. A **String** block is inserted into the **Start** block.

2. (Optional) Click the dropdown list if you want to select a data block other than **String**. Use <img alt="Locked icon" src="https://assets.postman.com/postman-docs/aether-icons/state-locked-stroke.svg#icon" width="16px" /> **Secret** for sensitive string values like API keys. To learn how secret inputs work, see [Secrets in scenarios](/flows/build-flows/configure/scenarios/#secrets-in-scenarios).

3. Enter a name for the input.

4. Edit the **Start Trigger** scenario to assign data to the input.

### Specify inputs for a Flow block

When a [**Flow** block](/flows/reference/blocks/flow-module/) references a flow whose **Start** block has inputs, those inputs appear as named input ports in the **Flow** block. When other blocks send data to these ports, the **Flow** block will send that data to the corresponding inputs in the referenced flow's **Start** block. The values that the referenced flow produces will then be available through the **Flow** block's outputs. To learn more, see [The Flow block](/flows/reference/blocks/flow-module/).

The scenarios you created to provide data to the inputs in the referenced flow's **Start** block won't be available to the **Flow** block. This means that in the flow containing the **Flow** block, you need to add blocks or scenarios to supply data to the inputs.

### Change the Start block trigger

You can change the **Start** block to the following blocks, which enable you to [deploy](/flows/build-flows/structure/actions/) the flow to the Postman Cloud:

* [**Request**](/flows/reference/blocks/request/) - Trigger the deployed flow with an HTTP request.
* [**Schedule**](/flows/reference/blocks/schedule/) - Run the deployed flow on a set schedule.
* [**MCP**](/flows/reference/blocks/mcp/) - Create a flow that acts as an [MCP server](/flows/build-flows/ai/mcp-server-flows/mcp-server-flows/) with a public URL.

To change the **Start** block, click **Change trigger** and select a block from the dropdown list.

## Example

To see the **Start** block in an example flow, check out [Flow Snippets: Start](https://www.postman.com/postman/flows-snippets/flow/63bcbae7f3155f2e86b54eb2).

## Related blocks

Upon creation, every flow has a **Start** block. If you add inputs to a **Start** block, they will become inputs in any [**Flow**](/flows/reference/blocks/flow-module/) block referencing the flow that contains the **Start** block.