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

# Tool Reference

> Detailed documentation for every Salesfinity MCP tool

This page documents every tool available through the Salesfinity MCP server, including parameters, behavior, and usage tips.

## Contact Lists

### get\_contact\_lists

List all contact lists for your team. Returns metadata only — use `get_contact_list_by_id` to see the contacts inside a list.

| Parameter | Type   | Required | Description                                                          |
| --------- | ------ | -------- | -------------------------------------------------------------------- |
| `search`  | string | No       | Search lists by name (case-insensitive)                              |
| `user`    | string | No       | Filter by user ID                                                    |
| `sort`    | string | No       | Sort by field. Prefix with `-` for descending. Default: `-createdAt` |
| `page`    | number | No       | Page number (default 1)                                              |
| `limit`   | number | No       | Items per page (default 10, max 100)                                 |

***

### get\_contact\_list\_by\_id

Get a single contact list with all its contacts. Supports searching, sorting, and paginating the contacts within the list.

| Parameter | Type   | Required | Description                                                 |
| --------- | ------ | -------- | ----------------------------------------------------------- |
| `id`      | string | Yes      | Contact list ID                                             |
| `search`  | string | No       | Search contacts by first name, last name, email, or company |
| `sort`    | string | No       | Sort contacts by field. Prefix with `-` for descending      |
| `page`    | number | No       | Page number for contacts (default 1)                        |
| `limit`   | number | No       | Contacts per page (default 50)                              |

***

### create\_contact\_list

Create a new contact list with contacts. Maximum 2,000 contacts per list.

