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

# Contact Tools

> Manage contacts, emails, addresses, and phone numbers

The Bizzy MCP server provides 21 tools for managing contacts and their
associated data. These tools are organized into four categories: contact
management, emails, addresses, and phone numbers.

## Contact Management

Core tools for creating, reading, updating, and deleting contacts.

### createContact

Create a new contact with name, email, phone, and company information.

**Permission:** `contacts:write`

**Parameters:**

| Name           | Type      | Required | Description                          |
| -------------- | --------- | -------- | ------------------------------------ |
| `firstName`    | string    | No       | The contact's first name             |
| `lastName`     | string    | No       | The contact's last name              |
| `name`         | string    | No       | Full display name                    |
| `company`      | string    | No       | Company or organization affiliation  |
| `jobTitle`     | string    | No       | Job title or role                    |
| `title`        | string    | No       | Honorific or prefix (e.g., Mr, Dr)   |
| `picture`      | string    | No       | URL to the contact's profile picture |
| `notes`        | string    | No       | Internal notes and comments          |
| `emails`       | string\[] | No       | Array of email addresses             |
| `phoneNumbers` | string\[] | No       | Array of phone numbers               |
| `addresses`    | object\[] | No       | Array of address objects             |

**Address object:**

| Name         | Type   | Required | Description           |
| ------------ | ------ | -------- | --------------------- |
| `country`    | string | Yes      | Country               |
| `city`       | string | Yes      | City                  |
| `label`      | string | No       | Label for the address |
| `address1`   | string | No       | Address line 1        |
| `address2`   | string | No       | Address line 2        |
| `state`      | string | No       | State                 |
| `postalCode` | string | No       | Postal code           |

**Returns:** The created contact object with all associated data.

***

### getContact

Get details of a specific contact by ID.

**Permission:** `contacts:read`

**Parameters:**

| Name        | Type          | Required | Description                       |
| ----------- | ------------- | -------- | --------------------------------- |
| `contactId` | string (UUID) | Yes      | The ID of the contact to retrieve |

**Returns:** Contact object with all associated addresses, emails, and phone
numbers.

***

### listContacts

List contacts in the organization with pagination.

**Permission:** `contacts:read`

**Parameters:**

| Name     | Type   | Required | Default | Description                               |
| -------- | ------ | -------- | ------- | ----------------------------------------- |
| `limit`  | number | No       | 50      | Number of contacts to return (1-100)      |
| `offset` | number | No       | 0       | Number of contacts to skip for pagination |

**Returns:**

```json theme={null}
{
  "contacts": [...],
  "count": 150,
  "limit": 50,
  "offset": 0
}
```

***

### updateContact

Update an existing contact.

**Permission:** `contacts:write`

**Parameters:**

| Name        | Type          | Required | Description                     |
| ----------- | ------------- | -------- | ------------------------------- |
| `contactId` | string (UUID) | Yes      | The ID of the contact to update |
| `firstName` | string        | No       | Update the contact's first name |
| `lastName`  | string        | No       | Update the contact's last name  |
| `name`      | string        | No       | Update the full display name    |
| `company`   | string        | No       | Update the company              |
| `jobTitle`  | string        | No       | Update the job title            |
| `title`     | string        | No       | Update the honorific            |
| `picture`   | string        | No       | Update the profile picture URL  |
| `notes`     | string        | No       | Update internal notes           |

**Returns:** The updated contact object.

***

### deleteContact

Delete a contact (soft delete).

**Permission:** `contacts:delete`

**Parameters:**

| Name        | Type          | Required | Description                     |
| ----------- | ------------- | -------- | ------------------------------- |
| `contactId` | string (UUID) | Yes      | The ID of the contact to delete |

**Returns:** The deleted contact object.

***

## Contact Emails

Tools for managing email addresses associated with contacts.

### createContactEmail

Create a new email address for a contact.

**Permission:** `contacts.emails:write`

**Parameters:**

| Name        | Type          | Required | Description                      |
| ----------- | ------------- | -------- | -------------------------------- |
| `contactId` | string (UUID) | Yes      | The ID of the contact            |
| `email`     | string        | Yes      | The email address                |
| `label`     | string        | No       | Label (e.g., "work", "personal") |

**Returns:** The created contact email object.

***

### getContactEmail

Get details of a specific contact email.

**Permission:** `contacts.emails:read`

**Parameters:**

| Name      | Type          | Required | Description                     |
| --------- | ------------- | -------- | ------------------------------- |
| `emailId` | string (UUID) | Yes      | The ID of the email to retrieve |

**Returns:** Contact email object with all details.

***

### listContactEmails

List all email addresses for a specific contact.

**Permission:** `contacts.emails:read`

**Parameters:**

| Name        | Type          | Required | Description           |
| ----------- | ------------- | -------- | --------------------- |
| `contactId` | string (UUID) | Yes      | The ID of the contact |

**Returns:**

```json theme={null}
{
  "emails": [...],
  "count": 3
}
```

***

### updateContactEmail

Update an existing contact email address.

**Permission:** `contacts.emails:write`

**Parameters:**

| Name      | Type          | Required | Description                   |
| --------- | ------------- | -------- | ----------------------------- |
| `emailId` | string (UUID) | Yes      | The ID of the email to update |
| `email`   | string        | No       | Update the email address      |
| `label`   | string        | No       | Update the label              |

**Returns:** The updated contact email object.

***

### deleteContactEmail

Delete a contact email address.

**Permission:** `contacts.emails:delete`

**Parameters:**

| Name      | Type          | Required | Description                   |
| --------- | ------------- | -------- | ----------------------------- |
| `emailId` | string (UUID) | Yes      | The ID of the email to delete |

**Returns:** The deleted contact email object.

