# CalendarHero

CalendarHero is a versatile scheduling tool designed to streamline and simplify your calendar management. It integrates seamlessly with your existing calendars, allowing you to efficiently schedule, reschedule, and manage meetings with ease.

- **Category:** scheduling & booking
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 38
- **Triggers:** 0
- **Slug:** `CALENDARHERO`
- **Version:** 20260312_00

## Tools

### Add Calendar Connection

**Slug:** `CALENDARHERO_ADD_CALENDAR_CONNECTION`

Add a new calendar directory/connection to the user's CalendarHero account. A directory is a calendar connection configuration that groups meeting types together. Use this to organize different types of meetings (e.g., sales calls, team meetings) under separate calendar connections. Returns the unique ID of the created directory.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `directory` | object | Yes | Directory object containing calendar connection details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Contact

**Slug:** `CALENDARHERO_CREATE_CONTACT`

Creates a new contact in CalendarHero with the provided contact information. Returns the unique identifier of the created contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Contact's full name in 'First Last' format. |
| `email` | array | Yes | List of one or more email addresses for the contact. |
| `title` | string | No | Contact's job title. |
| `telephone` | array | No | List of phone numbers for the contact. |
| `defaultEmail` | string | No | Email address from the list to set as default. Must match one provided. |
| `organization` | string | No | Contact's organization or company. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Meeting Request V2

**Slug:** `CALENDARHERO_CREATE_MEETING_REQUEST_V2`

Tool to create a new meeting request in CalendarHero. Use when scheduling a meeting with participants, time range, and additional details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `room` | object | No | Meeting room configuration with capacity |
| `type` | string | Yes | The meeting type. Must be one of the user's defined meeting types returned from GET /user/meeting (e.g., 'coffee', 'call', 'meeting') |
| `dateEnd` | string | Yes | The requested timeframe's ending date/time (YYYY-MM-DDTHH:mm:ssZ). |
| `subject` | string | Yes | The meeting topic/subject |
| `capacity` | integer | No | The number of seats required for a meeting room. If zero, then no room will be booked. |
| `contacts` | array | No | List of contacts to invite by ID |
| `location` | string | No | The specific location for the meeting |
| `dateStart` | string | Yes | The requested timeframe's start date/time (YYYY-MM-DDTHH:mm:ssZ). |
| `locations` | array | No | List of preferred meeting locations |
| `description` | string | No | The agenda/description of the meeting |
| `roomCapacity` | integer | No | Alternate field for meeting room seats required. |
| `contactEmails` | array | No | List of contact emails to invite |
| `meetingLength` | integer | No | The number of minutes of the requested meeting. If omitted, the meeting type's meeting duration will be used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook

**Slug:** `CALENDARHERO_CREATE_WEBHOOK`

Creates or updates a webhook for a specific event type in CalendarHero. Use this to register a URL endpoint that will receive notifications when events occur (e.g., when a meeting request succeeds or a new contact is added).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | string ("meeting_request_success" | "new_meeting_request" | "meeting_request_expired" | "meeting_request_cancelled" | "meeting_rescheduled" | "new_contact_added" | "meeting_completed" | "meeting_started") | Yes | Type of event to create or update a webhook for. Determines when the webhook will be triggered. |
| `hookUrl` | string | Yes | URL endpoint that will receive webhook POST requests when the specified event occurs. Must be a valid HTTPS endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact

**Slug:** `CALENDARHERO_DELETE_CONTACT`

Tool to delete a contact from CalendarHero by its unique identifier. Use when you need to permanently remove a contact from the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the contact to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Meeting Task

**Slug:** `CALENDARHERO_DELETE_MEETING_TASK`

Tool to delete a meeting task/request from CalendarHero. Use when you need to remove a meeting task by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the meeting task/request to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Meeting Type

**Slug:** `CALENDARHERO_DELETE_MEETING_TYPE`

Tool to delete a meeting type from the authenticated user's CalendarHero account. Use when you need to remove a meeting type configuration. Note: Cannot delete meeting types that have active or upcoming meetings scheduled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | The meeting type identifier to delete (e.g., 'coffee', 'call', 'meeting'). Note: Cannot delete meeting types that have active or upcoming meetings scheduled. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Directory

