Klipfolio

Learn how to use Klipfolio with Composio

Overview

SLUG: KLIPFOLIO

Description

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

Authentication Details

generic_api_key
stringRequired

Connecting to Klipfolio

Create an auth config

Use the dashboard to create an auth config for the Klipfolio toolkit. This allows you to connect multiple Klipfolio accounts to Composio for agents to use.

1

Select App

Navigate to the Klipfolio toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4klipfolio_auth_config_id = "ac_YOUR_KLIPFOLIO_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Klipfolio for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, klipfolio_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Klipfolio toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["KLIPFOLIO"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Append Data to Data Source

Description

This tool appends plain-text or csv data to an existing data source in klipfolio. it requires two parameters: 'data' which contains the data in plain-text or csv format, and 'data source id' which specifies the target data source.

Action Parameters

data
stringRequired
data_source_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Data Source

Description

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).

Action Parameters

additional_properties
object
connector
stringRequired
description
stringRequired
endpoint_url
stringRequired
format
stringRequired
method
stringDefaults to GET
name
stringRequired
refresh_interval
integerDefaults to 1800

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Tab (Dashboard)

Description

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.

Action Parameters

client_id
string
description
stringRequired
name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Data Source

Description

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.

Action Parameters

datasource_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Dashboard Details

Description

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.

Action Parameters

dashboard_id
stringRequired
include_associations
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Data Source Instance Details

Description

This tool retrieves detailed information about a specific data source instance in klipfolio. it can return data in either json or csv format depending on the data source type.

Action Parameters

instance_id
stringRequired

Action Response

data
object
error
string
format
stringDefaults to json
successful
booleanRequired
successfull
booleanDefaults to True

Tool Name: Get Klips

Description

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.

Action Parameters

limit
integer
offset
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User Profile

Description

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.

Action Parameters

include_groups
booleanDefaults to True
include_roles
booleanDefaults to True

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List All Data Sources

Description

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.

Action Parameters

client_id
string
limit
integer
offset
integer

Action Response

data
objectRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: Refresh Multiple Data Sources

Description

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.

Action Parameters

datasource_ids
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Data Source

Description

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.

Action Parameters

data
stringRequired
data_source_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired