> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.runtype.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.runtype.com/_mcp/server.

# Agent and flow templates

Use templates to start building [Agents](/user-guide/agents/what-are-agents) and [Flows](/user-guide/flows/what-are-flows). A Flow template gives you a complete set of configured steps. An Agent template sets a model, a starter system prompt, and settings for its type. You can change all of it after you create the Flow or Agent.

## Create a Flow from a template

To create a Flow from a template, follow these steps:

1. On the **Flows** page, click **Create flow**. The **Create New Flow** panel opens.
2. Click **Use an example**. The template picker groups templates by category and shows each template's title, description, and step count.
3. Click a template card. The Flow editor opens with the template's name, description, and steps.
4. Optional: edit the steps. For what you can change, see [Customize a Flow after selecting a template](#customize-a-flow-after-selecting-a-template).
5. Click **Create**. Runtype saves the Flow. The Flow isn't saved until you click **Create**.

## Available Flow templates

The template picker includes the following Flow templates. The **Inputs** column lists the Record metadata fields that each template reads.

| Category        | Flow template                                     | Description                                                                                     | Inputs                                                                                                                   |
| --------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Support         | **AI Support Agent**                              | Automates support ticket handling with routing and response generation.                         | `ticket_subject`, `ticket_content`, `customer_email`                                                                     |
| Support         | **AI Support Auto-Responder with Knowledge Base** | Responds to support requests with AI, a Weaviate knowledge base, and Slack.                     | `message`, `slackWebhookUrl` (sample values included)                                                                    |
| Content         | **Content Creation Pipeline**                     | Researches, creates, and publishes content with AI assistance.                                  | `content_topic`, `content_type`, `target_audience`, `writing_tone`, `word_count`, `content_format`, `research_url`       |
| Analytics       | **Data Processing Pipeline**                      | Extracts, transforms, and analyzes data from multiple sources.                                  | `api_endpoint`, `api_key`, `analysis_period`, `focus_areas`                                                              |
| Transformation  | **Convert HTML to Markdown**                      | Extracts content from HTML and converts it to Markdown.                                         | `source_url`                                                                                                             |
| Data Extraction | **Contact Information Extraction**                | Extracts email addresses, phone numbers, and URLs from a webpage.                               | `source_url` (sample value included)                                                                                     |
| Data Processing | **Data Encoding and Validation**                  | Encodes, decodes, and validates data in various formats.                                        | `input_data_name`, the name of the Record to process                                                                     |
| Document        | **Invoice Generator**                             | Generates structured invoice data with AI, then renders an HTML invoice with a Liquid template. | None. Describe the invoice in the user message.                                                                          |
| Productivity    | **New Granola Meeting Notes**                     | Polls Granola for new or updated meeting notes and produces a digest.                           | None. The poll window comes from the Schedule that runs the Flow.                                                        |
| Research        | **Autonomous Research Pipeline**                  | Researches a topic, synthesizes sources, drafts long-form content, and outputs Markdown.        | `topic`, `audience`, `tone`, `structure`, `seed_links`, `word_count_target`, and other settings (sample values included) |

## Provide the template's inputs

Most Flow templates read their inputs from Record metadata variables, such as `{{_record.metadata.source_url}}`. If you run the Flow without these values, the steps that use them get empty input and can fail.

Templates marked "sample values included" fill in example inputs when you run the Flow from the editor. Replace placeholder values with real ones before you rely on the output. For example, **AI Support Auto-Responder with Knowledge Base** includes a placeholder Slack webhook URL.

Some templates need setup before they work:

* **AI Support Auto-Responder with Knowledge Base** searches a Weaviate class named `KnowledgeBase` with the properties `title`, `content`, `category`, and `source`. Set up [Weaviate](/user-guide/integrations/weaviate-vector-search) and create that class first. The Flow posts its reply to the Slack incoming webhook URL in `slackWebhookUrl`.
* **New Granola Meeting Notes** needs a connected Granola integration. To connect it, go to **Settings > Integrations**. In the **Fetch Updated Meeting Notes** step, open the step's tools and select your Granola connection for the Granola tool. The step doesn't use your organization's Granola connection automatically. Then attach a [Schedule](/user-guide/schedules/what-are-schedules), for example, every 10 minutes. Each run fetches the notes created or updated since the previous run. The first run looks back 24 hours.

## Customize a Flow after selecting a template

After you select a template, edit the Flow in the editor. Use the editor to:

* Rename the Flow and update its description.
* Add, remove, or reorder steps.
* Change models, prompts, and step configurations.
* Change variables and metadata.

## Create an Agent from a template

Agent templates group configuration choices by use case. The type that you choose sets the default model, system prompt, tools, and turn limits.

To create an Agent from a template, follow these steps:

1. On the **Agents** page, click **New agent**. The **Create New Agent** panel opens.
2. Select **AI Assistant**, **Autonomous Agent**, **Research Agent**, or **A2A Agent**. To create an Agent without a template, click **Start with an empty agent**.
3. Configure the settings for the selected type. The following sections describe each type's settings.
4. Click the button for the selected type: **Create AI Assistant**, **Create Autonomous Agent**, **Create Research Agent**, or **Connect Agent** for an A2A Agent. The Agent editor opens with the new Agent.

To create an Agent from inside a Product instead, see [Creating and configuring agents](/user-guide/agents/creating-and-configuring-agents#create-an-agent).

### AI Assistant

Choose **AI Assistant** for a single response to each message. Configure these settings:

* **Name your agent**: Enter a descriptive name. This field is required.
* **Model**: Choose the model that powers conversations.
* **Persona template**: Select the starter system prompt for the Agent's personality and tone.

The **Persona template** options are:

* **Helpful Assistant**: General purpose, friendly tone.
* **Customer Support**: Professional, solution-focused.
* **Technical Expert**: Precise, detailed explanations.
* **Custom**: Starts with a blank system prompt.

You can edit the system prompt in the Agent editor after you create the Agent.

### Autonomous Agent

Choose **Autonomous Agent** for tasks that require multiple turns. Configure these settings:

* **Name your agent**: Enter a descriptive name. This field is required.
* **Model**: Choose the model that powers the Agent.
* **Enable Agent Loop**: Selected by default, so the Agent iterates across turns. Clear it to limit the Agent to one turn.
* **Max Turns**: Set the maximum number of turns to a value from 2 to 25. The default is 10. This setting appears when **Enable Agent Loop** is selected.

The Agent Loop stops when the Agent finishes the task or reaches **Max Turns**. The Agent does not have to use every turn.

The Autonomous Agent starts with a system prompt that tells it to break the task into steps and continue until the task is complete. You can edit it in the Agent editor.

### Research Agent

Choose **Research Agent** for web research. Configure these settings:

* **Name your agent**: Enter a descriptive name. This field is required.
* **Model**: Choose the model that powers the Agent.
* **Exa - Semantic web search**: Selected by default. Exa finds relevant web content by meaning.
* **Firecrawl - Web page scraping**: Selected by default. Firecrawl extracts text from web pages.
* **Research cycles**: Set the maximum number of search and scrape iterations to a value from 1 to 10. The default is 5.

The Research Agent starts with a system prompt that tells it to search, extract details from pages, and cite its sources. You can edit it in the Agent editor.

### A2A Agent

Choose **A2A Agent** to connect an external agent that uses the Agent-to-Agent (A2A) protocol. Configure these settings:

* **Agent Card URL**: Enter the URL of the external agent's Agent Card, for example `https://agent.example.com/.well-known/agent.json`. Click the globe button next to the field to load the card. Runtype fills in the name, description, and endpoint from the card.
* **Agent Name**: Enter a name. This field is required.
* **A2A Endpoint URL**: Enter the JSON-RPC endpoint for the external agent, for example `https://agent.example.com/a2a`. This field is required.

Both URLs must start with `https://`. The Agent Card URL must be publicly reachable, because Runtype fetches the card from the internet.

When the Agent Card lists an A2A 1.0 endpoint, Runtype connects with A2A 1.0. Otherwise, and when you don't provide an Agent Card, Runtype uses A2A 0.3.

If the external agent requires credentials, open the Agent after you create it. In **External Agent Configuration**, set **Authentication** to **Bearer Token**, **API Key**, or **Basic Auth**, then enter the credentials. For **API Key**, also enter the **Header Name**.

If the external agent returns `input-required` or `auth-required`, the run pauses and displays the request. Respond to the request to continue the conversation. For API and SDK behavior, see [Elicitation pauses](/developer-guides/guides/runtime-tools#elicitation-pauses-when-the-question-is-for-the-human).

#### Troubleshoot the Agent Card

The following messages can appear when you load an Agent Card:

* **Could not reach** followed by the host name: Runtype could not connect to the host. Check the URL, and make sure the host accepts requests from the internet.
* **Timed out fetching the agent card**: The host did not respond in time. Check that the external agent is running, then try again.
* **Agent card loaded, but it lists no A2A endpoint**: The card has no JSON-RPC endpoint. Enter the **A2A Endpoint URL** manually.
* **Failed to fetch agent card**: The host returned an error, such as a 404 status. Check the URL, or enter the name and endpoint manually.

## Customize an Agent after creation

After you create an Agent, open the Agent editor to change its configuration. Use the editor to:

* Edit the system prompt and change settings such as the model, temperature, and Agent Loop.
* Use the tools toolbar to add or remove [Tools](/user-guide/tools/what-are-tools).

## Choose a template, start from scratch, or import

Choose a template when you want a configured starting point for a common use case, such as support, research, data processing, or content generation.

Start from scratch when you need a unique workflow or want to configure each setting yourself.

To reuse a Flow from another workspace, click **Import flow** in the **Create New Flow** panel and upload a Flow JSON export. For details, see [Creating and editing flows](/user-guide/flows/creating-and-editing-flows).

## Next steps

* [Creating and editing flows](/user-guide/flows/creating-and-editing-flows): build and edit a Flow.
* [Creating and configuring agents](/user-guide/agents/creating-and-configuring-agents): configure an Agent after creation.
* [Flow step types overview](/user-guide/flows/flow-step-types-overview): choose the steps for a Flow.
* [What are Schedules?](/user-guide/schedules/what-are-schedules): run a Flow on a schedule, such as the Granola template.
* [FPO templates](/developer-guides/guides/fpo-templates): deploy a whole Product from a template, not only a Flow or Agent.
* [Quickstart: Social Media Post Generator](/user-guide/getting-started/quickstart-social-media-post-generator): build and deploy a Flow as a REST API.