**Slug:** `CALENDARHERO_DELETE_USER_DIRECTORY`

Tool to delete a user directory by its UUID. Use when you need to remove a directory from the user's account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uuid` | string | Yes | Unique identifier of the directory to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook

**Slug:** `CALENDARHERO_DELETE_WEBHOOK`

Tool to delete a webhook subscription for a specific event type. Use when you need to remove a webhook listener that was previously registered for CalendarHero events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | string ("meeting_request_success" | "new_meeting_request" | "meeting_request_expired" | "meeting_request_cancelled" | "meeting_rescheduled" | "new_contact_added" | "meeting_completed" | "meeting_started") | Yes | The event type to delete the webhook for. Must be one of the supported webhook event types. |
| `hookUrl` | string | No | Optional webhook URL to delete. If provided, only the webhook with this specific URL will be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Contact

**Slug:** `CALENDARHERO_FETCH_CONTACT`

Fetch Contact

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the contact to fetch |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Meeting Details

**Slug:** `CALENDARHERO_FETCH_MEETING_DETAILS`

Tool to fetch details for meetings within a specified timeframe. Use this after user provides start and end datetimes in ISO8601.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | The end datetime of the time range to fetch meetings, in ISO 8601 format, e.g., '2025-03-14T18:00:00Z' |
| `start` | string | Yes | The start datetime of the time range to fetch meetings, in ISO 8601 format, e.g., '2025-03-10T09:00:00Z' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch User Profile

**Slug:** `CALENDARHERO_FETCH_USER_PROFILE`

Tool to fetch the profile details of the authenticated user. Use after obtaining a valid access token.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Assistant Message

**Slug:** `CALENDARHERO_GET_ASSISTANT_MESSAGE`

Tool to retrieve a reply message from the CalendarHero assistant. Use when you need to get an automated response or greeting from the assistant for the user.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact Count

**Slug:** `CALENDARHERO_GET_CONTACT_COUNT`

Tool to get the total count of contacts in CalendarHero. Use when you need to know how many contacts exist.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Meeting Categories

**Slug:** `CALENDARHERO_GET_MEETING_CATEGORIES`

Retrieves the user's meeting categories' stats for a specified time period. Use to analyze meeting distribution across different categories or types within a given month.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `month` | string | No | Filter results by a specific month in YYYY-MM format (e.g., '2026-01' for January 2026). When omitted, returns stats for the current month. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Meeting Tasks

**Slug:** `CALENDARHERO_GET_MEETING_TASKS`

Retrieves the user's meeting requests/tasks from CalendarHero. Use when you need to check pending meeting requests, view scheduling tasks, or track meeting coordination progress. Supports filtering by state (active/upcoming/closed), pagination, and meeting type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of tasks to skip for pagination. Use with 'take' to paginate through results. |
| `take` | integer | No | Maximum number of tasks to return in the response. Use with 'skip' to paginate through results. |
| `type` | string | No | Filter tasks by meeting type (e.g., 'coffee', 'call', 'meeting'). Returns only tasks of the specified type. |
| `state` | string ("active" | "upcoming" | "closed") | No | State of a meeting task. |
| `tally` | boolean | No | When true, includes count/summary information for the tasks. When false or omitted, returns full task details without tallying. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Search Result

**Slug:** `CALENDARHERO_GET_SEARCH_RESULT`

Tool to get a search result by ID. Use when you have a search result ID from a previous /search request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the search result returned from /search endpoint |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Directory

**Slug:** `CALENDARHERO_GET_USER_DIRECTORY`

Tool to retrieve a user's directory by its unique identifier. Use when you need to fetch configuration details for a specific directory including meeting types and tracking settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uuid` | string | Yes | Unique identifier (UUID) of the directory to fetch |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Organization

**Slug:** `CALENDARHERO_GET_USER_ORGANIZATION`

Tool to retrieve the authenticated user's organization details. Use when needing organization-level information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `returnBillingUserInfo` | boolean | No | Whether to include billing user information in the response. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Savings

