# Klipfolio

Klipfolio is a cloud-based business intelligence platform that enables users to create and share real-time dashboards and reports.

- **Category:** business intelligence
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 50
- **Triggers:** 0
- **Slug:** `KLIPFOLIO`
- **Version:** 20260312_00

## Tools

### Assign User Role

**Slug:** `KLIPFOLIO_ASSIGN_USER_ROLE`

Tool to assign a role to a user in Klipfolio. Use when you need to grant role-based permissions to a specific user. Requires both user ID and role ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the user to assign the role to. |
| `role_id` | string | Yes | The unique identifier of the role to assign to 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 |

### Create Data Source

**Slug:** `KLIPFOLIO_CREATE_DATA_SOURCE`

This tool creates a new data source in Klipfolio. It uses the POST /datasources endpoint to add a data source with required parameters (name, format, connector, endpointUrl) and optional parameters (description, refreshInterval, method, additionalProperties).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the data source |
| `format` | string | Yes | The format of the data source (e.g., csv, json, xml) |
| `method` | string | No | The HTTP method to use for the data source |
| `connector` | string | Yes | The connector type (e.g., simple_rest, google_analytics, etc.) |
| `description` | string | Yes | A description of the data source |
| `endpoint_url` | string | Yes | The URL endpoint for the data source |
| `refresh_interval` | integer | No | The refresh interval in seconds |
| `additional_properties` | object | No | Additional properties specific to the connector 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 |

### Create Data Source Instance

**Slug:** `KLIPFOLIO_CREATE_DATA_SOURCE_INSTANCE`

Tool to create a new data source instance based on an existing data source in Klipfolio. Use when you need to instantiate a data source with specific properties or configuration. Requires datasource.create permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `no_refresh` | boolean | No | If true, creates a data source instance that doesn't refresh automatically. Useful when pushing data directly to the instance |
| `properties` | object | No | Data source instance properties as key-value pairs. These properties are specific to the data source type and can include configuration settings |
| `datasource_id` | string | Yes | The unique identifier of the data source to create an instance from |

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

**Slug:** `KLIPFOLIO_CREATE_GROUP`

Tool to create a new group in Klipfolio. Use when you need to organize users into groups for managing permissions and access control.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the new group. |
| `client_id` | string | No | Optional client ID to associate the group with a specific client. |
| `description` | string | No | A brief description of the group. |
| `external_id` | string | No | Optional external identifier for the group. |

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

**Slug:** `KLIPFOLIO_CREATE_ROLE`

Tool to create a new role in Klipfolio with optional permissions. Use when you need to define a new role with specific access rights. Requires 'user.manage' permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the role to create. |
| `description` | string | No | A description of the role and its purpose. |
| `permissions` | array | No | List of permission strings to assign to the role (e.g., 'klip.build', 'klip.edit', 'user.view'). |

#### 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 Tab (Dashboard)

**Slug:** `KLIPFOLIO_CREATE_TAB`

This tool creates a new tab (dashboard) in Klipfolio. A tab serves as a container for organizing and displaying Klips (data visualizations) in a meaningful way. The tool allows users to set up a new dashboard with specific properties and configurations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the new dashboard/tab. |
| `client_id` | string | No | Optional client ID to associate the dashboard with a specific client. |
| `description` | string | Yes | A brief description of the dashboard/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 User

**Slug:** `KLIPFOLIO_CREATE_USER`

