Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to TheirStack

Scalekit connector
Open markdown

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

Tools
25
What they doRead · write · destructive
17 · 7 · 117 read7 write1 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 TheirStack connection

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

    Each user opens the link once and enters their TheirStack 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
  • theirstack_get_company_buying_intentsLook up the buying intent topics detected for one company from its job postings, such as projects, initiatives and tools it is investing in.Read-only

    Get Company Buying Intents

    Look up the buying intent topics detected for one company from its job postings, such as projects, initiatives and tools it is investing in. Returns each topic with confidence (low, medium, high), job counts, first and last dates found, and rank within its category. Use get_company_buying_intents for the investment signals of one known company. Use get_company_technologies for its technology stack. Each lookup uses 3 API credits. At least one of company_domain, company_name or company_linkedin_url must be set.

    Inputs

    company_domainstring
    Only return companies that match this domain exactly. It accepts full urls (https://www.google.com/) and emails (andrew@stripe.com).
    company_idstring
    Only return companies that match this TheirStack Company ID exactly. This ID is temporary and internal and will change in the future and become stable. Until then, it is only meant to be used internally by our UI (app.theirstack.com). For deduplication logic, use company_domain or company_linkedin_url instead.
    company_linkedin_urlstring
    Return companies whose LinkedIn URL matches this URL exactly.
    company_namestring
    Only return companies that match this name exactly, case-sensitively.
    confidence_orarray
    Only return keywords (technologies or buying intent topics) detected with any of these confidence levels. Available values: "high", "medium", "low"
    first_date_found_gtestring
    Only return keywords (technologies or buying intent topics) where the first time they were found was after or on this date. Format: "YYYY-MM-DD"
    include_total_resultsboolean
    When enabled, calculates and returns `total_results` and `total_companies` fields in the response. WARNING: This significantly slows down responses as it requires reading the entire dataset. Recommended usage: enable only for the initial request to get totals, then disable for subsequent pagination requests.
    keyword_category_slug_orarray
    Only return keywords from any of these categories. Case sensitive. Pass slugs. Check out all keyword categories at GET /v1/catalog/keywords/categories
    keyword_parent_category_slug_orarray
    Only return keywords from any of these parent categories. Case sensitive. Pass slugs. Check out all keyword categories at GET /v1/catalog/keywords/categories
    keyword_slug_orarray
    Only return these keywords (technologies or buying intent topics). Case sensitive. Pass slugs. Check out all keywords at GET /v0/catalog/keywords
    last_date_found_gtestring
    Only return keywords (technologies or buying intent topics) where the last time they were found was after or on this date. Format: "YYYY-MM-DD"
    limitinteger
    Number of results per page
    max_jobsinteger
    Maximum number of jobs in which each company mentions the keyword (technology or buying intent topic)
    min_jobsinteger
    Minimum number of jobs in which each company mentions the keyword (technology or buying intent topic)
    offsetinteger
    Number of results to skip. Required for offset-based pagination.
    pageinteger
    Page number. Required when using page-based pagination.
  • theirstack_get_company_listGet one company list by ID.Read-only

    Get Company List

    Get one company list by ID. Returns the list's name, owner, type, creation date and number of companies. The companies themselves are not included. Use get_company_list for list details. Use list_companies_in_list to read the companies in it.

    Inputs

    list_idintegerrequired
    ID of the company list. Use list_company_lists to find it.
  • theirstack_get_company_technologiesLook up the technologies one company uses, detected from its job postings.Read-only

    Get Company Technologies

    Look up the technologies one company uses, detected from its job postings. Returns each technology with confidence (low, medium, high), job counts, first and last dates found, and rank within its category. Use get_company_technologies to see the tech stack of one known company. Use search_companies to find companies by technology. Each lookup uses 3 API credits. At least one of company_domain, company_name or company_linkedin_url must be set.

    Inputs

    company_domainstring
    Only return companies that match this domain exactly. It accepts full urls (https://www.google.com/) and emails (andrew@stripe.com).
    company_idstring
    Only return companies that match this TheirStack Company ID exactly. This ID is temporary and internal and will change in the future and become stable. Until then, it is only meant to be used internally by our UI (app.theirstack.com). For deduplication logic, use company_domain or company_linkedin_url instead.
    company_linkedin_urlstring
    Return companies whose LinkedIn URL matches this URL exactly.
    company_namestring
    Only return companies that match this name exactly, case-sensitively.
    confidence_orarray
    Only return keywords (technologies or buying intent topics) detected with any of these confidence levels. Available values: "high", "medium", "low"
    first_date_found_gtestring
    Only return keywords (technologies or buying intent topics) where the first time they were found was after or on this date. Format: "YYYY-MM-DD"
    include_total_resultsboolean
    When enabled, calculates and returns `total_results` and `total_companies` fields in the response. WARNING: This significantly slows down responses as it requires reading the entire dataset. Recommended usage: enable only for the initial request to get totals, then disable for subsequent pagination requests.
    keyword_category_slug_orarray
    Only return keywords from any of these categories. Case sensitive. Pass slugs. Check out all keyword categories at GET /v1/catalog/keywords/categories
    keyword_parent_category_slug_orarray
    Only return keywords from any of these parent categories. Case sensitive. Pass slugs. Check out all keyword categories at GET /v1/catalog/keywords/categories
    keyword_slug_orarray
    Only return these keywords (technologies or buying intent topics). Case sensitive. Pass slugs. Check out all keywords at GET /v0/catalog/keywords
    last_date_found_gtestring
    Only return keywords (technologies or buying intent topics) where the last time they were found was after or on this date. Format: "YYYY-MM-DD"
    limitinteger
    Number of results per page
    max_jobsinteger
    Maximum number of jobs in which each company mentions the keyword (technology or buying intent topic)
    min_jobsinteger
    Minimum number of jobs in which each company mentions the keyword (technology or buying intent topic)
    offsetinteger
    Number of results to skip. Required for offset-based pagination.
    pageinteger
    Page number. Required when using page-based pagination.
  • theirstack_get_credit_balanceGet the team's current TheirStack credit balance.Read-only

    Get Credit Balance

    Get the team's current TheirStack credit balance. Returns UI credits and API credits available, credits used in the current billing cycle, and the earliest expiration date. Use get_credit_balance before large searches to check available credits. This call is read-only.

    Inputs

    This tool takes no inputs.

  • theirstack_list_companies_in_listList the companies in one company list, with sorting and name filtering.Read-only

    List Companies In List

    List the companies in one company list, with sorting and name filtering. Returns each entry with company name, the date it was added, the date it was revealed, and the company profile. Use list_companies_in_list to read the contents of a list. Use get_company_list for list details only.

    Inputs

    list_idintegerrequired
    ID of the company list. Use list_company_lists to find it.
    company_name_partialstring
    Pass a partial company name to filter the list of companies
    limitinteger
    Number of results per page
    offsetinteger
    Number of results to skip. Required for offset-based pagination.
    order_bystring
    Order by fieldone of revealed_atname
    order_directionstring
    Order directionone of ascdesc
    pageinteger
    Page number. Required when using page-based pagination.
  • theirstack_list_company_countriesList countries with the number of companies headquartered in each.Read-only

    List Company Countries

    List countries with the number of companies headquartered in each. Returns each country with ISO 2-letter code, country name and company count. Use list_company_countries to find headquarters country codes for company filters. Use list_job_countries for job locations instead. The call is free.

    Inputs

    countrystring
    Name of a country. Will return the country matching their name in English
    limitinteger
    Number of results per page
    pageinteger
    Page number.
  • theirstack_list_company_listsList all company lists of the team.Read-only

    List Company Lists

    List all company lists of the team. Returns each list with id, name, type, number of companies, creation date and owner. Use list_company_lists to find a list ID before get_company_list, list_companies_in_list, add_companies_to_list or rename_company_list.

    Inputs

    This tool takes no inputs.