| Parameter  | Type   | Required | Description                                                      |
| ---------- | ------ | -------- | ---------------------------------------------------------------- |
| `name`     | string | Yes      | List name (1–100 characters)                                     |
| `user_id`  | string | Yes      | User ID who will own this list                                   |
| `contacts` | array  | Yes      | Array of contact objects (see [Contact object](#contact-object)) |

***

### add\_contact\_to\_list

Add a single contact to an existing list. After adding, call `reimport_contacts` to include them in the dialing queue.

| Parameter          | Type   | Required | Description                           |
| ------------------ | ------ | -------- | ------------------------------------- |
| `list_id`          | string | Yes      | Contact list ID                       |
| All contact fields | —      | —        | See [Contact object](#contact-object) |

***

### remove\_contact\_from\_list

Remove a contact from a list.

| Parameter    | Type   | Required | Description          |
| ------------ | ------ | -------- | -------------------- |
| `list_id`    | string | Yes      | Contact list ID      |
| `contact_id` | string | Yes      | Contact ID to remove |

***

### delete\_contact\_list

Permanently delete a contact list and all its contacts. This action is irreversible.

| Parameter | Type   | Required | Description               |
| --------- | ------ | -------- | ------------------------- |
| `list_id` | string | Yes      | Contact list ID to delete |

***

### reimport\_contacts

Reimport contacts from the source list to the dialing queue. Call this after adding contacts to make them available for dialing.

| Parameter | Type   | Required | Description                 |
| --------- | ------ | -------- | --------------------------- |
| `list_id` | string | Yes      | Contact list ID to reimport |

***

## Team

### get\_team

Get team information including all team members. Takes no parameters.

***

## Call Logs

### get\_call\_logs

Search and filter call logs with extensive filtering options.

| Parameter                       | Type      | Required | Description                                             |
| ------------------------------- | --------- | -------- | ------------------------------------------------------- |
| `page`                          | number    | No       | Page number (default 1)                                 |
| `limit`                         | number    | No       | Items per page (1–100, default 10)                      |
| `sort`                          | string    | No       | Sort field. Default: `-createdAt`                       |
| `start_date`                    | string    | No       | Filter start date (ISO 8601)                            |
| `end_date`                      | string    | No       | Filter end date (ISO 8601)                              |
| `outcome`                       | string    | No       | Filter by outcome: `answered`, `no-answer`, `cancelled` |
| `direction`                     | string    | No       | Filter by direction: `inbound`, `outbound`              |
| `min_duration`                  | number    | No       | Minimum call duration (seconds)                         |
| `max_duration`                  | number    | No       | Maximum call duration (seconds)                         |
| `has_recording`                 | boolean   | No       | Filter by recording availability                        |
| `answered_by`                   | string    | No       | Filter by who answered: `human`, `machine_start`        |
| `is_completed`                  | boolean   | No       | Filter by completion status                             |
| `disposition_ids`               | number\[] | No       | Filter by disposition IDs                               |
| `exclude_negative_dispositions` | boolean   | No       | Only return positive dispositions                       |
| `user_ids`                      | string\[] | No       | Filter by user IDs                                      |
| `contact_list_ids`              | string\[] | No       | Filter by contact list IDs                              |
| `sequences`                     | string\[] | No       | Filter by sequence IDs                                  |
| `search`                        | string    | No       | Full-text search across contact name, company, phone    |

***

### get\_call\_log\_by\_id

Get a specific call log by its ID.

| Parameter | Type   | Required | Description |
| --------- | ------ | -------- | ----------- |
| `id`      | string | Yes      | Call log ID |

***

## Scored Calls

### get\_scored\_calls

List AI-scored calls with insights, scoring facets, and coaching recommendations.

| Parameter    | Type   | Required | Description                        |
| ------------ | ------ | -------- | ---------------------------------- |
| `page`       | number | No       | Page number (default 1)            |
| `limit`      | number | No       | Items per page (1–100, default 10) |
| `sort`       | string | No       | Sort field. Default: `-createdAt`  |
| `start_date` | string | No       | Filter start date (ISO 8601)       |
| `end_date`   | string | No       | Filter end date (ISO 8601)         |
| `min_score`  | number | No       | Minimum total score (0–100)        |
| `max_score`  | number | No       | Maximum total score (0–100)        |
| `user_id`    | string | No       | Filter by user ID                  |

***

### get\_scored\_call\_by\_id

Get a specific scored call with full AI-generated insight, facets, and recommendations.

| Parameter | Type   | Required | Description    |
| --------- | ------ | -------- | -------------- |
| `id`      | string | Yes      | Scored call ID |

***

## Dispositions

### get\_dispositions

Get all available call dispositions for the team. Takes no parameters.

***

### get\_disposition\_by\_id

Get a specific disposition by ID.

| Parameter | Type   | Required | Description    |
| --------- | ------ | -------- | -------------- |
| `id`      | string | Yes      | Disposition ID |

***

## Sequences

### get\_sequences

List all sequences with pagination.

| Parameter | Type   | Required | Description                          |
| --------- | ------ | -------- | ------------------------------------ |
| `page`    | number | No       | Page number (default 1)              |
| `limit`   | number | No       | Items per page (default 10, max 100) |

***

### get\_sequence\_by\_id

Get a specific sequence by ID.

| Parameter | Type   | Required | Description |
| --------- | ------ | -------- | ----------- |
| `id`      | string | Yes      | Sequence ID |

***

## Snoozed Contacts

### get\_snoozed\_contacts

List snoozed contacts with filtering.

| Parameter             | Type   | Required | Description                          |
| --------------------- | ------ | -------- | ------------------------------------ |
| `page`                | number | No       | Page number (default 1)              |
| `limit`               | number | No       | Items per page (default 10, max 100) |
| `sort`                | string | No       | Sort field                           |
| `linkedin_username`   | string | No       | Filter by LinkedIn username          |
| `external_contact_id` | string | No       | Filter by external CRM contact ID    |
| `email`               | string | No       | Filter by email                      |
| `phone_number`        | string | No       | Filter by phone number               |

***

### get\_snoozed\_contact\_by\_id

| Parameter | Type   | Required | Description        |
| --------- | ------ | -------- | ------------------ |
| `id`      | string | Yes      | Snoozed contact ID |

***

### get\_snoozed\_contact\_by\_linkedin

Look up a snoozed contact by LinkedIn username.

| Parameter  | Type   | Required | Description       |
| ---------- | ------ | -------- | ----------------- |
| `username` | string | Yes      | LinkedIn username |

***

### update\_snoozed\_contact

Update a snoozed contact's details or extend the snooze duration.

| Parameter             | Type   | Required | Description                      |
| --------------------- | ------ | -------- | -------------------------------- |
| `id`                  | string | Yes      | Snoozed contact ID               |
| `linkedin_username`   | string | No       | LinkedIn username                |
| `external_contact_id` | string | No       | External CRM contact ID          |
| `email`               | string | No       | Email address                    |
| `phone_number`        | string | No       | Phone number                     |
| `snooze_until`        | string | No       | New snooze expiration (ISO 8601) |

***

### delete\_snoozed\_contact

Remove a contact from the snooze list, allowing them to appear in call lists again.

| Parameter | Type   | Required | Description        |
| --------- | ------ | -------- | ------------------ |
| `id`      | string | Yes      | Snoozed contact ID |

***

## Follow-up Tasks

### get\_follow\_ups

List follow-up tasks with pagination.

| Parameter | Type   | Required | Description                          |
| --------- | ------ | -------- | ------------------------------------ |
| `page`    | number | No       | Page number (default 1)              |
| `limit`   | number | No       | Items per page (default 10, max 100) |
| `sort`    | string | No       | Sort field                           |

***

## Custom Fields

### get\_custom\_fields

Get all custom field definitions configured for the team. Use these when adding contacts with custom fields. Takes no parameters.

***

## Analytics

### get\_analytics\_overview

Get aggregated metrics with growth rates compared to the previous period.

| Parameter         | Type      | Required | Description               |
| ----------------- | --------- | -------- | ------------------------- |
| `start_date`      | string    | Yes      | Start date (ISO 8601)     |
| `end_date`        | string    | Yes      | End date (ISO 8601)       |
| `user_ids`        | string\[] | No       | Filter by user IDs        |
| `disposition_ids` | string\[] | No       | Filter by disposition IDs |

***

### get\_list\_performance

Performance metrics grouped by contact list.

| Parameter         | Type      | Required | Description                          |
| ----------------- | --------- | -------- | ------------------------------------ |
| `start_date`      | string    | Yes      | Start date (ISO 8601)                |
| `end_date`        | string    | Yes      | End date (ISO 8601)                  |
| `user_ids`        | string\[] | No       | Filter by user IDs                   |
| `disposition_ids` | string\[] | No       | Filter by disposition IDs            |
| `page`            | number    | No       | Page number (default 1)              |
| `limit`           | number    | No       | Items per page (default 10, max 100) |
| `search`          | string    | No       | Search by list name                  |

***

### get\_sdr\_performance

Performance metrics grouped by SDR.

| Parameter         | Type      | Required | Description                          |
| ----------------- | --------- | -------- | ------------------------------------ |
| `start_date`      | string    | Yes      | Start date (ISO 8601)                |
| `end_date`        | string    | Yes      | End date (ISO 8601)                  |
| `user_ids`        | string\[] | No       | Filter by user IDs                   |
| `disposition_ids` | string\[] | No       | Filter by disposition IDs            |
| `page`            | number    | No       | Page number (default 1)              |
| `limit`           | number    | No       | Items per page (default 10, max 100) |
| `search`          | string    | No       | Search by SDR name or email          |

***

## Webhooks

### create\_webhook

Create a webhook subscription.

| Parameter      | Type      | Required | Description                                    |
| -------------- | --------- | -------- | ---------------------------------------------- |
| `name`         | string    | Yes      | Descriptive name                               |
| `events`       | string\[] | Yes      | Event types: `CALL_LOGGED`, `CONTACT_SNOOZED`  |
| `url`          | string    | Yes      | URL to receive POST requests                   |
| `dispositions` | number\[] | No       | Filter `CALL_LOGGED` events by disposition IDs |

***

### get\_webhooks

List all configured webhooks. Takes no parameters.

***

### get\_webhook\_by\_id

| Parameter    | Type   | Required | Description |
| ------------ | ------ | -------- | ----------- |
| `webhook_id` | string | Yes      | Webhook ID  |

***

### update\_webhook

| Parameter      | Type      | Required | Description                                   |
| -------------- | --------- | -------- | --------------------------------------------- |
| `webhook_id`   | string    | Yes      | Webhook ID                                    |
| `name`         | string    | Yes      | Descriptive name                              |
| `events`       | string\[] | Yes      | Event types: `CALL_LOGGED`, `CONTACT_SNOOZED` |
| `url`          | string    | Yes      | Webhook URL                                   |
| `dispositions` | number\[] | No       | Filter `CALL_LOGGED` by disposition IDs       |

***

### delete\_webhook

| Parameter    | Type   | Required | Description |
| ------------ | ------ | -------- | ----------- |
| `webhook_id` | string | Yes      | Webhook ID  |

***

### get\_webhook\_events

List available webhook event types and their descriptions. Takes no parameters.

***

### get\_webhook\_logs

Get delivery logs for a specific webhook.

| Parameter    | Type   | Required | Description                          |
| ------------ | ------ | -------- | ------------------------------------ |
| `webhook_id` | string | Yes      | Webhook ID                           |
| `page`       | number | No       | Page number (default 1)              |
| `limit`      | number | No       | Items per page (default 10, max 100) |
| `sort`       | string | No       | Sort field                           |

***

## Contact object

Used when creating lists or adding contacts:

| Field           | Type   | Required | Description                                                                                                             |
| --------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------- |
| `first_name`    | string | Yes      | Contact's first name                                                                                                    |
| `last_name`     | string | No       | Last name                                                                                                               |
| `email`         | string | No       | Email address                                                                                                           |
| `phone_numbers` | array  | No       | Phone numbers (max 10). Each has `type` (`mobile`/`direct`/`office`), `number`, optional `country_code` and `extension` |
| `company`       | string | No       | Company name                                                                                                            |
| `title`         | string | No       | Job title                                                                                                               |
| `linkedin`      | string | No       | LinkedIn profile URL                                                                                                    |
| `website`       | string | No       | Website URL                                                                                                             |
| `notes`         | string | No       | Notes (max 2,000 characters)                                                                                            |
| `priority`      | number | No       | Priority                                                                                                                |
| `timezone`      | string | No       | Timezone                                                                                                                |
| `custom_fields` | array  | No       | Custom fields (max 10). Each has `type` (`string`/`number`/`boolean`), `label`, and optional `value`                    |