***

## Contact Addresses

Tools for managing physical addresses associated with contacts.

### createContactAddress

Create a new address for a contact.

**Permission:** `contacts.addresses:write`

**Parameters:**

| Name         | Type          | Required | Description           |
| ------------ | ------------- | -------- | --------------------- |
| `contactId`  | string (UUID) | Yes      | The ID of the contact |
| `country`    | string        | Yes      | Country               |
| `city`       | string        | Yes      | City                  |
| `label`      | string        | Yes      | Label for the address |
| `address1`   | string        | No       | Address line 1        |
| `address2`   | string        | No       | Address line 2        |
| `state`      | string        | No       | State                 |
| `postalCode` | string        | No       | Postal code           |

**Returns:** The created contact address object.

***

### getContactAddress

Get details of a specific contact address.

**Permission:** `contacts.addresses:read`

**Parameters:**

| Name        | Type          | Required | Description                       |
| ----------- | ------------- | -------- | --------------------------------- |
| `addressId` | string (UUID) | Yes      | The ID of the address to retrieve |

**Returns:** Contact address object with all details.

***

### listContactAddresses

List all addresses for a specific contact.

**Permission:** `contacts.addresses:read`

**Parameters:**

| Name        | Type          | Required | Default | Description                  |
| ----------- | ------------- | -------- | ------- | ---------------------------- |
| `contactId` | string (UUID) | Yes      | -       | The ID of the contact        |
| `limit`     | number        | No       | 10      | Maximum number of results    |
| `offset`    | number        | No       | 0       | Offset for pagination        |
| `sortOrder` | string        | No       | "asc"   | Sort order ("asc" or "desc") |

**Returns:** Array of contact address objects.

***

### updateContactAddress

Update an existing contact address.

**Permission:** `contacts.addresses:write`

**Parameters:**

| Name         | Type          | Required | Description                     |
| ------------ | ------------- | -------- | ------------------------------- |
| `addressId`  | string (UUID) | Yes      | The ID of the address to update |
| `country`    | string        | No       | Update the country              |
| `city`       | string        | No       | Update the city                 |
| `label`      | string        | No       | Update the label                |
| `address1`   | string        | No       | Update address line 1           |
| `address2`   | string        | No       | Update address line 2           |
| `state`      | string        | No       | Update the state                |
| `postalCode` | string        | No       | Update the postal code          |

**Returns:** The updated contact address object.

***

### deleteContactAddress

Delete a contact address.

**Permission:** `contacts.addresses:delete`

**Parameters:**

| Name        | Type          | Required | Description                     |
| ----------- | ------------- | -------- | ------------------------------- |
| `addressId` | string (UUID) | Yes      | The ID of the address to delete |

**Returns:** The deleted contact address object.

***

## Contact Phone Numbers

Tools for managing phone numbers associated with contacts.

### createContactPhoneNumber

Create a new phone number for a contact.

**Permission:** `contacts.phoneNumbers:write`

**Parameters:**

| Name             | Type          | Required | Description                    |
| ---------------- | ------------- | -------- | ------------------------------ |
| `contactId`      | string (UUID) | Yes      | The ID of the contact          |
| `phoneNumber`    | string        | Yes      | The phone number               |
| `countryCode`    | string        | Yes      | Country code                   |
| `nationalNumber` | string        | Yes      | National number                |
| `label`          | string        | Yes      | Label (e.g., "mobile", "work") |

**Returns:** The created contact phone number object.

***

### getContactPhoneNumber

Get details of a specific contact phone number.

**Permission:** `contacts.phoneNumbers:read`

**Parameters:**

| Name            | Type          | Required | Description                            |
| --------------- | ------------- | -------- | -------------------------------------- |
| `phoneNumberId` | string (UUID) | Yes      | The ID of the phone number to retrieve |

**Returns:** Contact phone number object with all details.

***

### listContactPhoneNumbers

List all phone numbers for a specific contact.

**Permission:** `contacts.phoneNumbers:read`

**Parameters:**

| Name        | Type          | Required | Default | Description                  |
| ----------- | ------------- | -------- | ------- | ---------------------------- |
| `contactId` | string (UUID) | Yes      | -       | The ID of the contact        |
| `limit`     | number        | No       | 10      | Maximum number of results    |
| `offset`    | number        | No       | 0       | Offset for pagination        |
| `sortOrder` | string        | No       | "asc"   | Sort order ("asc" or "desc") |

**Returns:** Array of contact phone number objects.

***

### updateContactPhoneNumber

Update an existing contact phone number.

**Permission:** `contacts.phoneNumbers:write`

**Parameters:**

| Name             | Type          | Required | Description                          |
| ---------------- | ------------- | -------- | ------------------------------------ |
| `phoneNumberId`  | string (UUID) | Yes      | The ID of the phone number to update |
| `phoneNumber`    | string        | No       | Update the phone number              |
| `countryCode`    | string        | No       | Update the country code              |
| `nationalNumber` | string        | No       | Update the national number           |
| `label`          | string        | No       | Update the label                     |

**Returns:** The updated contact phone number object.

***

### deleteContactPhoneNumber

Delete a contact phone number.

**Permission:** `contacts.phoneNumbers:delete`

**Parameters:**

| Name            | Type          | Required | Description                          |
| --------------- | ------------- | -------- | ------------------------------------ |
| `phoneNumberId` | string (UUID) | Yes      | The ID of the phone number to delete |

**Returns:** The deleted contact phone number object.

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Message Tools" icon="envelope" href="/mcp-server/tools/messages">
    Manage messages and threads
  </Card>

  <Card title="Authentication" icon="key" href="/mcp-server/authentication">
    Learn how MCP clients authenticate to the server
  </Card>
</CardGroup>