**Slug:** `CALENDARHERO_GET_USER_SAVINGS`

Tool to retrieve the authenticated user's savings information from CalendarHero. Use to view time saved, efficiency metrics, or other savings data tracked by the platform.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook Configuration

**Slug:** `CALENDARHERO_GET_WEBHOOK`

Tool to get webhook configuration for a specific event type. Use when you need to check if a webhook is configured for meeting or contact events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | string ("meeting_request_success" | "new_meeting_request" | "meeting_request_expired" | "meeting_request_cancelled" | "meeting_rescheduled" | "new_contact_added" | "meeting_completed" | "meeting_started") | Yes | The event type to get webhook configuration for. Supported events include meeting lifecycle events (request, completion, cancellation) and contact events. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook Sample

**Slug:** `CALENDARHERO_GET_WEBHOOK_SAMPLE`

Tool to retrieve a sample webhook payload for a specific event type. Use when testing webhook integrations or understanding the structure of webhook data for different CalendarHero events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | string ("meeting_request_success" | "new_meeting_request" | "meeting_request_expired" | "meeting_request_cancelled" | "meeting_rescheduled" | "new_contact_added" | "meeting_completed" | "meeting_started") | Yes | The webhook event type for which to retrieve a sample payload. Must be one of: meeting_request_success, new_meeting_request, meeting_request_expired, meeting_request_cancelled, meeting_rescheduled, new_contact_added, meeting_completed, or meeting_started. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Meeting Templates

**Slug:** `CALENDARHERO_LIST_MEETING_TEMPLATES`

Retrieves all meeting templates (reusable meeting configurations) for the authenticated user. Meeting templates contain pre-configured settings like duration, availability, video conferencing preferences, and custom options. Use this action to discover available templates before creating meetings or to understand a user's meeting type options. Returns an empty list if no templates have been created yet.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Meeting Types

**Slug:** `CALENDARHERO_LIST_MEETING_TYPES`

Retrieves all meeting types configured for the authenticated CalendarHero user. Meeting types are templates that define availability windows, durations, and booking URLs for different kinds of meetings (e.g., 'coffee', 'call', 'meeting'). Each meeting type has: - A unique identifier (e.g., 'coffee', 'call', 'meeting') - Availability windows (days and hours when meetings can be scheduled) - Booking URL for on-demand scheduling - Configuration for duration, timezone, notice period, etc. Use onlyTypes=true to get just the list of meeting type identifiers. Use onlyTypes=false (or omit) to get full configurations including all settings. This is a read-only operation that doesn't modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `onlyTypes` | boolean | No | When true, returns only meeting type identifiers as a simple list. When false or omitted, returns full meeting type configurations including availability, URLs, and settings. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List User Calendars

**Slug:** `CALENDARHERO_LIST_USER_CALENDARS`

Tool to list all calendar integrations connected to a user's CalendarHero account. Use after authenticating when you need to retrieve available calendars for scheduling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org` | boolean | No | When true, include organization-level calendar integrations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List User Directories

**Slug:** `CALENDARHERO_LIST_USER_DIRECTORIES`

Tool to retrieve all directories configured for a user. Use when you need to list available directories for scheduling or configuration purposes.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Contact

**Slug:** `CALENDARHERO_SEARCH_CONTACT`