Tool to create a new user in Klipfolio with optional roles and client association. Use when you need to add a new user account. Requires 'user.manage' permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address of the user. Must be unique. |
| `roles` | array | No | List of role IDs to assign to the user. |
| `password` | string | No | Optional password for the user. If not provided, a temporary password will be generated. |
| `client_id` | string | No | The client ID to associate the user with a specific client. |
| `last_name` | string | Yes | The last name of the user to create. |
| `first_name` | string | Yes | The first name of the user to create. |
| `send_email` | boolean | No | Whether to send a welcome email to the user. Defaults to false if not specified. |
| `external_id` | string | No | An external identifier for the user (for integration 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 |

### Delete Data Source

**Slug:** `KLIPFOLIO_DELETE_DATA_SOURCE`

This tool permanently removes a specified data source from the Klipfolio account. This operation is destructive and cannot be undone. The data source must not be currently in use, and proper permissions are required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `datasource_id` | string | Yes | The unique identifier of the data source to 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 |

### Delete Data Source Instance Property

**Slug:** `KLIPFOLIO_DELETE_DATA_SOURCE_INSTANCE_PROPERTY`

Tool to delete a property from a data source instance in Klipfolio. Use when you need to remove custom properties or metadata from a specific data source instance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source instance |
| `name` | string | Yes | The name of the property to delete from the data source instance |

#### 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 Data Source Property

**Slug:** `KLIPFOLIO_DELETE_DATA_SOURCE_PROPERTY`

Tool to delete a property from a data source in Klipfolio. Use when you need to remove custom properties or metadata from a specific data source.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source |
| `name` | string | Yes | The name of the property to delete from the data source |

#### 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 Data Source Share Right

**Slug:** `KLIPFOLIO_DELETE_DATA_SOURCE_SHARE_RIGHT`

Tool to delete a data source share right for a specific user or group. Use when you need to revoke access permissions from a data source.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source. |
| `type` | string ("user" | "group") | No | Type of entity for the share right. |
| `entity_id` | string | Yes | The unique identifier of the user or group to remove share rights from. |

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

**Slug:** `KLIPFOLIO_DELETE_GROUP`

Tool to permanently delete a specified group from the Klipfolio account. Use when you need to remove a user group. This operation is destructive and cannot be undone. Proper permissions are required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the group to 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 |

### Delete Role

**Slug:** `KLIPFOLIO_DELETE_ROLE`

Tool to delete a role from Klipfolio. Use when you need to permanently remove a role from the account. This operation is destructive and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the role to 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 |

### Disable Data Source

**Slug:** `KLIPFOLIO_DISABLE_DATA_SOURCE`

Tool to disable a data source in Klipfolio. Use when you need to temporarily stop a data source from refreshing without deleting it. The data source can be re-enabled later if needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `datasource_id` | string | Yes | The unique identifier of the data source to disable. |

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

### Enable Data Source

**Slug:** `KLIPFOLIO_ENABLE_DATA_SOURCE`

Tool to enable a disabled data source in Klipfolio. Use when you need to reactivate a data source that was previously disabled. Note: The data source must be in disabled state before it can be enabled, otherwise a 403 error will be returned.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source to enable. Note: the data source must be in disabled state before it can be enabled. |

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

**Slug:** `KLIPFOLIO_GET_DASHBOARD`

This tool retrieves detailed information about a specific dashboard (formerly known as tab) in Klipfolio. It allows users to obtain comprehensive information including properties, settings, and metadata of the dashboard.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dashboard_id` | string | Yes | The unique identifier of the dashboard to retrieve. |
| `include_associations` | boolean | No | Include associations in the listing (klip_instances, share_rights). |

#### 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 Data Source Details

**Slug:** `KLIPFOLIO_GET_DATA_SOURCE`

Tool to retrieve detailed information about a specific data source in Klipfolio. Use when you need to get configuration details, refresh settings, or metadata for a data source.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `datasource_id` | string | Yes | The unique identifier of the data source to retrieve details 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 Data Source Instance Details

**Slug:** `KLIPFOLIO_GET_DATA_SOURCE_INSTANCE2`

Tool to retrieve detailed information about a specific data source instance in Klipfolio. Use when you need to fetch metadata and status for a data source instance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source instance to retrieve details 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 Data Source Instance Data

**Slug:** `KLIPFOLIO_GET_DATA_SOURCE_INSTANCE_DATA`

Tool to retrieve the actual data from a specific data source instance in Klipfolio. Use when you need to access the raw data stored in a data source instance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source instance to retrieve data from. |

#### 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 Data Source Instance Properties

**Slug:** `KLIPFOLIO_GET_DATA_SOURCE_INSTANCE_PROPERTIES`

Tool to retrieve configuration properties for a specific data source instance in Klipfolio. Use when you need to inspect how the API connects to a data source instance (endpoint URL, method, headers, etc.).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source instance to retrieve properties 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 Data Source Properties

**Slug:** `KLIPFOLIO_GET_DATA_SOURCE_PROPERTIES`

Tool to retrieve properties for a specific data source in Klipfolio by its ID. Use when you need to get configuration details of a data source such as endpoint URLs, authentication tokens, or custom properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source to retrieve properties 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 Data Source Share Rights

**Slug:** `KLIPFOLIO_GET_DATA_SOURCE_SHARE_RIGHTS`

Tool to retrieve sharing permissions for a specific data source in Klipfolio. Returns both group-level and user-level access rights, including edit permissions for each.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source to retrieve share rights 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 Group Details

**Slug:** `KLIPFOLIO_GET_GROUP`

Tool to retrieve detailed information about a specific group in Klipfolio. Use when you need to get group properties such as name, description, member count, and optionally the list of members.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the group to retrieve. |
| `full` | boolean | No | Include associations in the listing (members). When true, the members array will be populated. |

#### 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 Group Default Tabs

**Slug:** `KLIPFOLIO_GET_GROUP_DEFAULT_TABS`

Tool to retrieve the list of default tabs (dashboards) for a specific group. Use when you need to see which dashboards are set as defaults for a user group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the group to retrieve default tabs 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 Group Users

**Slug:** `KLIPFOLIO_GET_GROUP_USERS`

Tool to retrieve all users belonging to a specific group in Klipfolio. Use when you need to list members of a group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the group to retrieve users from. |

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

**Slug:** `KLIPFOLIO_GET_KLIPS`

This tool retrieves a list of all Klips accessible to the authenticated user. Klips are visualization components in Klipfolio that display data in various formats like charts, tables, or metrics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return |
| `offset` | integer | No | Number of records to skip before starting to return data |

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

**Slug:** `KLIPFOLIO_GET_PROFILE`

This tool is used to retrieve the authenticated user's profile information and test the authentication status. It verifies API connectivity and access permissions by returning profile details such as User ID, Username, Email, Company information, Role and permissions, and Account status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `include_roles` | boolean | No | Include the user's roles in the response |
| `include_groups` | boolean | No | Include the user's groups in the response |

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

**Slug:** `KLIPFOLIO_GET_ROLE`

Tool to retrieve detailed information about a specific role in Klipfolio. Use when you need to check role permissions, view role assignments, or understand role configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the role to retrieve |
| `full` | boolean | No | Include additional details such as users, num_users, and permissions in the response |

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

**Slug:** `KLIPFOLIO_GET_ROLE_PERMISSIONS`

Tool to retrieve the list of permissions assigned to a specific role in Klipfolio. Use when you need to view what permissions a role has, such as account.api, admin.client, client.access, dashboard permissions, datasource permissions, klip permissions, tab permissions, or user.manage.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the role to retrieve permissions 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 Role Users

**Slug:** `KLIPFOLIO_GET_ROLE_USERS`

Tool to retrieve all users associated with a specific role in Klipfolio. Use when you need to see which users are assigned to a role. Requires user.manage permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the role to retrieve users for (32-character hexadecimal). |

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

**Slug:** `KLIPFOLIO_GET_USER`

Tool to retrieve detailed information about a specific user in Klipfolio. Use when you need to get user properties such as name, email, login history, group memberships, and role assignments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the user to retrieve. |
| `full` | boolean | No | Include additional associations in the response (tab_instances, groups, roles, properties). When true, the response will include expanded user 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 |

### Get User Groups

**Slug:** `KLIPFOLIO_GET_USER_GROUPS`

Tool to retrieve all groups that a specific user belongs to in Klipfolio. Use when you need to check group membership for a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the user to retrieve groups 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 User Properties

**Slug:** `KLIPFOLIO_GET_USER_PROPERTIES`

Tool to retrieve custom properties associated with a specific user in Klipfolio. Use when you need to access user-defined key-value pairs stored as user properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the user whose properties to retrieve |

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

**Slug:** `KLIPFOLIO_GET_USER_ROLES`

Tool to retrieve all roles assigned to a specific user in Klipfolio. Use when you need to check what permissions and access levels a user has through their role assignments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the user whose roles to retrieve. |

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

**Slug:** `KLIPFOLIO_GET_USER_TAB_INSTANCES`

Tool to retrieve all tab instances associated with a specific user. Use when you need to view dashboard copies assigned to a user's account. Tab instances represent copies of tabs in a user's account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the user whose tab instances to retrieve. |

#### 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 Data Source Instances

**Slug:** `KLIPFOLIO_LIST_DATA_SOURCE_INSTANCES`

Tool to retrieve all data source instances accessible to the authenticated user. Use when you need to list, query, or monitor data source instances with optional filtering by client or data source.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `client_id` | string | No | Filter results to show only instances belonging to a specified client. |
| `datasource_id` | string | No | Filter results to show only instances of a particular data source (use the data source ID, not the instance ID). |

#### 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 All Data Sources

**Slug:** `KLIPFOLIO_LIST_DATA_SOURCES`

This tool retrieves a list of all data sources associated with an authenticated Klipfolio account. It supports optional query parameters for pagination (limit and offset) and filtering by client_id. The response includes details for each data source such as id, name, description, format, connector type, refresh interval, and timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of data sources to return |
| `offset` | integer | No | Number of data sources to skip |
| `client_id` | string | No | ID of the client to retrieve data sources 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 |

### List All Groups

**Slug:** `KLIPFOLIO_LIST_GROUPS`

Tool to retrieve all groups from a Klipfolio account. Use when you need to list groups for access management or filtering purposes. Supports filtering by client_id or external_id, and can include member data when used with external_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `full` | boolean | No | When set to true, includes associated member data in the listing. Note: This parameter only functions when specifying an external_id |
| `client_id` | string | No | Filters results to show only groups belonging to a specific client |
| `external_id` | string | No | Filters results to display only groups with the specified external identifier |

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

**Slug:** `KLIPFOLIO_LIST_ROLES`

Tool to retrieve all roles in the company. Use when you need to view available roles, check role configurations, or identify role IDs for permission management.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `client_id` | string | No | Filter roles by a specific client ID. If not provided, returns all roles in the 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 |

### List All Users

**Slug:** `KLIPFOLIO_LIST_USERS`

Tool to retrieve all users in the company. Use when you need to view all users, search for specific users by email or external ID, or get user details for access management.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `full` | boolean | No | When true, includes additional user details in the response such as company, date_created, is_locked_out, and properties. |
| `email` | string | No | Filter users by email address. Returns users matching the specified email. |
| `client_id` | string | No | Filter users by a specific client ID. If not provided, returns all users in the company. |
| `external_id` | string | No | Filter users by external ID. Returns users with the specified external identifier. |
| `include_roles` | boolean | No | When true, includes the list of role IDs assigned to each user in the response. |
| `include_groups` | boolean | No | When true, includes the list of groups each user belongs to in the response. |

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

### Refresh Data Source Instance

**Slug:** `KLIPFOLIO_REFRESH_DATA_SOURCE_INSTANCE`

Tool to manually refresh a data source instance in Klipfolio. Use when you need to update the data from its source immediately rather than waiting for the scheduled refresh interval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source instance to refresh |

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

### Refresh Multiple Data Sources

**Slug:** `KLIPFOLIO_REFRESH_MULTIPLE_DATA_SOURCES`

This tool allows users to refresh multiple data sources in Klipfolio simultaneously. It queues the specified data sources for refresh, updating their data from their respective sources. The tool automatically refreshes all available data sources associated with the authenticated account if no specific data source IDs are provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `datasource_ids` | array | Yes | List of data source IDs to refresh |

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

### Resend User Invite

**Slug:** `KLIPFOLIO_RESEND_USER_INVITE`

Tool to resend a user invitation email in Klipfolio. Use when you need to resend an invitation to a user who has not yet accepted their account invite.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the user to resend the invitation email to. |

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

**Slug:** `KLIPFOLIO_RESET_USER_PASSWORD`

Tool to reset a user's password in Klipfolio. Use when you need to trigger a password reset for a specific user account. This will send a password reset link to the user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the user whose password should 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 Data Source

**Slug:** `KLIPFOLIO_UPDATE_DATA_SOURCE`

This tool allows you to replace/update the data in an existing Klipfolio data source. It completely replaces the existing data with new data in the specified data source. The tool requires new data (in plain-text or CSV format) to be provided and updates the data source accordingly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | The plain-text or CSV data to replace the existing data in the data source |
| `content_type` | string | No | The content type of the data being sent. Use 'text/csv' for CSV data or 'text/plain' for plain text. |
| `data_source_id` | string | Yes | The ID of the data source to update |

#### 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 Data Source Instance Properties

**Slug:** `KLIPFOLIO_UPDATE_DATA_SOURCE_INSTANCE_PROPERTIES`

Tool to update custom properties on a Klipfolio data source instance. Use when you need to set or modify key-value property pairs on an existing data source instance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source instance to update properties for |
| `properties` | object | Yes | A dictionary of key-value pairs representing the properties to update on the data source instance. All values must be strings |

#### 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 Data Source Metadata

**Slug:** `KLIPFOLIO_UPDATE_DATA_SOURCE_METADATA`

Tool to update metadata (name, description, refresh_interval) of an existing data source. Use when you need to modify properties of a data source without changing its actual data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source to update |
| `name` | string | No | The new name for the data source |
| `description` | string | No | The new description for the data source |
| `refresh_interval` | integer ("0" | "60" | "300" | "900" | "1800" | "3600" | "7200" | "10800" | "14400" | "43200" | "86400") | No | The new refresh interval in seconds. Must be one of: 0, 60, 300, 900, 1800, 3600, 7200, 10800, 14400, 43200, 86400 |

#### 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 Data Source Properties

**Slug:** `KLIPFOLIO_UPDATE_DATA_SOURCE_PROPERTIES`

Tool to update custom properties for a data source in Klipfolio. Use when you need to modify metadata or configuration properties associated with a specific data source.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source to update properties for |
| `properties` | object | Yes | A dictionary of key-value pairs representing the properties to update for the data source. These are custom properties that can be used to store metadata or configuration for the data source. All values should be strings. |

#### 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 Data Source Share Rights

**Slug:** `KLIPFOLIO_UPDATE_DATA_SOURCE_SHARE_RIGHTS`

Tool to update data source share rights in Klipfolio. Use when you need to grant or modify access permissions for users or groups to a specific data source. This allows you to control who can view or edit a data source by specifying user IDs and group IDs with their respective permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the data source to update share rights for |
| `users` | array | No | List of users to grant access to the data source. Each user can have edit or read-only permissions |
| `groups` | array | No | List of groups to grant access to the data source. Each group can have edit or read-only permissions |

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

**Slug:** `KLIPFOLIO_UPDATE_USER_PROPERTIES`

Tool to update custom properties for a user in Klipfolio. Use when you need to modify metadata or configuration properties associated with a specific user account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the user to update properties for |
| `properties` | object | Yes | A dictionary of key-value pairs representing the custom properties to update for the user. These are custom properties that can be used to store metadata or user-specific configuration. All values should be strings. |

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