> For the complete documentation index, see [llms.txt](https://docs.agentalk.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.agentalk.io/ai-agents/create-an-agent.md).

# Create an agent

Agents handle calls based on the instructions, voice, and settings you define. This tutorial shows how to create an agent and configure how it behaves during calls.

### Before you start

Make sure you have the following:

* An active Agentalk account.
* Basic understanding of how [**AI agents**](/core-concepts/ai-agents.md) work.

{% hint style="info" %} <mark style="color:$info;">**Use separate agents for inbound and outbound calls**</mark>

Create separate agents for inbound and outbound calls. The initial message must differ depending on whether the agent is receiving or initiating the call. Duplicate an existing agent to create the second one quickly.
{% endhint %}

Follow these steps to create and configure your agent:

{% stepper %}
{% step %}

### Open the new agent form

Start by creating a new agent from the dashboard.

1. Go to **AI Agents** in the left navigation.
2. Click **Create New agent**.

<figure><img src="/files/s91MpcOe5ousmM9rRzXL" alt=""><figcaption></figcaption></figure>

The agent configuration screen opens with multiple tabs.
{% endstep %}

{% step %}

### Configure basic settings

Define the core identity and behavior of your agent.

1. Enter an **Agent name**.\
   Example: `support_inbound_en`
2. Enter the **Initial message**.\
   This is what the caller hears first.\
   Example: `Hi! How can I help you today?`
3. Enable or disable **Greeting must complete before user can speak**.
4. In the **Conversation guidelines** field, you can create and customize the agent’s instructions.

   Choose how you want to generate the instructions:

   * **Manual writing:** Write the instructions yourself.
   * **Smart questionnaire:** Answer guided questions to generate instructions.
   * **Import from website:** Enter a URL to generate instructions based on your site content.

   Once the instructions are generated or written, review and adjust them as needed.
5. (Optional) Click **Add parameter** to capture structured data such as names, dates, or other variables during the conversation.
6. (Optional) Open **Additional settings**:
   * Enable **Call recording.**
   * Select a **Knowledge base.**
   * Add a **Conversation summary webhook URL.**

{% hint style="info" %} <mark style="color:$info;">**When to use a knowledge base**</mark>

The knowledge base is optional. Use it when your agent needs to answer questions from large or complex content.
{% endhint %}

<figure><img src="/files/ocs4JCIs2qwXd5HU1B8b" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Select voice and language

Choose how your agent sounds and generates responses.

1. In **Voice model selection**, choose one option:
   1. **Gemini or OpenAI**

      Use this option for a simple setup with preconfigured models and minimal setup.

      * Select a voice in **Voice and API key selection**
      * Configure **Background settings**:
        * Sound type
        * Sound volume
      * (Optional) Set **Language selection.**
   2. **Custom configuration**\
      Use this option when you need more control over the language model and voice behavior.
      * In **LLM settings**, choose:
        * Model type
        * Provider
      * Select a voice in **Voice selection**
      * Configure:
        * Background noise
        * Language (optional)

Additional fields may appear depending on your configuration.

<figure><img src="/files/N8t1j0CT1gsO1wSspXkZ" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Configure advanced settings

Adjust how the agent responds during calls. Most users can skip this step.

The following settings are optional and can be configured based on your use case.

#### Response settings

Control how the agent generates responses.

* **Maximum tokens**: Controls response length.
* **Creativity level (temperature)**: Controls variation.

#### Interruptions & monitoring settings

Define when the agent can interrupt or be interrupted during the conversation.

* **Minimum interrupt duration**: Minimum time before an interruption is detected
* **Minimum words**: Minimum words required before allowing interruption

#### Timing settings

Control how the agent detects when the caller has finished speaking.

* **Minimum delay for end of speech**
* **Maximum delay for end of speech**
* **Silence timeout**
* **Maximum duration**: Limits how long the call can last.

#### Punctuation & response settings

Adjust how punctuation affects response timing.

* Enable **Automatic punctuation response**.
* Set **Response delay for punctuation**.

Save your changes when you finish configuring these settings.

<figure><img src="/files/MpWKXj1ydFfJv65d31Z9" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Save and test the agent

Save your configuration and verify it works.

* Click **Save draft** to keep changes without activating the agent.
* Click **Save** to apply the configuration.
* Click **Save and test agent** to run a test call.
* Click **Cancel** to discard changes.

<figure><img src="/files/QhHT9kgkiJD3PpGa5OOp" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Next steps

Here are the recommended next steps after completing this guide:

* [**Add a phone number**](/phone-numbers/add-a-phone-number.md): Connect a number so your agent can start handling calls.
* [**Configure and test your phone number**](/phone-numbers/configure-and-test-your-phone-number.md): Make sure your setup works before going live.
* [**Write effective agent instructions**](/ai-agents/write-effective-agent-instructions.md): Improve how your agent handles conversations.
* [**Setup checklist**](/getting-started/setup-checklist.md): Review all required steps to complete your setup.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.agentalk.io/ai-agents/create-an-agent.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