Tool to search for existing contacts. Use after confirming a need to find contacts by email or name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `all` | boolean | No | When true, do not remove duplicate contacts. |
| `filter` | string ("popular" | "recent" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z") | No | Filter by predefined set: 'popular', 'recent', or a single letter a-z. Cannot be used with `search`. |
| `search` | string | No | Search term: email (name@domain.com), domain (@domain.com), or full name ('First Last'). Cannot be used with `filter`. |
| `includeTeams` | boolean | No | When true, include matching team entities in the results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Integrations

**Slug:** `CALENDARHERO_SEARCH_INTEGRATIONS`

Tool to search across all user integrations for a query term. Use when you need to find events, meetings, or other data matching specific keywords across the user's connected calendar and productivity integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | The query term to search for across all user integrations. |
| `dateEnd` | string | No | The requested timeframe's ending date/time in ISO 8601 format (e.g., '2026-01-29T23:59:59Z' for UTC or with timezone offset). |
| `dateStart` | string | No | The requested timeframe's start date/time in ISO 8601 format (e.g., '2026-01-28T00:00:00Z' for UTC or with timezone offset). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Assistant Message

**Slug:** `CALENDARHERO_SEND_ASSISTANT_MESSAGE`

Tool to send a user's message into the CalendarHero assistant. Use this to interact with the assistant using natural language for scheduling meetings, managing calendar events, or other calendar-related tasks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | The message text to send to the CalendarHero assistant. This can be a natural language request for scheduling, rescheduling, or other calendar-related tasks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Reminder

**Slug:** `CALENDARHERO_SEND_REMINDER`

Sends an email reminder to all contacts/participants about a scheduled meeting request. Use this to notify attendees who need a reminder about an upcoming meeting. Requires the meeting task ID from a previously created meeting request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Meeting task ID to send a reminder for. Must be a valid 24-character hexadecimal ID obtained from creating a meeting request (e.g., via Create Meeting Request V2). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contact

**Slug:** `CALENDARHERO_UPDATE_CONTACT`

Updates an existing contact in CalendarHero with new information. Use this action when you need to modify contact details such as name, email addresses, job title, organization, or phone numbers. Requires the contact's unique ID which can be obtained from CREATE_CONTACT or FETCH_CONTACT actions. Note: The 'email' field replaces ALL existing emails, so include all emails you want to keep. Use 'defaultEmail' to set the primary email for communications. Example usage: Update contact 507f1f77bcf86cd799439011 to change their email to 'newemail@example.com' and update their title to 'Senior Engineer'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Contact's unique identifier (24-character hex string). Obtain from CREATE_CONTACT or FETCH_CONTACT actions. |
| `name` | string | No | Contact's full name in 'First Last' format (e.g., 'John Doe'). Updates the display name. |
| `email` | array | Yes | List of email addresses for the contact. Must include at least one email. This replaces all existing emails. |
| `title` | string | No | Contact's job title or role (e.g., 'Senior Engineer', 'Product Manager'). |
| `userId` | string | No | Associated CalendarHero user ID (24-character hex string). Links contact to a specific user. |
| `telephone` | array | No | List of phone numbers for the contact (e.g., ['+1-555-0100', '+44-20-7123-4567']). |
| `providerId` | array | No | List of external provider identifiers for calendar integrations (e.g., Google Calendar, Outlook). |
| `defaultEmail` | string | No | Primary email address to use for communications. Must be one of the emails in the 'email' list. |
| `organization` | string | No | Contact's company or organization name (e.g., 'Acme Corp', 'Tech Innovations Inc'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Meeting Types

**Slug:** `CALENDARHERO_UPDATE_MEETING_TYPES`

Tool to update meeting type configurations for the authenticated CalendarHero user. Use when you need to modify existing meeting types' availability, durations, or settings. IMPORTANT: The meeting type name must already exist in the user's profile. To get existing meeting types, first use LIST_MEETING_TYPES action. This action updates properties like availability windows, notice periods, on-demand URLs, and other meeting-specific settings. Example: Update the 'coffee' meeting type to change the notice period from 4 hours to 5 hours, or modify the availability windows to only allow Monday-Wednesday bookings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `meetingTypes` | array | Yes | Array of meeting types to update. Each entry must reference an existing meeting type by name and provide the updated configuration. Must contain at least one meeting type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Restricted Apps

**Slug:** `CALENDARHERO_UPDATE_RESTRICTED_APPS`

Tool to update the authenticated user's restricted apps settings. Use when you need to control which apps are restricted for the user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `restrictedApps` | array | No | List of app identifiers to restrict. Pass an empty list to clear all restrictions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User

**Slug:** `CALENDARHERO_UPDATE_USER`

Tool to update the authenticated user's profile information. Use when you need to modify user details such as name, email, timezone, or preferences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | User's full name (e.g., 'John Doe'). This is the display name for the user. |
| `plan` | string | No | User's subscription plan identifier. |
| `tags` | array | No | List of tags associated with the user for categorization. |
| `email` | string | No | User's email address (e.g., 'john.doe@example.com'). |
| `avatar` | string | No | URL to the user's avatar image. |
| `address` | string | No | User's physical address. |
| `country` | string | No | User's country code (e.g., 'US', 'GB', 'CA'). |
| `currency` | string | No | User's preferred currency code (e.g., 'USD', 'EUR', 'GBP'). |
| `language` | string | No | User's preferred language code (e.g., 'en', 'es', 'fr'). |
| `timezone` | string | No | User's timezone in IANA format (e.g., 'America/New_York', 'Europe/London'). |
| `telephones` | array | No | List of phone numbers for the user (e.g., ['+1-555-0100', '+44-20-7123-4567']). |
| `email_footer` | string | No | Custom email footer text to append to outgoing emails. |
| `hideAutomatedAssistant` | boolean | No | Whether to hide the automated assistant for this user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User Address

**Slug:** `CALENDARHERO_UPDATE_USER_ADDRESS`

Tool to update the authenticated user's address settings by providing latitude and longitude coordinates. Use when the user needs to update their location for meeting scheduling or time zone detection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lat` | string | Yes | Latitude coordinate of the user's address as a string (e.g., '37.7749' for San Francisco). |
| `lng` | string | Yes | Longitude coordinate of the user's address as a string (e.g., '-122.4194' for San Francisco). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User Directory

**Slug:** `CALENDARHERO_UPDATE_USER_DIRECTORY`

Tool to update a user's directory in CalendarHero. Use when modifying directory settings such as title, meeting types, or configuration options. The directory UUID can be obtained from the user profile or directory listing endpoints. Ensure the directoryId in the request body matches the UUID path parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uuid` | string | Yes | The UUID of the directory to update. This is a unique identifier in UUID format (e.g., 'f79d0bd4-5fd8-487e-a30e-ed4fe3ac5f57') |
| `directory` | object | Yes | The directory data to update. Must include directoryId, directoryName, and at least one meetingType. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User Info

**Slug:** `CALENDARHERO_UPDATE_USER_INFO`

Updates the authenticated user's info settings in CalendarHero. Use this action when you need to modify user profile details such as name, language, timezone, contact information, or display preferences. Only the fields provided in the request will be updated; all other fields remain unchanged. This allows for partial updates without affecting other user settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | User's full name (e.g., 'John Doe'). Updates the display name for the user. |
| `avatar` | string | No | URL to the user's avatar image. Must be a valid HTTPS URL. |
| `address` | string | No | User's physical address for location-based features. |
| `country` | string | No | User's country code (e.g., 'US', 'GB', 'CA'). Used for regional settings. |
| `logoUrl` | string | No | URL to the user's logo image for branding purposes. Must be a valid HTTPS URL. |
| `currency` | string | No | User's preferred currency code (e.g., 'USD', 'EUR', 'GBP'). Used for pricing display. |
| `language` | string | No | User's preferred language code (e.g., 'en', 'es', 'fr'). Sets the language for UI and communications. |
| `timezone` | string | No | User's timezone in IANA format (e.g., 'America/New_York', 'Europe/London'). Used for scheduling and time display. |
| `telephones` | array | No | List of phone numbers for the user (e.g., ['+1-555-0100', '+44-20-7123-4567']). |
| `email_footer` | string | No | Custom footer text to append to email communications sent from CalendarHero. |
| `hideNegativeWhoIs` | boolean | No | If true, hides negative WHOIS information from contact profiles. |
| `hideAutomatedAssistant` | boolean | No | If true, hides the automated assistant feature from the user interface. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Work Location

**Slug:** `CALENDARHERO_UPDATE_WORK_LOCATION`

Tool to update the user's work location settings in CalendarHero. Use when the user needs to change their work location (e.g., 'Office', 'Home', 'Remote').

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `work_location` | string | Yes | The work location setting to update (e.g., 'Office', 'Home', 'Remote'). This is a simple string value representing the user's work location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
