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:
status— the HTTP status code as a string (e.g."200","201","401")result— the raw Outreach response body as a JSON string
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 |
queryonlist_prospectsmaps tofilter[emails].limitmaps topage[limit](default 50).create_prospectsends{"data": {"type": "prospect", "attributes": {"emails": [email], "firstName": ..., "lastName": ...}}}and returns201on success.
API key setup
Outreach uses OAuth2. The apiKey input is an Outreach access token, sent as Authorization: Bearer <token>.
- Register an OAuth application in your Outreach org (Settings → Integrations → API Access / the Outreach developer portal).
- Request the scopes you need — e.g.
prospects.read,prospects.write,sequences.read. - Complete the OAuth2 authorization-code flow (or, for server-to-server installs, the app-install access-token flow) to obtain an access token.
- 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.