Outreach MCP server
Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on Outreach, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.
Overview
This tool pack lets an agent query, create, update, and delete any Outreach record type, including prospects, accounts, sequences, tasks, and calls, by naming the resource type at runtime. A dedicated Kaia call intelligence tool also lets an agent fetch and read the full transcript of a recorded call.
For setup instructions, see SnapLogic MCP Server quickstart.
Example Prompts
- Add Jane Smith, VP Sales, [email protected] as a new prospect on account 123
- Create an account in Outreach for Contoso Ltd
- Add a task in Outreach to follow up with this prospect next week
- Create a new prospect record for the contact I just mentioned
- Delete prospect 42 from Outreach
- Remove the duplicate account record 1075
- Get rid of that test prospect I created earlier
- Get the transcript for Kaia recording 12345
- Summarise what was discussed on Kaia call 12345
- What next steps were agreed on in recording 12345?
Tools
| Tool Name | Functions |
|---|---|
| OutreachCreateRecord | Create a record of any Outreach resource type from an attributes and relationships map. |
| OutreachDeleteRecord | Delete an Outreach record by resource type and id. |
| OutreachGetKaiaTranscript | Fetch the transcript and metadata for a Kaia call recording by id. |
| OutreachGetRecord | Fetch a single Outreach record by resource type and id. |
| OutreachQuery | List records of any Outreach resource type with filter, sort, sparse fields, include and paging. |
| OutreachUpdateRecord | Partially update an existing Outreach record by resource type and id. |
Set up the MCP Server tools
- Download outreach_tools.zip.
- In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded outreach_tools.zip. Designer unpacks each pipeline into the project.
- Attach the required account to the connectivity snaps (see Connection Setup).
- Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.
Configure account
Attach an API Suite account (OAuth 2.0 or Bearer token) to the HTTP Client snap in Designer after import.
These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.
See the SnapLogic account documentation for this connector: API Suite Account Configuration.
OutreachCreateRecord
Creates a new record of any Outreach resource type from an attributes map and optional relationships. Use it when the user wants to add a prospect, account, task, or other object to Outreach.
| Parameter | Type | Default | Description |
|---|---|---|---|
| resource_type* | string | — | Outreach resource type to create, e.g. prospects, accounts, tasks. |
| attributes* | object | — | Attribute map for the new record, e.g. {firstName, lastName, emails, title}. |
| relationships | object | — | JSON:API relationships map linking the new record to existing ones, e.g. {account: {data: {type: 'account', id: '123'}}}. |
* Required parameter.
Try asking:
- Add Jane Smith, VP Sales, [email protected] as a new prospect on account 123
- Create an account in Outreach for Contoso Ltd
- Add a task in Outreach to follow up with this prospect next week
- Create a new prospect record for the contact I just mentioned
OutreachDeleteRecord
Permanently deletes an Outreach record by resource type and ID. Use it to remove duplicates or test records the user explicitly identifies.
| Parameter | Type | Default | Description |
|---|---|---|---|
| resource_type* | string | — | Outreach resource type the record belongs to, e.g. prospects, accounts. |
| id* | string | — | Numeric id of the record to delete. |
* Required parameter.
Try asking:
- Delete prospect 42 from Outreach
- Remove the duplicate account record 1075
- Get rid of that test prospect I created earlier
OutreachGetKaiaTranscript
Fetches the transcript and metadata for a Kaia call recording by ID. Use it to summarise a call, extract action items, or answer questions about what was discussed.
| Parameter | Type | Default | Description |
|---|---|---|---|
| id* | string | — | Numeric id of the Kaia recording whose transcript should be fetched. |
* Required parameter.
Try asking:
- Get the transcript for Kaia recording 12345
- Summarise what was discussed on Kaia call 12345
- What next steps were agreed on in recording 12345?
- Pull the transcript for that call and tell me who spoke the most
OutreachGetRecord
Fetches a single Outreach record by resource type and ID, with optional sparse fieldset and related resource side-loading. Use it when the user wants full detail on a specific prospect, account, sequence, or call.
| Parameter | Type | Default | Description |
|---|---|---|---|
| resource_type* | string | — | Outreach resource type the record belongs to, e.g. prospects, accounts, sequences. |
| id* | string | — | Numeric id of the record to fetch. |
| fields | string | — | Comma-separated sparse fieldset to return instead of the full attribute set. |
| include | string | — | Comma-separated related resources to side-load, e.g. account. |
* Required parameter.
Try asking:
- Get me the full details for prospect 42
- Show account 1075 and include its related records
- Pull sequence 88 but only the name and description fields
- Look up call record 9231 in Outreach
OutreachQuery
Lists records of any Outreach resource type with filtering, sorting, sparse fieldsets, related-resource side-loading, and paging. Use it whenever the user asks to show or list something in Outreach and does not already have a specific record ID.
| Parameter | Type | Default | Description |
|---|---|---|---|
| resource_type* | string | — | Outreach resource collection to list, e.g. prospects, accounts, sequences, mailings, calls, tasks. |
| filter | string | — | JSON:API filter expression appended to the query string, e.g. filter[emails][email protected]. Omit to list unfiltered. |
| sort | string | — | Field to sort by; prefix with '-' for descending, e.g. -updatedAt. |
| fields | string | — | Comma-separated sparse fieldset for the requested resource type, e.g. firstName,lastName,emails. |
| include | string | — | Comma-separated related resources to side-load in the response, e.g. account. |
| page_limit | string | 50 |
Maximum records per page (default 50). |
| page_offset | string | 0 |
Zero-based offset into the result set, for paging (default 0). |
* Required parameter.
Try asking:
- Show me the 10 most recently updated prospects
- Find the prospect whose email is [email protected]
- List our active sequences sorted by name
- Pull the next 50 accounts after the first page
- Get prospects with just their first name, last name, title and emails, and include the account they belong to
OutreachUpdateRecord
Partially updates an existing Outreach record by resource type and ID, sending only the fields you supply. Use it to correct a field, retag a prospect, or reassign a record to a different related object.
| Parameter | Type | Default | Description |
|---|---|---|---|
| resource_type* | string | — | Outreach resource type the record belongs to, e.g. prospects, accounts. |
| id* | string | — | Numeric id of the record to update. |
| attributes* | object | — | Map of the attributes to change; unlisted attributes are left untouched. |
| relationships | object | — | JSON:API relationships map, to repoint the record at different related records. |
* Required parameter.
Try asking:
- Change prospect 42's title to SVP Sales
- Tag this prospect as enterprise and priority
- Reassign prospect 42 to account 900
- Update the account name on record 1075