*** title: The AI Agent block updated: 2025-12-01T00:00:00.000Z topictype: reference slug: docs/postman-flows/reference/blocks/ai-agent max-toc-depth: 2 ---------------- The **AI Agent** block is an AI assistant that can automate tasks in Postman Flows. There are two AI Agent blocks v1, and v2. The **AI Agent v1** block responds to natural language prompts by analyzing data, generating content, making decisions, and calling other flows. The **AI Agent v2** block does the same, but instead of calling other flows, it invokes tools exposed by MCP Servers. The **AI Agent** blocks use one of several AI models to interpret prompts and act on available context. You can pass data to the block as variables in the **Context** section, and each variable's *label* helps the block understand the variable's purpose. The **AI Agent v1** block can also use other flows as *tools* to complete its tasks. The **AI Agent v2** block can use MCP Servers to build agents that can complete autonomous tasks. For example, you could give the **AI Agent v1** block a list of API endpoints as a variable named **endpoints\_list**. Then, you could select a flow from the **Tools** section that sends a GET request to a provided endpoint. When you prompt the **AI Agent v1** block to “Get the content headers for each endpoint in endpoints\_list,” it will automatically run the tool for each one and output the results. Or you could give the **AI Agent v2** block a Slack channel ID and add a Slack MCP Server to create an agent that sends updates to the Slack channel with the ID you provided. ## Input **Context** - Variables you can reference in your prompt using plain text. The variable's name is called a *label* here because the AI Agent block interprets context about the variable’s value from the its label. For example, an **endpoints** label provides more context than a label like **variable-1**. Click Add icon **Add data blocks** to add more variables. You can add variables to the **Context** section using any of the following data blocks: * [**String**](/docs/postman-flows/reference/blocks/string/) * [**Bool**](/docs/postman-flows/reference/blocks/bool/) * [**Number**](/docs/postman-flows/reference/blocks/number/) * [**Select**](/docs/postman-flows/reference/blocks/select/) * [**Get Variable**](/docs/postman-flows/reference/blocks/get-variable/) * [**Get Configuration**](/docs/postman-flows/reference/blocks/get-configuration/) ## Outputs **Result** - Sends the result of the AI Agent block's task. ## Setup **Model** - Select the AI model from the dropdown list that best suits your task. Different models consume different amounts of credits. See [Manage your team's Postman Flows credit usage](/docs/billing/flows-usage/#how-flows-consume-credits) for details about how the AI Agent block consumes credits. **Prompt** - The *system prompt* for the AI agent. A system prompt is static and persists for the duration of the task. Enter a prompt in natural language that describes what you want your agent to do. You can reference variables in the prompt by including the variables' labels as plain text. If you added tools to the block, the AI Agent block will automatically use them if needed to act on the prompt. **Tools** - Tools are flows your **AI Agent v1** block can run automatically. The **AI Agent v1** block tries to generate any input data it needs from its own knowledge or from variables you've provided. To use a flow as a tool, the flow must have at least one [snapshot](/docs/postman-flows/build-flows/configure/snapshots/). To add a tool, do the following: 1. Click the **AI Agent v1** block. 2. Click **Add a tool**. 3. Select a tool from the dropdown list. To select a different snapshot of a tool, do the following: 1. Hover over the tool. 2. Click Versions icon. 3. Select a snapshot from the dropdown list. When a tool uses [inputs](/docs/postman-flows/build-flows/configure/scenarios/), the **AI Agent v1** block automatically populates those inputs with AI-generated data. You can also assign static values to the inputs with a [*configuration*](/docs/postman-flows/build-flows/configure/configure-values-actions/). Postman Flows doesn't pass static configuration data to the LLM to preserve the security of any secrets. To select a configuration for a tool, do the following: 1. Hover over a tool. 2. Click Setting icon **Edit Tool**. 3. Next to the input, click Magic icon **AI-generated**. 4. Select a configuration from the dropdown list or click Open web icon **Add configuration** to create a new one. **MCP Servers** - MCP Servers expose specific functionalities that the **AI Agent v2** block can use to create agents to automate tasks. To add an MCP Server, do the following: 1. Click the **AI Agent v2** block. 2. Click **Add server**. 3. Enter a name for your MCP server. 4. Enter the MCP Server URL. 5. (Optional) Enter a bearer token if your MCP Server requires one. When you enter a bearer token, Postman Flows saves it as a secret value in a new [configuration](/docs/postman-flows/build-flows/configure/configure-values-actions/). The next time you add an MCP Server, you can choose to reuse that secret bearer token or create a new one. 6. Click **Add** to add the MCP Server. **Additional Settings** - Appears when you click the block, and enables you to select an AI model or enforce an output schema that you can parse later in the flow. To enforce an output schema, do the following: 1. Click the AI Agent block, then click Setting icon **Additional Settings**. 2. Click JSON icon **Enforce output schema > JSON icon Schema**. 3. Click **Generate from example** and paste valid JSON data into the text box, then click **Generate schema**. Alternatively, click **Define custom schema** to manually enter a JSON schema. ## Related blocks * [**AI Request**](/docs/postman-flows/reference/blocks/ai-request/) * [**Bool**](/docs/postman-flows/reference/blocks/bool/) * [**Create with AI**](/docs/postman-flows/reference/blocks/create-with-ai/) * [**Get Configuration**](/docs/postman-flows/reference/blocks/get-configuration/) * [**Get Variable**](/docs/postman-flows/reference/blocks/get-variable/) * [**Number**](/docs/postman-flows/reference/blocks/number/) * [**Select**](/docs/postman-flows/reference/blocks/select/) * [**String**](/docs/postman-flows/reference/blocks/string/)