# Callpage

CallPage is a lead capture tool that enables businesses to connect with website visitors through immediate phone callbacks, enhancing lead generation and sales conversion rates.

- **Category:** phone & sms
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 26
- **Triggers:** 0
- **Slug:** `CALLPAGE`
- **Version:** 20260312_00

## Tools

### Add Users to Widget

**Slug:** `CALLPAGE_ADD_USERS_TO_WIDGET`

Tool to add users to a widget as managers. Use when you need to create or update manager assignments for a widget. If a user-widget pair already exists, the existing manager will be updated instead of creating a new one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Widget identifier to which users will be added as managers. |
| `user_id` | string | Yes | User identifier(s) to add as manager(s). Can be a single integer for one user or an array for multiple users. If the user-widget pair already exists, the manager will be updated. |
| `business_times` | array | No | Optional list of working hours for the manager(s). Array of day schedules defining availability. |

#### 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 SMS Message

**Slug:** `CALLPAGE_CREATE_SMS_MESSAGE`

Tool to create custom SMS messages for specific widget events. Use when you need to set up automated SMS notifications for call events like completed dials, scheduled calls, or missed calls.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Custom SMS text content. Maximum 240 characters. Supports variables: :company_name (company name), :name (recipient name), :tel (phone number), :url (callback URL). |
| `enabled` | boolean | No | Indicates whether the message should be enabled or not. Defaults to true. |
| `widget_id` | integer | Yes | Widget identifier. You can find it in the widgets tab. |
| `message_id` | string ("visitor.dial-completed" | "visitor.call-scheduled" | "visitor.cancel-scheduled" | "visitor.incoming-dial-completed") | Yes | Message identifier determining when the SMS will be sent. Options: visitor.dial-completed (after visitor completes call), visitor.call-scheduled (when visitor schedules a call), visitor.cancel-scheduled (when a scheduled call is cancelled), visitor.incoming-dial-completed (after visitor's incoming call is completed). |

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

**Slug:** `CALLPAGE_CREATE_USER`

Tool to create a new user with specified name, phone number, email and role. Use when you need to add a new admin or manager user to your CallPage account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tel` | string | Yes | A phone number in E.164 format e.g. +48123123123. Must be valid format (e.g., +48 followed by 9 digits for Polish numbers). |
| `name` | string | Yes | User name. |
| `role` | string ("admin" | "manager") | No | User role enum for CallPage users. |
| `email` | string | No | Valid email address. |
| `enabled` | boolean | Yes | Whether the user is enabled. Required by API despite not being documented in official docs. |

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

**Slug:** `CALLPAGE_DELETE_MANAGER`

Tool to delete a manager from a widget. Use when you need to remove a manager assignment after verifying both user_id and widget_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | User identifier. You can find it in the users tab. |
| `widget_id` | integer | Yes | Widget identifier. You can find it in the widgets tab. |

#### 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 by Id

**Slug:** `CALLPAGE_DELETE_USER`

Tool to delete a user by id. Use when you need to remove an existing user after verifying their ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | User identifier to delete. You can find it in the users list. |

#### 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 All Managers

**Slug:** `CALLPAGE_GET_ALL_MANAGERS`

Tool to retrieve a list of managers for a specific widget with pagination. Use when you need to page through all managers assigned to a widget after confirming its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of manager records to return. |
| `offset` | integer | No | Number of items to skip before starting to collect the result set. |
| `widget_id` | integer | Yes | Identifier of the widget to list managers for. |

#### 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 All SMS Messages

**Slug:** `CALLPAGE_GET_ALL_SMS_MESSAGES`

Tool to retrieve all SMS messages for a widget. Use when you need to fetch both default and custom SMS templates after confirming the widget exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `widget_id` | integer | Yes | Widget identifier. You can find it in the widgets tab. |

#### 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 All Users

**Slug:** `CALLPAGE_GET_ALL_USERS`

Tool to retrieve a list of all users with pagination. Use when you need to page through all users in your CallPage account to synchronize or audit user records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | If set, the result will be limited to this number of users. |
| `offset` | integer | No | If set, the result will be offset by this value for pagination. |

#### 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 All Voice Messages

**Slug:** `CALLPAGE_GET_ALL_VOICE_MESSAGES`

Tool to retrieve all voice messages for a widget. Returns custom voice messages if configured, otherwise returns default messages. Use when you need to view or audit voice message settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `widget_id` | integer | Yes | Widget identifier for which to retrieve voice messages. |

#### 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 All Widgets

**Slug:** `CALLPAGE_GET_ALL_WIDGETS`

Tool to retrieve a list of widgets with pagination. Use when you need to page through all widgets after API authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of widgets to return. Defaults to 100. |
| `offset` | integer | No | Number of items to skip before starting to collect the result set. Defaults to 0. |

#### 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 API Root

**Slug:** `CALLPAGE_GET_API_ROOT`

Tool to get the root API greeting. Use to verify connectivity and retrieve the initial API greeting after setting the API key.

#### 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 Calls History

**Slug:** `CALLPAGE_GET_CALLS_HISTORY`

Tool to retrieve calls history with filtering and pagination. By default returns all calls for all users' widgets. Use when you need to query historical call data with optional filters for date range, status, widgets, users, tags, or phone numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Filter by widget installation URL. |
| `limit` | integer | No | Maximum number of calls to return for pagination. |
| `offset` | integer | No | Number of calls to skip before starting to collect results for pagination. |
| `call_id` | array | No | Show calls by specific call IDs. Can provide multiple IDs. |
| `date_to` | integer | No | Filter calls until this end date as Unix timestamp (seconds since epoch). |
| `tag_ids` | array | No | Show calls for specified tag IDs. Can provide multiple tag IDs. |
| `statuses` | array | No | Filter by call status. Common values: 'completed', 'in-progress', 'scheduled', 'cancelled'. |
| `user_ids` | array | No | Show calls for specified user IDs. Can provide multiple user IDs. |
| `date_from` | integer | No | Filter calls from this start date as Unix timestamp (seconds since epoch). |
| `widget_ids` | array | No | Show calls for specified widget IDs. Can provide multiple widget IDs. |
| `phone_number` | string | No | Filter by phone number in E.164 format (e.g., +48123123123). |
| `display_hidden` | integer | No | Determine if should display hidden calls. Set to 1 to show hidden calls. |
| `incoming_number_ids` | array | No | Show calls for specified incoming number IDs. Can provide multiple IDs. |

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

**Slug:** `CALLPAGE_GET_MANAGER`

Tool to retrieve a specific manager by user_id and widget_id. Use when you need detailed information about a manager's configuration, availability, and assigned departments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | User identifier of the manager. |
| `widget_id` | integer | Yes | Widget identifier where the manager is assigned. |

#### 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 Manager Status Statistics

**Slug:** `CALLPAGE_GET_MANAGER_STATUS_STATISTICS`

Tool to retrieve statistical data about manager statuses. Use when you need summary counts of enabled and disabled managers for a specific widget.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of managers to retrieve per request (optional). |
| `offset` | integer | No | Pagination offset for listing managers (optional). |
| `widget_id` | integer | Yes | Widget identifier for which to retrieve manager status statistics. |

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

**Slug:** `CALLPAGE_GET_WIDGET`

Tool to retrieve details of a specific widget by id. Use when you have a widget id and need its complete configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Widget identifier. You can find it in the widgets tab. |

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

**Slug:** `CALLPAGE_POST_CREATE_MANAGER`

Tool to create a new manager for a widget. Use when you need to assign a user as a manager to handle calls for a specific widget.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | Yes | True to enable calling this manager; false to disable. |
| `user_id` | integer | Yes | Identifier of the user to assign as manager. You can find it in the dashboard users list. |
| `widget_id` | integer | Yes | Identifier of the widget to which the manager will be assigned. |
| `business_times` | array | No | Optional list of working-hour rules defining when the manager is available. If omitted, defaults to Monday–Friday, 09:00–17:00. |

#### 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 Voice Message

**Slug:** `CALLPAGE_POST_CREATE_VOICE_MESSAGE`

Tool to create a custom voice message for a widget. Use when you need to customize greeting messages for manager or visitor after setting widget locale.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | string | No | URL of the audio file for the custom message (.mp3, .mpga, .wav; max 10 MB). |
| `enabled` | boolean | Yes | Whether the custom voice message should be enabled. |
| `widget_id` | integer | Yes | Identifier of the widget for which to create the voice message. |
| `message_id` | string ("manager.call" | "visitor.call") | Yes | Voice message identifier, either 'manager.call' or 'visitor.call'. |

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

**Slug:** `CALLPAGE_POST_CREATE_WIDGET`

Tool to create a new widget. Use when you need to install a widget on your site and retrieve its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Website URL where the widget will be installed (e.g., https://callpage.io). |
| `description` | string | No | Optional description for the widget. If omitted, defaults to 'Created from REST API. Timestamp: {timestamp}'. |
| `locale_code` | string ("cn" | "cz" | "de" | "ee" | "en" | "es" | "fr" | "hu" | "it" | "lt" | "pl" | "pt" | "ru" | "se" | "tr") | No | Locale code for the widget language. See widget languages in docs. |

#### 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 Widget by Id

**Slug:** `CALLPAGE_POST_DELETE_WIDGET`

Tool to delete a widget by id. Use when you need to remove an existing widget after verifying its ID. Example: Delete widget with id 3409.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Widget identifier. You can find it in the widgets tab. |

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

### Reset SMS

**Slug:** `CALLPAGE_POST_RESET_SMS`

Tool to reset SMS messages to default for a widget. Use when you need to restore default SMS templates after customization tests.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `widget_id` | integer | Yes | Widget identifier. You can find it in the widgets tab. |
| `message_id` | string | No | Optional SMS message identifier to reset. Allowed values include: visitor.call-scheduled, visitor.cancel-scheduled, visitor.dial-completed, visitor.incoming-dial-completed. If omitted, all SMS messages for the widget will be reset to defaults. |

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

### Reset Voice Messages

**Slug:** `CALLPAGE_POST_RESET_VOICE_MESSAGE`

Tool to reset voice messages to default for a widget. Use when you need to clear custom messages and revert to system defaults. Example: Reset all voice messages for widget with id 123.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `widget_id` | integer | Yes | Identifier of the widget. |
| `message_id` | string | No | Identifier of a specific voice message to reset. If omitted, all voice messages will be reset. |

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

**Slug:** `CALLPAGE_POST_UPDATE_MANAGER`

Tool to update an existing manager. Use when you need to modify a manager's availability or business hours after retrieving their record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | Yes | True to enable calling this manager; false to disable. |
| `user_id` | integer | Yes | Identifier of the manager (user). You can find it in the dashboard managers list. |
| `widget_id` | integer | Yes | Identifier of the widget to which the manager is assigned. |
| `business_times` | array | No | Optional list of working-hour rules. If omitted, defaults to Monday–Friday, 09:00–17:00. |

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

**Slug:** `CALLPAGE_POST_UPDATE_SMS`

Tool to update a custom SMS message for a widget. Use when you need to modify custom SMS templates. Note: it's impossible to update default SMS - if you haven't created custom SMS yet, use the create endpoint first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | SMS text content. Maximum 240 characters. You can use placeholders like :company_name and :tel. |
| `enabled` | boolean | No | Indicates whether the message should be enabled or not. Defaults to true. |
| `widget_id` | integer | Yes | Widget identifier. You can find it in the widgets tab. |
| `message_id` | string | Yes | Message identifier. Allowed values include: visitor.call-scheduled, visitor.cancel-scheduled, visitor.dial-completed, visitor.incoming-dial-completed. |

#### 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:** `CALLPAGE_POST_UPDATE_USER`

Tool to update an existing user by ID. Use when you need to modify a user's details, phone number, role, or enabled status. This operation can override parent user depending on who makes the request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | User identifier. You can find it in the dashboard users list. |
| `tel` | string | Yes | A phone number in E.164 format (e.g., +48123456789). |
| `name` | string | Yes | User name to update. |
| `role` | string ("admin" | "manager") | No | User role for CallPage users. |
| `email` | string | No | Valid email address for the user. |
| `enabled` | boolean | Yes | Whether the user is enabled (true) or disabled (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 |

### Update Widget

**Slug:** `CALLPAGE_POST_UPDATE_WIDGET`

Tool to update an existing widget. Use when you need to change widget URL, description, settings, language, or enabled state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Widget identifier. You can find it in the dashboard widgets list. |
| `url` | string | Yes | Website URL where the widget will be installed (e.g., https://callpage.io). |
| `enabled` | boolean | No | Indicates whether the widget is enabled (true) or disabled (false). |
| `settings` | array | No | Optional list of widget settings objects as defined in the documentation. |
| `description` | string | No | Optional description for the widget. If omitted, existing description remains unchanged. |
| `locale_code` | string ("cn" | "cz" | "de" | "ee" | "en" | "es" | "fr" | "hu" | "it" | "lt" | "pl" | "pt" | "ru" | "se" | "tr") | No | Locale code for the widget language (e.g., 'en'). |

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

### Widget Call or Schedule

**Slug:** `CALLPAGE_POST_WIDGET_CALL_OR_SCHEDULE`

Tool to initiate or schedule a call via widget. Use when you need to call immediately or schedule at the first available timeslot through a widget.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Widget identifier. You can find it in the widgets tab. |
| `tel` | string | Yes | Phone number in E.164 format (e.g. +48123123123). |
| `department_id` | integer | No | Department identifier. If omitted, the call is routed to all available managers. |

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