Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to ZoomInfo

Scalekit connector
Open markdown

The ZoomInfo connector lets your AI agent act in each user's ZoomInfo account. Each user signs in to ZoomInfo once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 97 tools.

Tools
97
What they doRead · write · destructive
56 · 30 · 1156 read30 write11 destructive
Users sign in with
OAuth app
Your own ZoomInfo app

What you can do

  • Search companies and contacts: find companies and people by name, title, industry, revenue, headcount, and location
  • Enrich company and contact data: add emails, phone numbers, firmographics, technologies, and corporate hierarchy to companies and contacts you already have
  • Track buying signals: pull intent signals, news, scoops, and insights for target companies
  • Find lookalikes and recommendations: surface similar companies and contacts and ranked contacts to reach at a target account
  • Build and manage audiences: create, enrich, update, and delete audiences, their rows, columns, and folders
  • Define your market: create and update ideal customer profiles, buyer personas, competitors, and product offerings

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 ZoomInfo connection

    In AgentKit > Connections, create a ZoomInfo connection and copy its redirect URI. The name you give it is the connection_name your code passes. See Configure connections.

  4. Register an OAuth app

    ZoomInfo connections use your own OAuth app. Register one with ZoomInfo and add the redirect URI you copied.

    Then enter the app's Client ID and Client Secret on the ZoomInfo connection.

    Console steps with screenshots

    Create a ZoomInfo OAuth app in the developer portal to get a client ID and client secret, then register your Scalekit redirect URI.

    1. Create a ZoomInfo API app

      • Go to developer.zoominfo.com and sign in with your ZoomInfo account.
      • In the top-right corner, click + Create App.

      ZoomInfo DevPortal API Apps page showing existing apps and the Create App button

    2. Configure OAuth settings

      On the app creation form:

      • Enter an Application Name (e.g. Agent Auth).
      • Under OAuth, set the Redirect URI to your Scalekit redirect URI.
      • Copy the Client ID shown on the app settings page.
      • Click Show to reveal and copy the Client Secret.
    3. Create a connection in Scalekit

      • In the Scalekit dashboard, go to AgentKit → Connections → Create Connection.
      • Search for ZoomInfo and click Create.
      • Enter the Client ID and Client Secret from your ZoomInfo app.
      • Note the Connection name — use this as connection_name in your code (e.g., zoominfo).
  5. 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 = 'zoominfo'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize ZoomInfo:', 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: 'zoominfo_enrich_news',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • zoominfo_ask_account_summaryAsk a natural language question about a company's account summary.Read-only

    Ask Account Summary Question

    Ask a natural language question about a company's account summary. Returns an AI-generated answer using ZoomInfo's account intelligence data. Requires a ZoomInfo company ID and a question.

    Inputs

    companyIdintegerrequired
    ZoomInfo unique company ID.
    questionstringrequired
    The question to ask about the company's account data.

    Also accepts schema_version and tool_version to pin a version.

  • zoominfo_enrich_companiesEnrich up to 25 company records with detailed ZoomInfo firmographic data including revenue, headcount, industry, technographics, and more.Read-only

    Enrich Companies

    Enrich up to 25 company records with detailed ZoomInfo firmographic data including revenue, headcount, industry, technographics, and more. Specify output fields and provide match criteria (companyId, name, or website). Each matched record consumes a credit. Use Search Companies first to get companyIds for best match accuracy.

    Inputs

    matchCompanyInputarrayrequired
    List of up to 25 companies to match and enrich.
    outputFieldsarrayrequired
    Fields to include in the response for each enriched company.
    requiredFieldsarray
    Fields that must be present in the result for a record to be returned.

    Also accepts schema_version and tool_version to pin a version.

  • zoominfo_enrich_contactsEnrich up to 25 contact records with detailed ZoomInfo data including emails, phone numbers, job titles, and company details.Read-only

    Enrich Contacts

    Enrich up to 25 contact records with detailed ZoomInfo data including emails, phone numbers, job titles, and company details. Specify output fields to return and provide match criteria (personId, email, name, or phone). Each matched record consumes a credit. Use Search Contacts first to get personIds for best match accuracy.

    Inputs

    matchPersonInputarrayrequired
    List of up to 25 contacts to match and enrich. Each object can include personId, email, name, phone, or company details.
    outputFieldsarrayrequired
    Fields to include in the response for each enriched contact.
    requiredFieldsarray
    Fields that must be present in the result for a record to be returned.

    Also accepts schema_version and tool_version to pin a version.

  • zoominfo_enrich_corporate_hierarchyEnrich the corporate hierarchy for up to 25 companies.Read-only

    Enrich Corporate Hierarchy

    Enrich the corporate hierarchy for up to 25 companies. Returns the full family tree including parent company, subsidiaries, acquisitions, former names, and known locations. If the matched company is not the top-level parent, also returns all parent companies up to the ultimate parent. Each matched record consumes a credit.

    Inputs

    matchCompanyInputarrayrequired
    List of up to 25 companies to match and retrieve hierarchy for.
    outputFieldsarrayrequired
    Fields to include in the response for each enriched company hierarchy.

    Also accepts schema_version and tool_version to pin a version.

  • zoominfo_enrich_hashtagsGet categorical hashtag labels for a specific company by ZoomInfo company ID.Read-only

    Enrich Hashtags

    Get categorical hashtag labels for a specific company by ZoomInfo company ID. Hashtags classify companies based on business characteristics, technologies, and attributes — useful for precise filtering and segmentation. Charges one credit for the enriched company.

    Inputs

    companyIdintegerrequired
    ZoomInfo unique company ID.

    Also accepts schema_version and tool_version to pin a version.

  • zoominfo_enrich_intentFetch buying intent signals for a specific company by providing up to 50 intent topics.Read-only

    Enrich Intent

    Fetch buying intent signals for a specific company by providing up to 50 intent topics. At least one company identifier (companyId, companyName, or companyWebsite) and at least one topic are required. Returns signal score, audience strength, and optional recommended contacts. Charges one credit for the company plus record credits per signal returned.

    Inputs

    topicsarrayrequired
    Array of up to 50 intent topic names to fetch signals for.
    audienceStrengthMaxstring
    Maximum audience strength (A-E, where A = largest audience).
    audienceStrengthMinstring
    Minimum audience strength (A-E, where A = largest audience).
    companyIdinteger
    ZoomInfo unique company ID. Provide at least one of companyId, companyName, or companyWebsite.
    companyNamestring
    Company name. Provide at least one of companyId, companyName, or companyWebsite.
    companyWebsitestring
    Company website URL. Provide at least one of companyId, companyName, or companyWebsite.
    findRecommendedContactsboolean
    Set to false to exclude recommended contacts from results. Default is true.
    pageNumberinteger
    Page number for pagination, starting from 1.
    pageSizeinteger
    Results per page. Valid values: 1-100. Default is 25.
    signalEndDatestring
    End date for intent signals in YYYY-MM-DD format.
    signalScoreMaxinteger
    Maximum signal score (60-100).
    signalScoreMininteger
    Minimum signal score (60-100).
    signalStartDatestring
    Start date for intent signals in YYYY-MM-DD format.
    sortstring
    Sort field. Valid values: audiencestrength, category, companyname, issuedate, signaldate, signalscore, signalstrength, surgescore, topic. Prefix with - for descending.

    Also accepts schema_version and tool_version to pin a version.

  • zoominfo_enrich_newsFetch news articles for a specific company by providing at least one company identifier (companyId, companyName, or companyWebsite).Read-only

    Enrich News

    Fetch news articles for a specific company by providing at least one company identifier (companyId, companyName, or companyWebsite). Optionally filter by news category, URL, and date range. Charges one credit for the enriched company plus record credits per article returned. Use Search News to find articles across all companies.

    Inputs

    categoriesarray
    News article categories to filter by.
    companyIdinteger
    ZoomInfo unique company ID.
    companyNamestring
    Company name.
    companyWebsitestring
    Company website URL.
    pageDateMaxstring
    Latest publishing date for news articles.
    pageDateMinstring
    Earliest publishing date for news articles.
    pageNumberinteger
    Page number for pagination.
    pageSizeinteger
    Results per page.
    urlarray
    News article URLs to filter by.

    Also accepts schema_version and tool_version to pin a version.

  • zoominfo_enrich_org_chartsGet org chart data for a company by department.Read-only

    Enrich Org Charts

    Get org chart data for a company by department. Returns ZoomInfo contacts organized by seniority level within the specified department(s). Requires a ZoomInfo company ID and at least one department. Charges one credit per request regardless of contacts returned.

    Inputs

    companyIdstringrequired
    ZoomInfo company ID to get org chart for.
    departmentstringrequired
    Comma-separated department IDs to get org chart data for.
    contactAccuracyScoreMaxstring
    Maximum contact accuracy score (70-99).
    contactAccuracyScoreMinstring
    Minimum contact accuracy score (70-99).
    pageNumberinteger
    Page number for pagination.
    pageSizeinteger
    Results per page.
    sortstring
    Sort field.

    Also accepts schema_version and tool_version to pin a version.