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.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

accountsagreementcrm-salesemaillevelreceivableservicestatus

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.

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change.
operation string yes One of: list_prospects, get_prospect, create_prospect, list_sequences
query string no Email filter for list_prospects (maps to filter[emails]). Ignored by other operations.
limit string no Max number of results for list_* operations (maps to page[limit], default 50).
prospectId string no Numeric prospect id. Required for get_prospect.
firstName string no First name for create_prospect.
lastName string no Last name for create_prospect.
email string no Email address for create_prospect (required; stored in the prospect emails attribute).