Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Copper

Scalekit connector
Open markdown

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

Tools
69
What they doRead · write · destructive
41 · 18 · 1041 read18 write10 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 Copper connection

    In AgentKit > Connections, create a Copper 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 = 'copper'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Copper:', 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: 'copper_current_user_get',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Copper 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
  • copper_account_getGet details of the Copper account the API key belongs to.Read-only

    Get Account

    Get details of the Copper account the API key belongs to. Returns the account id, name, primary timezone and settings such as whether leads and team permissions are enabled. Use it to check the connection or read account settings. Use copper_current_user_get for the API user.

    Inputs

    This tool takes no inputs.

  • copper_activity_getGet one activity (note, call, meeting or system event) in Copper by ID.Read-only

    Get Activity

    Get one activity (note, call, meeting or system event) in Copper by ID. Returns the activity record with id, parent, type, details, user_id, activity_date and, for system activities, old_value and new_value. Use it when you have the activity ID. Use copper_activities_search to find activities.

    Inputs

    activity_idintegerrequired
    ID of the activity. Get it from copper_activities_search. Example: 68.
  • copper_activity_types_listList the activity types in the Copper account, grouped into user types (notes, calls, meetings, custom types) and system types.Read-only

    List Activity Types

    List the activity types in the Copper account, grouped into user types (notes, calls, meetings, custom types) and system types. Returns each type's id, category (user or system), name, is_disabled and count_as_interaction. Use it to get the type id and category for copper_activity_create and activity filters. Notes are always id 0.

    Inputs

    This tool takes no inputs.

  • copper_company_activities_listList the activities (notes, calls, meetings and system events) logged on one company in Copper.Read-only

    List Company Activities

    List the activities (notes, calls, meetings and system events) logged on one company in Copper. Returns activity records with id, type, details, user_id and activity_date. Use it for one company's history. Use copper_activities_search to filter by date or page through activities across records.

    Inputs

    company_idintegerrequired
    ID of the company. Get it from copper_companies_search. Example: 1234567.
    activity_typesarray
    Only return activities of these types. Each item has the activity type id and its category (user or system), from copper_activity_types_list. Example: [{"id": 0, "category": "user"}] for notes.
  • copper_company_getGet one company (organization) in Copper by ID.Read-only

    Get Company

    Get one company (organization) in Copper by ID. Returns the full company record: name, address, email domain, phone numbers, primary contact, owner, tags and custom fields. Use it when you have the company ID. Use copper_companies_search to find companies by name or other fields.

    Inputs

    company_idintegerrequired
    ID of the company. Get it from copper_companies_search. Example: 1234567.