> ## 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.

# Tools: Integration Tools

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

## Connect Cal.com

This tutorial walks through creating a Cal.com booking tool. The same patterns apply to all built-in integrations.

### Step 1: Connect Cal.com

1. Go to **Integrations** tab
2. Click **Cal.com**
3. Click **Add Connection**
4. Name it (e.g., "Sales Team Calendar")
5. Click **Connect**
6. Enter your Cal.com API key in the popup
7. Click **Save**

<img src="https://mintcdn.com/blandai/NBG7NZ-bEQFyvhvo/tutorials/tutorials-assets/v2-tools/calCom_connection.gif?s=988a67fdc54391a7347e506465ab40ab" alt="Cal.com Connection" width="1280" height="720" data-path="tutorials/tutorials-assets/v2-tools/calCom_connection.gif" />

### Step 2: Create a Booking Tool

In the Actions panel, click **Create Booking** to open the Tool Builder.

<img src="https://mintcdn.com/blandai/NBG7NZ-bEQFyvhvo/tutorials/tutorials-assets/v2-tools/integration_tools_tutorial/calcom_Action_pannel.png?fit=max&auto=format&n=NBG7NZ-bEQFyvhvo&q=85&s=e47e58b8ed6d24e4f6a1ace855db3067" alt="Actions Panel" width="1890" height="542" data-path="tutorials/tutorials-assets/v2-tools/integration_tools_tutorial/calcom_Action_pannel.png" />

### Step 3: Configure the Tool

**Action Parameters:**

<img src="https://mintcdn.com/blandai/NBG7NZ-bEQFyvhvo/tutorials/tutorials-assets/v2-tools/integration_tools_tutorial/calcom_Action_params_config.jpeg?fit=max&auto=format&n=NBG7NZ-bEQFyvhvo&q=85&s=86842d2d2d384ac9b90bc71d354d05a8" alt="Action Parameters Configuration" width="5088" height="3548" data-path="tutorials/tutorials-assets/v2-tools/integration_tools_tutorial/calcom_Action_params_config.jpeg" />

**Response Variables:**

<img src="https://mintcdn.com/blandai/NBG7NZ-bEQFyvhvo/tutorials/tutorials-assets/v2-tools/integration_tools_tutorial/calcom_response_vars.jpeg?fit=max&auto=format&n=NBG7NZ-bEQFyvhvo&q=85&s=a075c23ec992f3149239181d86520b07" alt="Response Variables Configuration" width="5088" height="3548" data-path="tutorials/tutorials-assets/v2-tools/integration_tools_tutorial/calcom_response_vars.jpeg" />

Click **Create Tool**.

***

## Configuring Tool Parameters

All integrations use the same three input modes:

### Manual Mode

The value is fixed and always the same.

**When to use:**

* Cal.com event type for demos
* Default priority or status values
* Account IDs that are always the same

**Example:** Always use the "Sales Demo" event type in Cal.com.

### Agent Mode (Click the Sparkle Button)

The AI extracts the value from the conversation.

**When to use:**

* Caller's name, email, or other personal info
* Details about what they're interested in
* Scheduling preferences from the conversation

**Example:** Extract when the caller said they're available.

**Writing Good Instructions:**

* Be specific: "The caller's work email address" not just "email"
* Mention format if it matters: "Date and time in the format they mentioned"
* Handle missing data: "The company name if mentioned, otherwise leave blank"

### Linked Mode (Click the Link Button)

The value comes from a system variable or pathway variable.

**System Variables (when available):**

| Variable  | Description                     |
| --------- | ------------------------------- |
| `from`    | The caller's phone number       |
| `to`      | The number that was called      |
| `call_id` | Unique identifier for this call |

Not all variables are available in every context. Check which variables are available in your specific use case.

**When to use:**

* Automatically include caller's phone number in a CRM
* Reference the call ID for tracking
* Use variables collected earlier in the pathway

***

## Response Variables

After a tool executes, you can capture data from the response.

### Default Fields (All Integrations)

Every tool response includes:

| Field     | Type    | Description                         |
| --------- | ------- | ----------------------------------- |
| `ok`      | boolean | `true` if successful                |
| `message` | string  | Status message from the integration |
| `data`    | object  | Integration-specific response data  |

### Cal.com Response Fields

**Cal.com Schedule Meeting**:

* `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

***

## Using Response Data in Pathways

### Response Pathways

Route your pathway based on what the tool returned:

| Variable | Condition | Value   | Go To         |
| -------- | --------- | ------- | ------------- |
| `ok`     | equals    | `true`  | Success Flow  |
| `ok`     | equals    | `false` | Error Handler |

**Available Conditions:**

* `==`, `!=` - Equals, not equals
* `>`, `<`, `>=`, `<=` - Numeric comparisons
* `contains`, `!contains` - String matching
* `is null`, `is not null` - Check for presence

***

Docs for agents: [llms.txt](/llms.txt)
