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

# Create an AI agent for WhatsApp and PSTN calls

Learn how to create an AI agent that answers and makes calls on WhatsApp and on your phone line, step by step, from the first prompt to your first test call.

Your customers call when they want an answer right away. With a calling AI agent, every call gets picked up, whether it comes in on WhatsApp or on your regular phone line (PSTN). The agent talks to customers in their own language, answers from your help content, checks details like order status in your systems, and passes the call to your team when a person is needed.

This guide walks you through building a calling agent, one step at a time. Keep DoubleTick open in another tab and build your agent as you read. By the end, it will be ready for its first test call.

**What’s covered**

* [Before you begin](#before-you-begin)
* [Create your agent](#step-1-create-your-agent)
* [Choose the language and voice](#step-2-choose-the-language-and-voice)
* [Write a call prompt](#step-3-write-a-call-prompt)
* [Give your agent knowledge](#step-4-give-your-agent-knowledge)
* [Set up your tools](#step-5-set-up-your-tools)
* [Adjust call settings](#step-6-adjust-call-settings)
* [Set up post-call metrics](#step-7-set-up-post-call-metrics)
* [Test your agent on a call](#step-8-test-your-agent-on-a-call)
* [AI credit usage](#ai-credit-usage)

#### Before you begin

Make sure you have:

* The AI agents and assistance add-on enabled on your account.
* A WhatsApp number with calling enabled, or a phone (PSTN) number connected to DoubleTick.
* Your help content ready, such as your website, FAQs, and the PDFs or spreadsheets your team uses to answer customers.
* Enough AI credits for your calls. Each call minute uses 10 AI credits. See [AI credit usage](#ai-credit-usage).

#### Step 1: Create your agent

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FOBrjITlklAPZWQSu35pW%2F01%20-%20Create%20your%20agent.gif?alt=media&amp;token=8ca8f4a9-6664-4220-9414-2c1f530174c7" alt=""><figcaption></figcaption></figure>

* Click **Create new agent**.
* Type a name your team will recognise, for example “Customer support agent” or “Renewals agent”. Customers never see this name.
* Describe the agent’s job in a sentence or two, for example: “Answers customer questions about our products, orders and returns, and transfers the call to the support team when needed.” This becomes the start of your prompt. You can also click **Skip** and write it later.
* If you already have knowledge bases, select the ones this agent should use. If not, you’ll add knowledge in Step 4.
* Click **Create agent**.

Your agent opens in its editor. Click **Call agent** in the left menu to start the calling setup. You can use **Search settings** at the top of the left menu to jump to any setting.

{% hint style="info" %}
**Note:** The same agent can handle chats and calls. **Chat agent** is where you set up chats, and **Call agent** is where you set up calls. Knowledge and tools are shared, so you only add them once.
{% endhint %}

#### Step 2: Choose the language and voice

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FOVn2uLnHPmg2I9yRqMey%2F02%20-%20Choose%20language%20and%20voice.gif?alt=media&amp;token=f243ee81-dedd-4155-bb54-f36a45c40515" alt=""><figcaption></figcaption></figure>

1. Click **Call agent**, then open the **Settings** tab.
2. Under **Voice and languages**, click **Languages** and select the main language your customers speak, for example English (India) or Hindi (India). You can search the list.
3. Click **Voice**. The **Choose a voice** window opens. Search by name, and click the speaker icon on any voice to hear it.
4. Select the voice you like, then click **Use this voice**.
5. Click **Save settings** at the bottom.

{% hint style="info" %}
**Note:** Select only one language. If you select more than one, you can’t pick a voice. If your customers speak more than one language, choose the main one here and tell the agent in the prompt when to switch (Step 3).
{% endhint %}

#### Step 3: Write a call prompt

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2Fmx1wNNgcNdaCcZyIlAlt%2F03%20-%20Write%20a%20call%20prompt.gif?alt=media&amp;token=6bfd6753-d15f-4e9f-80b2-ab12ea57230f" alt=""><figcaption></figcaption></figure>

The call prompt is the set of instructions your agent reads before every call. Think of it as the briefing you’d give a new team member on their first day: who they are, what they help with, how they should talk, and what they must never do.

**What to include:** Give each part its own heading so it’s easy to update later.

* **Role and goal:** Who the agent is, and what a good call looks like. For example: “You are a support executive at \[your business name]. Your goal is to answer the caller’s question correctly and make sure they know what to do next.”
* **How to speak:** The caller can’t scroll back on a call, so ask the agent to keep answers short, ask one question at a time, and sound friendly and calm.
* **Language:** Which language to start in, and when to switch. For example: “Start in English. If the caller speaks Hindi, switch to Hindi.”
* **What it can help with:** The topics it handles, such as products, orders, delivery and returns. For example: “Answer only from the knowledge you have.”
* **Guardrails:** What the agent must never do. For example: “Never guess a price or a date. Never ask for an OTP, password, card number or UPI PIN.”
* **When to hand over:** When the agent should pass the call to your team. For example: “If the caller asks for a person, or you can’t help after two tries, transfer the call.”

**Write and save it:**

* Click **Call agent**, then open the **Prompt** tab.
* Write your prompt in the editor. Use **Formatted** to see headings and lists, or **Raw** to write in Markdown. Click **Full screen** if you need more room.
* As you add headings, they show up in the **Contents** panel beside the editor. Click a heading to jump straight to it.
* Click **Save settings** at the bottom.

Your call prompt can be up to 10,000 characters. The character count shows below the editor.

**Sample call prompt:**

{% code overflow="wrap" expandable="true" %}

```
You are Aria, a support executive at [your business name]. Answer the caller’s question correctly and make sure they know what to do next.
Keep answers short. Ask one question at a time. Sound friendly and calm.
Start in English. If the caller speaks Hindi, switch to Hindi.
Never guess a price or a date. Never ask for an OTP, password or card number.
If the caller asks for a person, or you can’t help after two tries, transfer the call.
```

{% endcode %}

You don’t need a perfect prompt on day one. Start simple, test a few calls in Step 8, and improve it based on what you hear.

#### Step 4: Give your agent knowledge

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FhcH5gELPg1yJcTAbw7rk%2F04%20-%20Add%20knowledge.gif?alt=media&amp;token=5134978a-e30c-4721-bacc-6a5d520bc82f" alt=""><figcaption></figcaption></figure>

Your agent can only answer well if it has the right information. Add whatever you’d give a new team member to read before they start taking calls. Click **Knowledge** in the left menu, then click **Add source**. You’ll see three options.

**Add your website:**\
Use this for your website and help centre. The agent reads every page under the address you give it.

* Click **Add source**, then click **Website**.
* In **Address**, enter the link, for example <https://www.yourbusiness.com>.
* Keep **Follow links to other pages on the same site** selected, so the agent reads the linked pages too.
* Click **Add website**. Repeat for each site, such as your help centre.

Websites are re-crawled once a day, so the agent picks up page changes on its own.

**Add FAQs:** FAQs suit questions customers ask again and again, especially when you want one exact answer.

* Click **Add source**, then click **FAQ**.
* Type the **Question** the way a customer would ask it, for example “How long does delivery take?”
* Type the **Answer** you want the agent to give.
* Click **Add FAQ**. Repeat for each question.

**Add files:** Use files for documents your team already has, like price lists, policies, product guides or spreadsheets.

* Click **Add source**, then click **Files**.
* Drag your files into the box, or click it to choose them. You can add PDF, Excel, CSV, Markdown and text files, up to 20 MB each.
* Click **Add files**.

Once a source is ready, its status shows **Trained**. If you change your website or files, click **Re-sync all** to update everything at once.

> **Use a shared knowledge base:** In the **Knowledge bases** box, select a knowledge base you’ve already built, or click **Create knowledge base** to build one that every agent can answer from.

{% hint style="info" %}
**Note:** Your agent answers only from what you give it. If a question isn’t covered anywhere in its knowledge, it won’t have a reliable answer. Add FAQs for anything customers ask often.
{% endhint %}

#### Step 5: Set up your tools

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2F7pDfozE0lcValc2RscVC%2F05%20-%20Built-in%20tools.gif?alt=media&amp;token=02536e4c-18e7-4b6c-8bd6-60249c90a6d1" alt=""><figcaption></figcaption></figure>

Knowledge helps your agent answer questions. Tools let it do things during a call, like checking an order, booking a demo or raising a ticket. Click **Tools** in the left menu.

**Built-in tools:** Every agent comes with three tools made for calls. Turn each one on or off, then click **Save settings**.

* **end\_call:** Lets the agent hang up politely once the conversation is complete. Keep this on.
* **transfer\_to\_human:** Lets the agent pass the call to someone on your team when the customer asks. Turn this on if callers should be able to reach a person.
* **customer\_context:** Before each call, the agent reads the customer’s name, a summary of their chats and their custom fields, so it can greet them by name and skip questions you already know the answers to.

You’ll also see the **Send · WhatsApp** tools. These send images, documents, buttons and lists, so they work in chats only.

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FtkI5ULL1iFHvvrFwJuAd%2F06%20-%20Create%20your%20own%20API%20tool.gif?alt=media&amp;token=15f4a89d-5018-47d2-9176-b5ab86aeda76" alt=""><figcaption></figcaption></figure>

**Create your own tool:** When your agent needs information from your own system, or needs to take an action there, create a tool. For example, a support agent could use a tool called check\_order\_status to look up where a customer’s order is.

* Click **Add tool**. The **Create Tool** panel opens.
* In **Name**, type a short name in lowercase words joined by underscores, for example check\_order\_status.
* In **Description**, tell the agent when to use the tool. Be specific, because the agent decides based on this. For example: “Use this when the caller asks where their order is, or when it will be delivered.”
* Under **Type**, choose how the tool works:

  **Bot:** Runs a journey you build in the Bot Builder. You build the journey after you create the tool

  **API:** Connects to your own system to fetch or send data, such as an order status.
* Under **Available for**, choose where the agent can use the tool:

  **All:** On both chats and calls.

  **Voice only:** On calls only.

  **Text only:** On chats only.
* Click **Add parameter** for each detail the agent should collect from the caller first, such as an order ID or an email address.
* If you chose API, fill in the request details:

  Select the **Method**, such as GET or POST, and enter the **URL**.

  Click **Add header** for any headers your system needs, such as an authorisation key.

  Already have a cURL command? Click **Import from cURL** and paste it to fill in these details.

  Click **Test API** to check that everything works.
* Click **Create**.

> Your new tool shows under **Your tools**, with a toggle to turn it on or off. Mention it in your prompt so the agent knows when to use it, for example: “When the caller asks about their order, use check\_order\_status.”

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FLzJHEf9NDeLPP1Nnd6YP%2F07%20-%20Build%20the%20Bot%20tool%20journey.gif?alt=media&amp;token=cf853ca7-7946-4d36-ba8f-621acde08259" alt=""><figcaption></figcaption></figure>

**Build the journey for a Bot tool:**

* Click the three-dot menu on the tool, then click **Create customer journey**. Once a journey exists, this option shows as **Open customer journey**.
* The Bot Builder opens with a starting point called **On customer intent**.
* Add the actions you need, such as **Assign Agent**, and connect them.
* End the flow with **Pass Tool Call Response** and write what the agent should tell the caller.
* Turn on the toggle so it shows **Enabled**, then click **Save**.

{% hint style="info" %}
**Note:** Always end a Bot tool’s journey with Pass Tool Call Response. Without it, the journey runs but the agent won’t know what to tell the caller.
{% endhint %}

**Fetch details before the call starts:** Sometimes you want information ready before the agent says hello, like the customer’s latest order. For this, tick **Pre-call tool** when you create the tool.

* A pre-call tool runs once, before the call starts. The agent can’t use it again during the call.
* Its URL or body can use {{customerId}} and {{customerPhone}} to look the customer up.
* To use its reply, add the field to your prompt or first message as {{tool\_name.field}}, for example {{get\_latest\_order.order\_id}}.

#### Step 6: Adjust call settings

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FwBV9s2gzwzMkR3rHOIh0%2F07%20-%20Adjust%20call%20settings.gif?alt=media&amp;token=fa9f7b8e-541e-45aa-bf05-1397a0b7fbc7" alt=""><figcaption></figcaption></figure>

Click the **Settings** tab under **Call agent**. Settings are grouped by topic. Each group has an **Advanced** section. Click **Show** to open it. The defaults work for most agents, so keep them and adjust later based on your test calls. Click **Save settings** at the bottom when you’re done.

**Conversation:** What the agent says first, and what it remembers.

* **First message for incoming calls:** What the agent says as soon as it picks up. For example: “Hi {{customer.name}}, thanks for calling \[your business name]. How can I help you today?” If you leave it empty, the agent waits for the caller to speak first.
* **First message for outgoing calls:** What the agent says when the customer answers your call. If you leave it empty, the agent says nothing first.
* **Use chat history as context:** Turn this on so the agent gets the customer’s chat summary and recent messages. The customer doesn’t have to repeat themselves.
* **Messages to include:** Once chat history is on, choose how many recent messages the agent gets.

In **Advanced**:

* **Detect the language:** Lets the agent switch to the language the caller speaks.
* **Switch language after:** How quickly the agent follows a caller who changes language. Balanced works for most calls.
* **Pronunciation dictionary:** Teaches the agent how to say brand names, abbreviations and tricky words. Click **Add word**, type the word, then type how to say it.
* **Summarise long calls:** On long calls, the agent condenses the earlier part so it doesn’t lose track. Use **Summarise after** to choose after how many turns this starts.

**Turn-taking:** When the agent listens and when it speaks.

* **Customer can interrupt:** When this is on, the agent stops talking as soon as the caller starts. This makes the call feel natural.
* **Words that don’t interrupt:** People say “hmm”, “haan” or “ok” while they listen. Words in this list won’t make the agent stop. Many common words are already added. To add your own, type it in the box and press Enter.

In **Advanced**, you can fine-tune how the agent decides a turn has started or ended, and how long it waits during pauses. If background noise keeps interrupting the agent, raise **Minimum volume** a little.

**Audio:** What the caller hears around the agent’s voice.

* **Background ambience:** Adds a soft room sound behind the agent’s voice, so it sounds like a real office.

In **Advanced**, you can set **Background noise removal** and choose the **Phone audio quality**.

**Call limits:** How many calls run at once, and how long each one can last.

* **Concurrent calls for this agent:** How many calls this agent can be on at the same time. Use the **-** and **+** buttons to change it. All agents share your organisation’s total. Click **Manage** to split them between agents. Need more? Contact <support@doubletick.io>.

In **Advanced**:

* **Max call duration:** The call ends on its own after this many seconds. For example, 600 seconds is 10 minutes.
* **Prompt the customer after silence of:** How many seconds the agent waits before checking in when the caller goes quiet.
* **Silence prompts before hanging up:** How many times the agent checks in before ending the call. Set it to 0 to hang up at the first silence.
* **What it says after silence:** What the agent says to check in, for example “Are you still there?”

**Handover:** When a person on your team takes over the call.

* **Transfer to a human:** Turn this on to let the agent pass the call to your team when the caller asks.
* **Message before transfer:** What the agent says just before handing over, in one line of up to 300 characters. For example: “Sure, I’m connecting you to our team now. Please stay on the line.”

In **Advanced**:

* **Transfer to:** Who receives the call, for example **Anyone on the number**.
* **How it picks:** Which person takes the call, for example **In turn**.
* **Voicemail detection:** What the agent does if an answering machine picks up. Choose **Listen for a voicemail greeting**, **Answering-machine detection** or **Off**.

#### Step 7: Set up post-call metrics

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FnKKtx5xtXZ1IfsK2a6Tp%2F08%20-%20Post%20call%20metrics.gif?alt=media&amp;token=a0fd2969-c0bd-4b05-95e9-bfd3406288d3" alt=""><figcaption></figcaption></figure>

After every call, your agent can note down the details that matter to your business, like whether the customer was interested or when they promised to pay. These are called post-call metrics. They show on every call in **Calls**, and as columns when you export calls to CSV.

Click **Post call metrics** in the left menu. Every agent starts with two default fields:

* **call\_outcome:** Whether the customer was interested, not interested, or asked for a callback.
* **meaningful\_conversation:** Whether the customer actually engaged with the purpose of the call (Yes / No).

**Add your own field:** Say you want to know which product each caller asked about.

* Click **Add field**.
* In **Name**, type a short name in lowercase words joined by underscores, for example product\_asked\_about. This is used in results and exports.
* In **Label**, type the name your team will see, for example “Product asked about”.
* Under **Type**, choose what kind of answer you expect:
  * **Text:** A short written answer.
  * **Number:** A number, such as an amount.
  * **Options:** One answer from a list you set. Type each option in **Values**.
  * **Yes / No:** A simple yes or no.
* In **How the AI fills it**, tell the AI what to look for, as if you were explaining it to a colleague. For example: “The product the caller asked about most.”
* Turn on **Required** if the AI should always fill in this field.
* Click **Add field**.

To change a field later, click the edit icon next to it.

#### Step 8: Test your agent on a call

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FhbnGmrUnpt7tBDvHDoy0%2F09%20-%20Test%20your%20agent%20on%20a%20call.gif?alt=media&amp;token=6fccf5a1-af80-4ea9-8797-6b24ddda0aec" alt=""><figcaption></figcaption></figure>

Before your customers hear your agent, take a few test calls yourself. In the test panel on the right, click the **Call** tab. There are two ways to test.

**Test from your browser with Web call:** This is the quickest way. You talk to the agent through your computer’s microphone.

* Click **Web call**.
* Enter the test customer’s name and phone number. The agent treats this as the person it’s talking to.
* Under **From channel**, select the WhatsApp or phone number the test call should be recorded on.
* Next to **Greeting**, choose who starts the call:
  * **We call them:** Tests an outgoing call, using your first message for outgoing calls.
  * **They call us:** Tests an incoming call, using your first message for incoming calls.
* Click **Start web call** and allow access to your microphone when asked.

**Test on your phone with Call my number:** This places a real phone call from the agent, so you hear exactly what your customers will hear.

* Click **Call my number**.
* Enter the name and the phone number the agent should call.
* Select the **From channel** and choose the **Greeting**.
* Click the **Call** button and answer your phone.

{% hint style="info" %}
**Note:** **Fire webhooks** is off by default, so test calls don’t update your CRM or other connected systems. Turn it on only when you want to test those connections too.
{% endhint %}

**What to check on a test call**

* Does the agent greet the caller the way you want?
* Does it answer common questions correctly from its knowledge?
* Does it use your tools at the right moments?
* Does it switch language when you do?
* Does it transfer the call when you ask for a person?

If something doesn’t sound right, update the prompt, knowledge or settings and call again. You can also use the **Chat** tab to quickly test answers by text.

#### AI credit usage

Calls handled by your AI agent use **10 AI credits for every minute of the call**. On an Indian (INR) account, this is about ₹5 per call minute.&#x20;

If your AI credits reach zero, AI features stop working until you top up or your next monthly refill arrives. Set up email alerts so your team knows before this happens. For the full rate card, how credits refill and how to top up, see [Introduction to AI agents](/doubletick-ai/ai-agents-and-assistance/introduction-to-ai-agents.md).

#### Key takeaways

* Start from **Automate > AI Agents > Create new agent**, then open **Call agent**.
* Pick one main language and a voice that suits your brand in **Call agent > Settings**.
* Write the prompt like a briefing for a new team member: role, tone, topics, guardrails and when to hand over.
* Add your website, FAQs and files in Knowledge, so the agent has the right answers.
* Use tools to let the agent check details and take actions during a call.
* Keep the advanced settings on their defaults until testing shows you need a change.
* Use post-call metrics to capture what matters from every call.
* Test with Web call or Call my number before you go live.
* Each call minute uses 10 AI credits. If your credits run out, AI features stop until you top up or your credits refill.

#### FAQs

<details>

<summary>Can the same agent handle chats and calls?</summary>

Yes. Set up chats under Chat agent and calls under Call agent. Knowledge and tools are shared.

</details>

<details>

<summary>How many AI credits does a call use?</summary>

10 AI credits for every minute of the call. On an Indian (INR) account, this is about ₹5 per minute.

</details>

<details>

<summary>What happens to my calling agent when my AI credits run out?</summary>

AI features stop working until you top up or your next monthly refill arrives. Set up email alerts to get a warning before this happens.

</details>

<details>

<summary>Where does my agent get its answers from?</summary>

From the websites, FAQs and files you add in Knowledge, and from your tools.

</details>

<details>

<summary>Which file types can I add to knowledge?</summary>

PDF, Excel, CSV, Markdown and text files, up to 20 MB each.

</details>

<details>

<summary>Can my agent speak more than one language on a call?</summary>

Yes. Pick one main language in Step 2, tell the agent in the prompt when to switch, and turn on **Detect the language** under Conversation > Advanced in Call settings.

</details>

<details>

<summary>Why can’t I pick a voice?</summary>

You have more than one language selected. Keep only the main language under Languages, and the voice list will fill.

</details>

<details>

<summary>How do I stop “hmm” or “ok” from interrupting the agent?</summary>

Add them to **Words that don’t interrupt** under Turn-taking in Call settings.

</details>

<details>

<summary>Will a test call update my CRM?</summary>

No. Fire webhooks is off by default for test calls. Turn it on only when you want to test those connections.

</details>

<details>

<summary>Why does my test call say “This channel is no longer available to you”?</summary>

The number last used for testing is no longer connected to your account, or you no longer have access to it. Select another number under From channel.

</details>

<details>

<summary>How many calls can my agent take at the same time?</summary>

As many as you set in **Concurrent calls for this agent**. All agents share your organisation’s total. Click **Manage** to split it, or contact <support@doubletick.io> for more.

</details>

<details>

<summary>What happens when all my concurrent calls are busy?</summary>

Extra calls from the agent wait in a queue instead of failing. Incoming calls are still answered.

</details>

#### Related articles

{% content-ref url="/pages/sXF9tbyEAUEiyaCHCC5a" %}
[Introduction to AI agents](/doubletick-ai/ai-agents-and-assistance/introduction-to-ai-agents.md)
{% endcontent-ref %}

{% content-ref url="/pages/V2sD3IwTrLcIuHfMrnL6" %}
[Create an AI agent for WhatsApp chats](/doubletick-ai/ai-agents-and-assistance/create-an-ai-agent-for-whatsapp-chats.md)
{% endcontent-ref %}

{% content-ref url="/pages/2xBiGA3FrNpdUwxKx7V8" %}
[Create custom tools for your AI agent](/doubletick-ai/ai-agents-and-assistance/create-custom-tools-for-your-ai-agent.md)
{% endcontent-ref %}


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://learn.doubletick.io/doubletick-ai/ai-agents-and-assistance/create-an-ai-agent-for-whatsapp-and-pstn-calls.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
