Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Findymail

Scalekit connector
Open markdown

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

Tools
35
What they doRead · write · destructive
23 · 8 · 423 read8 write4 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 Findymail connection

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

    Each user opens the link once and enters their Findymail 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
  • findymail_find_email_by_business_profileFind a person's verified work email from their LinkedIn profile URL or username.Read-only

    Find Email by LinkedIn Profile

    Find a person's verified work email from their LinkedIn profile URL or username. Returns a contact object with name, domain, and email; uses 1 finder credit only when a verified email is found. Use find_email_by_business_profile when you have a LinkedIn profile. Use find_email_by_name when you only have a name and company, and find_phone for a phone number.

    Inputs

    linkedin_urlstringrequired
    The person's LinkedIn profile URL, or just the profile username. Example: https://www.linkedin.com/in/johndoe or johndoe.
  • findymail_find_email_by_nameFind a person's verified work email from their full name and their company's domain or name.Read-only

    Find Email by Name

    Find a person's verified work email from their full name and their company's domain or name. Returns a contact object with name, domain, and email; uses 1 finder credit only when a verified email is found. Use find_email_by_name when you know the person's name and company. Use find_email_by_business_profile when you have their LinkedIn URL, and verify_email to check an address you already have.

    Inputs

    domainstringrequired
    The company's website domain (most accurate) or the company name. Example: website.com.
    namestringrequired
    The person's full name. Example: John Doe.
  • findymail_find_employeesFind people who work at a company in given job titles, using the company website.Read-only

    Find Employees

    Find people who work at a company in given job titles, using the company website. Returns a list of contacts with name, linkedinUrl, companyName, companyWebsite, and jobTitle, without emails; uses 1 credit per contact found. Use find_employees to discover who holds a role at a company. Then use find_email_by_business_profile with a returned linkedinUrl to get that person's email.

    Inputs

    job_titlesarrayrequired
    Job titles to search for, up to 10. Example: ["Software Engineer", "CEO"].
    websitestringrequired
    The company's website domain. Example: google.com.
    countinteger
    How many contacts to return, from 1 to 5. Defaults to 1. Each contact found costs 1 credit. Example: 3.default 1
  • findymail_find_phoneFind a person's phone number from their LinkedIn profile URL or username.Read-only

    Find Phone Number

    Find a person's phone number from their LinkedIn profile URL or username. Returns phone (E.164, US numbers only) and line_type, both null when nothing is found; uses 10 finder credits only when a phone is found. Requests for EU citizens return no result. Use find_phone for a phone number. Use find_email_by_business_profile for an email from the same profile.

    Inputs

    linkedin_urlstringrequired
    The person's LinkedIn profile URL, or just the profile username. Example: https://www.linkedin.com/in/johndoe or johndoe.
  • findymail_get_companyLook up a company's firmographic data by LinkedIn company URL, website domain, or name.Read-only

    Get Company

    Look up a company's firmographic data by LinkedIn company URL, website domain, or name. Returns name, domain, company_size, industry, linkedin_url, and description; uses 1 finder credit only when data is found, and returns 404 when no company matches. Use get_company for one known company. Use search_lookalike_companies to find similar companies, and lookup_company_technologies for a company's tech stack. Provide at least one of linkedin_url, domain, or name.

    Inputs

    domainstring
    The company's website domain. Example: stripe.com.
    linkedin_urlstring
    The company's LinkedIn page URL. Example: https://www.linkedin.com/company/findymail/.
    namestring
    The company name. Least precise of the three identifiers. Example: Stripe.
  • findymail_get_creditsGet the account's remaining Findymail credit balance.Read-only

    Get Remaining Credits

    Get the account's remaining Findymail credit balance. Returns credits (finder credits) and verifier_credits. Use get_credits for the current balance. Use get_usage_summary for credits spent over time.

    Inputs

    This tool takes no inputs.

  • findymail_get_exclusion_listGet one exclusion list's details, without its domains.Read-only

    Get Exclusion List

    Get one exclusion list's details, without its domains. Returns id, name, is_shared, is_owner, user_id, and owner_name. Use get_exclusion_list for one list's settings. Use list_excluded_domains with list_id for its domains.

    Inputs

    list_idintegerrequired
    The numeric ID of the exclusion list. Example: 16.
  • findymail_get_intellimatch_resultsRead the company and contact rows from a completed Intellimatch search, one page at a time.Read-only

    Get Intellimatch Results

    Read the company and contact rows from a completed Intellimatch search, one page at a time. Returns data rows (company name, domain, description, employee_count_range, industries, country, match_score, and contact name, email, job title, phone, and LinkedIn URL) plus meta with current_page, last_page, and total. Returns 404 if the search is not finished. Use get_intellimatch_results after get_intellimatch_status reports success. Requires the hash from create_intellimatch_search.

    Inputs

    hashstringrequired
    The hash returned by create_intellimatch_search. Example: 74ebbec924a9666053d234eecc685a1d73c699d1.
    pageinteger
    Page number to return, starting at 1. Defaults to 1. Example: 2.
    per_pageinteger
    Rows per page, from 1 to 500. Defaults to 100. Example: 250.