Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Klipfolio

Scalekit connector
Open markdown

The Klipfolio connector lets your AI agent act in each user's Klipfolio account. Each user connects their own Klipfolio API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 59 tools.

Tools
59
What they doRead · write · destructive
29 · 22 · 829 read22 write8 destructive
Users sign in with

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Klipfolio connection

    In AgentKit > Connections, create a Klipfolio connection. The name you give it is the connection_name your code passes. See Configure connections.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'klipfolio'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Klipfolio:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'klipfolio_clients_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Klipfolio credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • klipfolio_client_getGet one client account by ID.Read-only

    Get Client

    Get one client account by ID. Returns its id, name, description, status, seats, billing and trial details; with full=true also its user and group IDs and share rights. Use klipfolio_client_get when you know the client ID. Use klipfolio_clients_list to find it.

    Inputs

    client_idstringrequired
    ID of the client account. Get it from the id field of klipfolio_clients_list. Example: "0123456789abcdef0123456789abcdef".
    fullboolean
    Set to true to include associations in the response (users, groups, share_right). Default false.
  • klipfolio_clients_listList the client accounts managed by a partner Klipfolio account, optionally by status or external ID.Read-only

    List Clients

    List the client accounts managed by a partner Klipfolio account, optionally by status or external ID. Returns each client's id, name, description, status, seats and last sign-in date. Use klipfolio_clients_list to find a client_id for the other tools. Use klipfolio_client_get for one client's users and groups.

    Inputs

    external_idstring
    Only return clients with this external ID. Example: "acct-77".
    limitinteger
    Maximum number of results to return. Default 25, maximum 100 (values over 100 return a 400 error). Example: 50.
    offsetinteger
    Index of the first result to return, for paging. Default 0. Example: 25 returns the second page when limit is 25.
    statusstring
    Only return clients with this account status: active, trial, setup or disabled.one of activetrialsetupdisabled
  • klipfolio_dashboard_getGet one dashboard (tab) by ID.Read-only

    Get Dashboard

    Get one dashboard (tab) by ID. Returns its id, name, description, company, creator and last-updated date; with full=true also its Klip instance IDs and group and user share rights. Use klipfolio_dashboard_get when you know the dashboard ID. Use klipfolio_dashboard_klip_instances_list for the Klips on it with their names.

    Inputs

    dashboard_idstringrequired
    ID of the dashboard (called a tab in the Klipfolio API). Get it from the id field of klipfolio_dashboards_list. Example: "fedcba9876543210fedcba9876543210".
    client_idstring
    ID of a client account to act in instead of your own company account (partner accounts that manage clients only). Leave empty to work in your own account. Get client IDs from klipfolio_clients_list. Example: "0123456789abcdef0123456789abcdef".
    fullboolean
    Set to true to include associations in the response (klip_instances, share_rights). Default false.
  • klipfolio_dashboard_klip_instances_listList the Klip instances placed on a dashboard (tab).Read-only

    List Dashboard Klips

    List the Klip instances placed on a dashboard (tab). Returns each instance's id, the source klip_id and the Klip name. Use klipfolio_dashboard_klip_instances_list to see what a dashboard shows or to find an instance ID for klipfolio_dashboard_klip_instance_remove.

    Inputs

    dashboard_idstringrequired
    ID of the dashboard (called a tab in the Klipfolio API). Get it from the id field of klipfolio_dashboards_list. Example: "fedcba9876543210fedcba9876543210".
    client_idstring
    ID of a client account to act in instead of your own company account (partner accounts that manage clients only). Leave empty to work in your own account. Get client IDs from klipfolio_clients_list. Example: "0123456789abcdef0123456789abcdef".
  • klipfolio_dashboard_layout_getGet the layout of a dashboard (tab): its layout type and where each Klip sits.Read-only

    Get Dashboard Layout

    Get the layout of a dashboard (tab): its layout type and where each Klip sits. Returns type and state, where state holds per-context grid settings and one entry per Klip with its column span, position and height. Use klipfolio_dashboard_layout_get before klipfolio_dashboard_layout_update, because the update must include every Klip.

    Inputs

    dashboard_idstringrequired
    ID of the dashboard (called a tab in the Klipfolio API). Get it from the id field of klipfolio_dashboards_list. Example: "fedcba9876543210fedcba9876543210".
    client_idstring
    ID of a client account to act in instead of your own company account (partner accounts that manage clients only). Leave empty to work in your own account. Get client IDs from klipfolio_clients_list. Example: "0123456789abcdef0123456789abcdef".
  • klipfolio_dashboard_share_rights_getList who a dashboard (tab) is shared with.Read-only

    Get Dashboard Share Rights

    List who a dashboard (tab) is shared with. Returns share_rights entries with group_id, group_name and can_edit. Use klipfolio_dashboard_share_rights_get to audit access. Use klipfolio_dashboard_share_rights_update to grant or change access.

    Inputs

    dashboard_idstringrequired
    ID of the dashboard (called a tab in the Klipfolio API). Get it from the id field of klipfolio_dashboards_list. Example: "fedcba9876543210fedcba9876543210".
    client_idstring
    ID of a client account to act in instead of your own company account (partner accounts that manage clients only). Leave empty to work in your own account. Get client IDs from klipfolio_clients_list. Example: "0123456789abcdef0123456789abcdef".
  • klipfolio_dashboards_listList the dashboards (called tabs in the Klipfolio API) in the company or a client account.Read-only

    List Dashboards

    List the dashboards (called tabs in the Klipfolio API) in the company or a client account. Returns each dashboard's id, name and description, 25 per page by default. Use klipfolio_dashboards_list to browse or find dashboard IDs. Use klipfolio_dashboard_get for one dashboard's Klips and share rights.

    Inputs

    client_idstring
    ID of a client account to act in instead of your own company account (partner accounts that manage clients only). Leave empty to work in your own account. Get client IDs from klipfolio_clients_list. Example: "0123456789abcdef0123456789abcdef".
    limitinteger
    Maximum number of results to return. Default 25, maximum 100 (values over 100 return a 400 error). Example: 50.
    offsetinteger
    Index of the first result to return, for paging. Default 0. Example: 25 returns the second page when limit is 25.
  • klipfolio_datasource_getGet one data source by ID.Read-only

    Get Data Source

    Get one data source by ID. Returns its id, name, description, connector, format, refresh interval, creator, dynamic and disabled flags, and created and last-refresh dates. Use klipfolio_datasource_get when you know the ID. Use klipfolio_datasource_properties_get for its connection settings such as the endpoint URL.

    Inputs

    datasource_idstringrequired
    ID of the data source. Get it from the id field of klipfolio_datasources_list. Example: "c98bad42a8c8a63e0b5e6c0f7aca9898".
    client_idstring
    ID of a client account to act in instead of your own company account (partner accounts that manage clients only). Leave empty to work in your own account. Get client IDs from klipfolio_clients_list. Example: "0123456789abcdef0123456789abcdef".