InTouch Hub · Blue Isle Software

Outreach

Manage prospects, sequences, and engagement data in Outreach via its REST API. Lists and creates prospects and lists sequences using the Outreach JSON:API v2 endpoints.

Outreach

Manage prospects, sequences, and engagement data in Outreach — the sales engagement platform — from InTouch jobs and the AI assistant.

The tool talks to the Outreach REST API v2 (https://api.outreach.io/api/v2). Outreach follows the JSON:API specification: requests and responses use the application/vnd.api+json content type, resources are nested under a top-level data object/array, collections support filter[...] and page[...] parameters, and write bodies carry data.type + data.attributes.

Standard library only — no third-party Python packages. Bodies are capped at ~5 MB.

What it does

Branches on the operation input and calls the matching Outreach endpoint. Every call returns an envelope:

A transport-level failure or missing required input prints {"error": "..."} and exits non-zero so the job step FAILS.

Operations

operation method + endpoint inputs used
list_prospects GET /prospects query (email filter), limit
get_prospect GET /prospects/{id} prospectId
create_prospect POST /prospects email (required), firstName, lastName
list_sequences GET /sequences limit

API key setup

Outreach uses OAuth2. The apiKey input is an Outreach access token, sent as Authorization: Bearer <token>.

  1. Register an OAuth application in your Outreach org (Settings → Integrations → API Access / the Outreach developer portal).
  2. Request the scopes you need — e.g. prospects.read, prospects.write, sequences.read.
  3. Complete the OAuth2 authorization-code flow (or, for server-to-server installs, the app-install access-token flow) to obtain an access token.
  4. Pass that access token as apiKey.

Access tokens are short-lived (typically expire after ~2 hours). Refresh out-of-band and supply a current token at run time. The API enforces a rate limit of 10,000 requests/hour; X-RateLimit-Remaining is returned in responses.

Examples

List up to 25 prospects matching an email:

{
  "apiKey": "<OUTREACH_ACCESS_TOKEN>",
  "operation": "list_prospects",
  "query": "[email protected]",
  "limit": "25"
}

Get a single prospect by id:

{
  "apiKey": "<OUTREACH_ACCESS_TOKEN>",
  "operation": "get_prospect",
  "prospectId": "42"
}

Create a prospect:

{
  "apiKey": "<OUTREACH_ACCESS_TOKEN>",
  "operation": "create_prospect",
  "email": "[email protected]",
  "firstName": "John",
  "lastName": "Doe"
}

List sequences:

{
  "apiKey": "<OUTREACH_ACCESS_TOKEN>",
  "operation": "list_sequences",
  "limit": "50"
}

Grounding

Built against the official Outreach REST API reference: https://developers.outreach.io/api/reference/. Base URL, Bearer auth, application/vnd.api+json content type, the /prospects and /sequences resources, and the JSON:API create-prospect body shape are all per the published Outreach docs.

License: MIT.