Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Outreach

Scalekit connector
Open markdown

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

Tools
211
What they doRead · write · destructive
90 · 84 · 3790 read84 write37 destructive
Users sign in with
OAuth app
Your own Outreach app

What you can do

  • Manage prospects: create, update, and delete prospects, and add notes to their profiles
  • Run sequences: build sequences and steps, enroll prospects, and pause, resume, or deactivate them
  • Manage accounts and opportunities: create and update accounts and opportunities and track their stages
  • Handle tasks and calls: create, complete, and reschedule tasks, and log calls with outcomes
  • Manage templates and snippets: create and update email templates and reusable snippets for reps
  • Review email activity: list sent and scheduled mailings and the mailboxes they come from

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

    In AgentKit > Connections, create an Outreach 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

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

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

  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 = 'outreach'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Outreach:', 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: 'outreach_account_notes_list',
    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
  • outreach_account_notes_getGet one account note in Outreach by its ID.Read-only

    Get Account Note

    Get one account note in Outreach by its ID. Returns the record's id and attributes (createdAt, message, noteType, opportunityAssociationRule, pinned) plus relationship links. Use this when you already have the id. Use outreach_account_notes_list to find records. Requires the numeric account note id.

    Inputs

    account_note_idintegerrequired
    Numeric Outreach ID of the account note. Find it with outreach_account_notes_list.
  • outreach_account_notes_listList notes logged against an account in Outreach, with pagination.Read-only

    List Account Notes

    List notes logged against an account in Outreach, with pagination.

    Inputs

    filter_account_idinteger
    Filter notes by account ID
    page_offsetinteger
    Offset for pagination
    page_sizeinteger
    Number of results per page (max 1000)
    sortstring
    Sort field. Prefix with '-' for descending order (e.g., '-createdAt')
  • outreach_accounts_getRetrieve a single account by ID from Outreach.Read-only

    Get Account

    Retrieve a single account by ID from Outreach.

    Inputs

    account_idintegerrequired
    The unique identifier of the account to retrieve
  • outreach_accounts_listList all accounts in Outreach with optional filtering, sorting, and pagination.Read-only

    List Accounts

    List all accounts in Outreach with optional filtering, sorting, and pagination.

    Inputs

    filter_domainstring
    Filter accounts by domain
    filter_namestring
    Filter accounts by name
    page_offsetinteger
    Offset for pagination (number of records to skip)
    page_sizeinteger
    Number of results per page (max 1000)
    sortstring
    Sort field. Prefix with '-' for descending order (e.g., '-createdAt')
  • outreach_audit_logs_listList audit log records in Outreach, optionally filtered, sorted, and paged.Read-only

    List Audit Logs

    List audit log records in Outreach, optionally filtered, sorted, and paged. Returns each record's id and attributes (action, additionalInfo, agent, changes, eventName, globalId, and more) plus relationship links, with links.next for the next page. Use this to browse or find ids. Filters apply to: action, eventName, requestId, result, timestamp. Outreach paginates with a cursor: pass page_after from links.next.

    Inputs

    filter_actionstring
    Filter by action. The action taken. (maximum 255 characters.)
    filter_event_namestring
    Filter by event name. Audit event name. (maximum 255 characters.)
    filter_request_idstring
    Filter by request id. The UUID of the request. RequestId groups dependent events. (maximum 36 characters.)
    filter_resultstring
    Filter by result. The result of the action: `completed`. `pending` or `failed`. (maximum 255 characters.)
    filter_timestampstring
    Filter by timestamp. The timestamp of the action. (ISO 8601 date-time, for example 2025-01-31T09:00:00Z.) Accepts a single value or a range written from..to (use inf or neginf for an open end).
    page_afterstring
    Cursor for the next page: the opaque page[after] token from links.next in the previous response. Leave empty for the first page.
    page_sizeinteger
    Number of records to return per page. Outreach returns 50 by default.
    sortstring
    Field to sort by; prefix with - for descending order. Sortable fields: action, eventName, requestId, result, timestamp. Example: -action
  • outreach_batch_items_getGet one batch item in Outreach by its ID.Read-only

    Get Batch Item

    Get one batch item in Outreach by its ID. Returns the record's id and attributes (batchId, createdAt, data, failed, info, state) plus relationship links. Use this when you already have the id. Use outreach_batch_items_list to find records. Requires the numeric batch item id.

    Inputs

    batch_item_idintegerrequired
    Numeric Outreach ID of the batch item. Find it with outreach_batch_items_list.
  • outreach_batch_items_listList batch item records in Outreach, optionally filtered, sorted, and paged.Read-only

    List Batch Items

    List batch item records in Outreach, optionally filtered, sorted, and paged. Returns each record's id and attributes (batchId, createdAt, data, failed, info, state) plus relationship links, with links.next for the next page. Use this to browse or find ids. Use outreach_batch_items_get for one record by id. Filters apply to: batchId, failed, state. Outreach paginates with a cursor: pass page_after from links.next.

    Inputs

    filter_batch_idinteger
    Filter by batch id. The id of the batch this item belongs to.
    filter_failedboolean
    Filter by failed. Whether this batch item failed during processing.
    filter_statestring
    Filter by state. The current state of the batch item. (maximum 255 characters.)
    page_afterstring
    Cursor for the next page: the opaque page[after] token from links.next in the previous response. Leave empty for the first page.
    page_sizeinteger
    Number of records to return per page. Outreach returns 50 by default.
    sortstring
    Field to sort by; prefix with - for descending order. Sortable fields: batchId, failed, state. Example: -batchId
  • outreach_batches_getGet one batch in Outreach by its ID.Read-only

    Get Batch

    Get one batch in Outreach by its ID. Returns the record's id and attributes (action, canceledAt, confirmCount, confirmedAt, confirmedCountRequired, createdAt, and more) plus relationship links. Use this when you already have the id. Use outreach_batches_list to find records. Requires the numeric batch id.

    Inputs

    batch_idintegerrequired
    Numeric Outreach ID of the batch. Find it with outreach_batches_list.