> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bland.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Integration Tools

> Connect to Cal.com, Salesforce, Slack, and other services.

This tutorial walks through creating a Cal.com booking tool. The same pattern applies to every built-in integration: connect an account once, build a tool on it, and tag the tool into a prompt.

For shared concepts, see the [Tools overview](https://docs.bland.ai/tutorials/tools/overview.md). For the full builder reference, see [Tools](https://docs.bland.ai/agents/tools.md).

## Prerequisites

* An agent to tag the tool into, from [Agent builder](https://docs.bland.ai/agents/agent-builder.md)
* A Cal.com account and its API key

***

## Step 1: Connect Cal.com

1. Set the sidebar selector to **All agents** and open **Tools** under Resources.
2. Open the **Connections** tab.
3. Click **Add connection** and choose **Cal.com**.
4. Give the connection a name, like "Sales Team Calendar", and enter your Cal.com API key.

You only do this once. One connection can power as many tools as you need.

You can also start from the tool builder: **New connection** at the top of its connection list opens the same flow.

***

## Step 2: Create the tool

1. From inside your agent, open **Tools** and click **Create tool**.
2. Choose **Integration**.
3. Pick your Cal.com connection, then the booking action.

The fields the tool needs come from Cal.com, so you do not define them yourself.

***

## Step 3: Configure the tool

**Describe when to use it.** The agent reads the description to decide when to call the tool. Write the trigger: "Book a meeting once the caller has agreed to a specific time."

**Fill in each field.** Give each field a fixed value, have the agent fill it from the conversation, or use a variable already on the call. A calendar or event type is usually fixed. The attendee's name and email usually come from the caller.

**Choose the output fields.** Check the fields the agent should be able to use, and keep `ok` checked so the agent can tell when a booking failed.

Save the tool.

***

## Step 4: Tag it into a prompt

In the agent's **Prompt**, type `@` and pick the tool. It then appears under **Tool references**. A tool that is not tagged is never called. See [Tag a tool into a prompt](https://docs.bland.ai/agents/tools.md#tag-a-tool-into-a-prompt).

***

## Cal.com response fields

In addition to the default `ok`, `message`, and `data` fields, the Cal.com booking action returns:

| Field | Description |
| - | - |
| `meeting_url` | The booking URL |
| `booking_id` | Unique identifier for the booking |
| `booking_uid` | UID for the booking |
| `status` | Booking status |
| `start_time` | Scheduled start time |
| `end_time` | Scheduled end time |
| `attendee_email` | The attendee's email |
| `attendee_name` | The attendee's name |
| `attendee_timezone` | The attendee's timezone |

To use a field in the prompt, check it under **Output fields** and write its bare name, for example:

```text theme={null}
Confirm the booking and read the start time back to the caller: {{start_time}}.
```

***

Docs for agents: [llms.txt](https://docs.bland.ai/llms.txt)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.