Connectors · CRM & sales
Outreach MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Outreach and the rest of your systems. It gives your agent 255 Outreach actions (94 reads, 122 writes and 39 that wait for a confirmation) and holds the Outreach credential itself, so the agent never does. It paces Outreach's limits and records every call. Connecting Outreach needs your own Outreach OAuth app and one admin sign-in.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "outreach.prospects.list", intent: "check which Outreach account is connected"}# Get a Collection of Prospects · read · 1 upstream call- 255actionsin one signed file
- 94readlook, never change
- 122writecreate and update
- 39wait for a yesdestructive, confirmed first
Set up
Connect Outreach in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Outreach.
OAuth 2.0, authorization code. You register your own OAuth app with Outreach, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Outreach needs an OAuth app of your own, registered in its developer portal. actionlake has no Outreach app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idOutreach app OAuth client ID (Outreach Developer Portal > your app > API Access)client_secretOutreach app OAuth client secret (shown once when generated)
account { op: "connections.requirements", service: "outreach" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "outreach.prospects.list" }# get a collection of prospects · read · 1 upstream callcheck { action: "outreach.prospects.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Outreach at a glance
- Sign-in
- OAuth 2.0, authorization code. You register your own OAuth app with Outreach, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Limits we pace to
- 10,000 calls an hour and 10 a second, per connection
- API covered
- Outreach REST API v2 (JSON:API, OpenAPI 3.0.3)
api.outreach.io - Built from
- Outreach's documentation, read 22 October 2026api.outreach.iodevelopers.outreach.io
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 94 of 94 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 10, so ask can line Outreach up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Outreach.
255 actions in 51 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 94readlook, never change
- 122writecreate and update
- 39destructivewait for a confirmation
Batches
272 read · 21 write · 4 destructive
Get a Collection of Batches · Account Add Tags · Accounts Add Assignments · Accounts Assign Owner
Tasks
142 read · 11 write · 1 destructive
Get a Collection of Tasks · Create a New Task · Get a Task by ID · Update a Task
Mailboxes
92 read · 6 write · 1 destructive
Get a Collection of Mailboxes · Create a New Mailbox · Get a Mailbox by ID · Update a Mailbox
Sequences
92 read · 6 write · 1 destructive
Create a New Sequence · Get a Collection of Sequences · Get a Sequence by ID · Update a Sequence
Imports
71 read · 6 write · 0 destructive
Accounts Import · Generate Upload Link · Prospects Import · Validate Upload
Sequence states
72 read · 4 write · 1 destructive
Create a New Sequence State · Get a Collection of Sequence States · Get a Sequence State by ID · Delete an Existing Sequence State by ID
Sequence templates
72 read · 4 write · 1 destructive
Create a New Sequence Template · Get a Collection of Sequence Templates · Activate · Deactivate
Account notes
52 read · 2 write · 1 destructive
Get a Collection of Account Notes · Create a New Account Note · Update an Account Note · Delete an Existing Account Note by ID
43 more areas · 170 actions
- Accounts 5
- Call dispositions 5
- Call purposes 5
- Content categories 5
- Email addresses 5
- Opportunities 5
- Opportunity prospect roles 5
- Opportunity stages 5
- Personas 5
- Phone numbers 5
- Products 5
- Profiles 5
- Prospect notes 5
- Prospects 5
- Purchases 5
- Recipients 5
- Roles 5
- Rulesets 5
- Snippets 5
- Stages 5
- Task dispositions 5
- Task purposes 5
- Teams 5
- Templates 5
- Webhooks 5
- Calls 4
- Content category memberships 4
- Favorites 4
- Sequence steps 4
- Users 4
- Compliance requests 3
- Content category ownerships 3
- Mailings 3
- Batch items 2
- Events 2
- Kaia recordings 2
- Mail aliases 2
- Org settings 2
- Task priorities 2
- API 1
- Audit logs 1
- Duties 1
- Kaia voice imports 1
Top actions
The Outreach API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 53 of Outreach's 53 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
outreach.prospects.listGet a Collection of Prospects | Get a Collection of Prospects. | read | crm.contact.list177 connectors |
outreach.accounts.listGet a Collection of Accounts | Get a Collection of Accounts. | read | crm.company.list162 connectors |
outreach.users.listGet a Collection of Users | Get a Collection of Users. | read | identity.user.list474 connectors |
outreach.opportunities.listGet a Collection of Opportunities | Get a Collection of Opportunities. | read | crm.deal.list43 connectors |
outreach.prospects.createCreate a New Prospect | Create a New Prospect. | write | crm.contact.create161 connectors |
outreach.accounts.createCreate a New Account | Create a New Account. | write | crm.company.create142 connectors |
outreach.teams.listGet a Collection of Teams | Get a Collection of Teams. | read | identity.group.list262 connectors |
outreach.users.createCreate a New User | Create a New User. | write | identity.user.create262 connectors |
outreach.tasks.listGet a Collection of Tasks | Get a Collection of Tasks. | read | work.task.list122 connectors |
outreach.roles.listGet a Collection of Roles | Get a Collection of Roles. | read | identity.role.list184 connectors |
outreach.opportunities.createCreate a New Opportunity | Create a New Opportunity. | write | crm.deal.create43 connectors |
outreach.prospects.deleteDelete an Existing Prospect by ID | Delete an Existing Prospect by ID. | destructive | crm.contact.delete147 connectors |
Try it
Prompts to paste into Claude.
Each one names the Outreach actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Outreach deals are due to close this month, and what are they worth in total?
calls
outreach.opportunities.list - Writewrite
Create a New Prospect in Outreach. Show me exactly what you will send before you save it.
calls
outreach.prospects.create - Across systemsread
Which Outreach companies have invoices in ConnectWise PSA, and how many each?
calls
outreach.accounts.listconnectwise_manage.invoices.list
Across your systems
Outreach, joined to the rest of your business.
One ask fetches from Outreach and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
Which Outreach companies have invoices in ConnectWise PSA, and how many each?
outreach.accounts.list+connectwise_manage.invoices.list, oncrm.company· ConnectWise PSAWhich Outreach companies have invoices in NetSuite, and how many each?
outreach.accounts.list+netsuite.views.invoices, oncrm.company· NetSuite
identity.user 517identity.group 239crm.company 227crm.contact 192identity.role 107work.task 105crm.deal 43comm.call 33ask { intent: "which Outreach companies have invoices in ConnectWise PSA, and how many each", steps: [ { action: "outreach.accounts.list", as: "co", input: {}, limit: 100, max_pages: 5 }, { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 }, { join: { left: "co", right: "inv", on: "crm.company", group_by: "co.name", select: ["co.name", "count(inv.id) as invoices"] } } ]}Governance for Outreach
Destructive actions wait for a yes.
39 Outreach actions are destructive. The first 10:
- Delete an Existing Prospect by ID
outreach.prospects.delete - Delete an Existing Account by ID
outreach.accounts.delete - Delete an Existing Opportunity by ID
outreach.opportunities.delete - Delete an Existing Team by ID
outreach.teams.delete - Delete an Existing Task by ID
outreach.tasks.delete - Delete an Existing Role by ID
outreach.roles.delete - Delete an Existing Account Note by ID
outreach.account_notes.delete - Delete an Existing Call by ID
outreach.calls.delete - Delete an Existing Mailbox by ID
outreach.mailboxes.delete - Delete an Existing Prospect Note by ID
outreach.prospect_notes.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete an Existing Prospect by ID?
intent: the user asked me to delete an Existing Prospect by ID
account { op: "keys.create", name: "outreach-agent", allowed_actions: ["outreach.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "outreach.prospects.delete", approver: "[email protected]" }, { match: "outreach.accounts.delete", approver: "[email protected]" }, { match: "outreach.opportunities.delete", approver: "[email protected]" } ]}Cost
What Outreach costs on actionlake.
Every Outreach action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Outreach refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 255 Outreach actions
- 255actions pageeach page of a long list is one call
- 94reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Outreach action.
255 actions by area: the id your agent calls, what it does, and its effect.
Batches27
outreach.batches.account_add_tagsAccount Add Tagswriteoutreach.batches.accounts_add_assignmentsAccounts Add Assignmentswriteoutreach.batches.accounts_assign_ownerAccounts Assign Ownerwriteoutreach.batches.accounts_bulk_modifyAccounts Bulk Modifywriteoutreach.batches.accounts_destroy_allAccounts Destroy Alldestructiveoutreach.batches.accounts_remove_all_assignmentsAccounts Remove All Assignmentswriteoutreach.batches.accounts_remove_assignmentsAccounts Remove Assignmentswriteoutreach.batches.accounts_remove_tagsAccounts Remove Tagswriteoutreach.batches.cancelCanceldestructiveoutreach.batches.confirmConfirmwriteoutreach.batches.custom_object_bulk_deleteCustom Object Bulk Deletedestructiveoutreach.batches.custom_object_bulk_modifyCustom Object Bulk Modifywriteoutreach.batches.getGet a Batch by IDreadoutreach.batches.listGet a Collection of Batchesreadoutreach.batches.prospects_add_assignmentsProspects Add Assignmentswriteoutreach.batches.prospects_add_tagsProspects Add Tagswriteoutreach.batches.prospects_add_to_sequenceProspects Add To Sequencewriteoutreach.batches.prospects_assign_accountProspects Assign Accountwriteoutreach.batches.prospects_assign_opportunityProspects Assign Opportunitywriteoutreach.batches.prospects_assign_ownerProspects Assign Ownerwriteoutreach.batches.prospects_bulk_modifyProspects Bulk Modifywriteoutreach.batches.prospects_destroy_allProspects Destroy Alldestructiveoutreach.batches.prospects_finish_allProspects Finish Allwriteoutreach.batches.prospects_pause_allProspects Pause Allwriteoutreach.batches.prospects_remove_all_assignmentsProspects Remove All Assignmentswriteoutreach.batches.prospects_remove_assignmentsProspects Remove Assignmentswriteoutreach.batches.prospects_remove_tagsProspects Remove Tagswrite
Tasks14
outreach.tasks.advanceAdvancewriteoutreach.tasks.createCreate a New Taskwriteoutreach.tasks.deleteDelete an Existing Task by IDdestructiveoutreach.tasks.deliverDeliverwriteoutreach.tasks.getGet a Task by IDreadoutreach.tasks.listGet a Collection of Tasksreadoutreach.tasks.log_meet_in_personLog Meet In Personwriteoutreach.tasks.mark_completeMark Completewriteoutreach.tasks.reassign_ownerReassign Ownerwriteoutreach.tasks.rescheduleReschedulewriteoutreach.tasks.snoozeSnoozewriteoutreach.tasks.updateUpdate a Taskwriteoutreach.tasks.update_noteUpdate Notewriteoutreach.tasks.update_opportunity_associationUpdate Opportunity Associationwrite
Mailboxes9
outreach.mailboxes.createCreate a New Mailboxwriteoutreach.mailboxes.deleteDelete an Existing Mailbox by IDdestructiveoutreach.mailboxes.getGet a Mailbox by IDreadoutreach.mailboxes.link_ews_master_accountLink Ews Master Accountwriteoutreach.mailboxes.listGet a Collection of Mailboxesreadoutreach.mailboxes.test_sendTest Sendwriteoutreach.mailboxes.test_syncTest Syncwriteoutreach.mailboxes.unlink_ews_master_accountUnlink Ews Master Accountwriteoutreach.mailboxes.updateUpdate a Mailboxwrite
Sequences9
outreach.sequences.activateActivatewriteoutreach.sequences.createCreate a New Sequencewriteoutreach.sequences.deactivateDeactivatewriteoutreach.sequences.deleteDelete an Existing Sequence by IDdestructiveoutreach.sequences.getGet a Sequence by IDreadoutreach.sequences.listGet a Collection of Sequencesreadoutreach.sequences.lockLockwriteoutreach.sequences.unlockUnlockwriteoutreach.sequences.updateUpdate a Sequencewrite
Imports7
outreach.imports.accounts_importAccounts Importwriteoutreach.imports.bulk_upsertBulk Upsertwriteoutreach.imports.custom_object_bulk_upsertCustom Object Bulk Upsertwriteoutreach.imports.generate_upload_linkGenerate Upload Linkwriteoutreach.imports.getGet an Import by IDreadoutreach.imports.prospects_importProspects Importwriteoutreach.imports.validate_uploadValidate Uploadwrite
Sequence states7
outreach.sequence_states.createCreate a New Sequence Statewriteoutreach.sequence_states.deleteDelete an Existing Sequence State by IDdestructiveoutreach.sequence_states.finishFinishwriteoutreach.sequence_states.getGet a Sequence State by IDreadoutreach.sequence_states.listGet a Collection of Sequence Statesreadoutreach.sequence_states.pausePausewriteoutreach.sequence_states.resumeResumewrite
Sequence templates7
outreach.sequence_templates.activateActivatewriteoutreach.sequence_templates.createCreate a New Sequence Templatewriteoutreach.sequence_templates.deactivateDeactivatewriteoutreach.sequence_templates.deleteDelete an Existing Sequence Template by IDdestructiveoutreach.sequence_templates.getGet a Sequence Template by IDreadoutreach.sequence_templates.listGet a Collection of Sequence Templatesreadoutreach.sequence_templates.updateUpdate a Sequence Templatewrite
Account notes5
outreach.account_notes.createCreate a New Account Notewriteoutreach.account_notes.deleteDelete an Existing Account Note by IDdestructiveoutreach.account_notes.getGet an Account Note by IDreadoutreach.account_notes.listGet a Collection of Account Notesreadoutreach.account_notes.updateUpdate an Account Notewrite
Accounts5
outreach.accounts.createCreate a New Accountwriteoutreach.accounts.deleteDelete an Existing Account by IDdestructiveoutreach.accounts.getGet an Account by IDreadoutreach.accounts.listGet a Collection of Accountsreadoutreach.accounts.updateUpdate an Accountwrite
Call dispositions5
outreach.call_dispositions.createCreate a New Call Dispositionwriteoutreach.call_dispositions.deleteDelete an Existing Call Disposition by IDdestructiveoutreach.call_dispositions.getGet a Call Disposition by IDreadoutreach.call_dispositions.listGet a Collection of Call Dispositionsreadoutreach.call_dispositions.updateUpdate a Call Dispositionwrite
Call purposes5
outreach.call_purposes.createCreate a New Call Purposewriteoutreach.call_purposes.deleteDelete an Existing Call Purpose by IDdestructiveoutreach.call_purposes.getGet a Call Purpose by IDreadoutreach.call_purposes.listGet a Collection of Call Purposesreadoutreach.call_purposes.updateUpdate a Call Purposewrite
Content categories5
outreach.content_categories.createCreate a New Content Categorywriteoutreach.content_categories.deleteDelete an Existing Content Category by IDdestructiveoutreach.content_categories.getGet a Content Category by IDreadoutreach.content_categories.listGet a Collection of Content Categoriesreadoutreach.content_categories.updateUpdate a Content Categorywrite
Email addresses5
outreach.email_addresses.createCreate a New Email Addresswriteoutreach.email_addresses.deleteDelete an Existing Email Address by IDdestructiveoutreach.email_addresses.getGet an Email Address by IDreadoutreach.email_addresses.listGet a Collection of Email Addressesreadoutreach.email_addresses.updateUpdate an Email Addresswrite
Opportunities5
outreach.opportunities.createCreate a New Opportunitywriteoutreach.opportunities.deleteDelete an Existing Opportunity by IDdestructiveoutreach.opportunities.getGet an Opportunity by IDreadoutreach.opportunities.listGet a Collection of Opportunitiesreadoutreach.opportunities.updateUpdate an Opportunitywrite
Opportunity prospect roles5
outreach.opportunity_prospect_roles.createCreate a New Opportunity Prospect Rolewriteoutreach.opportunity_prospect_roles.deleteDelete an Existing Opportunity Prospect Role by IDdestructiveoutreach.opportunity_prospect_roles.getGet an Opportunity Prospect Role by IDreadoutreach.opportunity_prospect_roles.listGet a Collection of Opportunity Prospect Rolesreadoutreach.opportunity_prospect_roles.updateUpdate an Opportunity Prospect Rolewrite
Opportunity stages5
outreach.opportunity_stages.createCreate a New Opportunity Stagewriteoutreach.opportunity_stages.deleteDelete an Existing Opportunity Stage by IDdestructiveoutreach.opportunity_stages.getGet an Opportunity Stage by IDreadoutreach.opportunity_stages.listGet a Collection of Opportunity Stagesreadoutreach.opportunity_stages.updateUpdate an Opportunity Stagewrite
Personas5
outreach.personas.createCreate a New Personawriteoutreach.personas.deleteDelete an Existing Persona by IDdestructiveoutreach.personas.getGet a Persona by IDreadoutreach.personas.listGet a Collection of Personasreadoutreach.personas.updateUpdate a Personawrite
Phone numbers5
outreach.phone_numbers.createCreate a New Phone Numberwriteoutreach.phone_numbers.deleteDelete an Existing Phone Number by IDdestructiveoutreach.phone_numbers.getGet a Phone Number by IDreadoutreach.phone_numbers.listGet a Collection of Phone Numbersreadoutreach.phone_numbers.updateUpdate a Phone Numberwrite
Products5
outreach.products.createCreate a New Productwriteoutreach.products.deleteDelete an Existing Product by IDdestructiveoutreach.products.getGet a Product by IDreadoutreach.products.listGet a Collection of Productsreadoutreach.products.updateUpdate a Productwrite
Profiles5
outreach.profiles.createCreate a New Profilewriteoutreach.profiles.deleteDelete an Existing Profile by IDdestructiveoutreach.profiles.getGet a Profile by IDreadoutreach.profiles.listGet a Collection of Profilesreadoutreach.profiles.updateUpdate a Profilewrite
Prospect notes5
outreach.prospect_notes.createCreate a New Prospect Notewriteoutreach.prospect_notes.deleteDelete an Existing Prospect Note by IDdestructiveoutreach.prospect_notes.getGet a Prospect Note by IDreadoutreach.prospect_notes.listGet a Collection of Prospect Notesreadoutreach.prospect_notes.updateUpdate a Prospect Notewrite
Prospects5
outreach.prospects.createCreate a New Prospectwriteoutreach.prospects.deleteDelete an Existing Prospect by IDdestructiveoutreach.prospects.getGet a Prospect by IDreadoutreach.prospects.listGet a Collection of Prospectsreadoutreach.prospects.updateUpdate a Prospectwrite
Purchases5
outreach.purchases.createCreate a New Purchasewriteoutreach.purchases.deleteDelete an Existing Purchase by IDdestructiveoutreach.purchases.getGet a Purchase by IDreadoutreach.purchases.listGet a Collection of Purchasesreadoutreach.purchases.updateUpdate a Purchasewrite
Recipients5
outreach.recipients.createCreate a New Recipientwriteoutreach.recipients.deleteDelete an Existing Recipient by IDdestructiveoutreach.recipients.getGet a Recipient by IDreadoutreach.recipients.listGet a Collection of Recipientsreadoutreach.recipients.updateUpdate a Recipientwrite
Roles5
outreach.roles.createCreate a New Rolewriteoutreach.roles.deleteDelete an Existing Role by IDdestructiveoutreach.roles.getGet a Role by IDreadoutreach.roles.listGet a Collection of Rolesreadoutreach.roles.updateUpdate a Rolewrite
Rulesets5
outreach.rulesets.createCreate a New Rulesetwriteoutreach.rulesets.deleteDelete an Existing Ruleset by IDdestructiveoutreach.rulesets.getGet a Ruleset by IDreadoutreach.rulesets.listGet a Collection of Rulesetsreadoutreach.rulesets.updateUpdate a Rulesetwrite
Snippets5
outreach.snippets.createCreate a New Snippetwriteoutreach.snippets.deleteDelete an Existing Snippet by IDdestructiveoutreach.snippets.getGet a Snippet by IDreadoutreach.snippets.listGet a Collection of Snippetsreadoutreach.snippets.updateUpdate a Snippetwrite
Stages5
outreach.stages.createCreate a New Stagewriteoutreach.stages.deleteDelete an Existing Stage by IDdestructiveoutreach.stages.getGet a Stage by IDreadoutreach.stages.listGet a Collection of Stagesreadoutreach.stages.updateUpdate a Stagewrite
Task dispositions5
outreach.task_dispositions.createCreate a New Task Dispositionwriteoutreach.task_dispositions.deleteDelete an Existing Task Disposition by IDdestructiveoutreach.task_dispositions.getGet a Task Disposition by IDreadoutreach.task_dispositions.listGet a Collection of Task Dispositionsreadoutreach.task_dispositions.updateUpdate a Task Dispositionwrite
Task purposes5
outreach.task_purposes.createCreate a New Task Purposewriteoutreach.task_purposes.deleteDelete an Existing Task Purpose by IDdestructiveoutreach.task_purposes.getGet a Task Purpose by IDreadoutreach.task_purposes.listGet a Collection of Task Purposesreadoutreach.task_purposes.updateUpdate a Task Purposewrite
Teams5
outreach.teams.createCreate a New Teamwriteoutreach.teams.deleteDelete an Existing Team by IDdestructiveoutreach.teams.getGet a Team by IDreadoutreach.teams.listGet a Collection of Teamsreadoutreach.teams.updateUpdate a Teamwrite
Templates5
outreach.templates.createCreate a New Templatewriteoutreach.templates.deleteDelete an Existing Template by IDdestructiveoutreach.templates.getGet a Template by IDreadoutreach.templates.listGet a Collection of Templatesreadoutreach.templates.updateUpdate a Templatewrite
Webhooks5
outreach.webhooks.createCreate a New Webhookwriteoutreach.webhooks.deleteDelete an Existing Webhook by IDdestructiveoutreach.webhooks.getGet a Webhook by IDreadoutreach.webhooks.listGet a Collection of Webhooksreadoutreach.webhooks.updateUpdate a Webhookwrite
Calls4
outreach.calls.createCreate a New Callwriteoutreach.calls.deleteDelete an Existing Call by IDdestructiveoutreach.calls.getGet a Call by IDreadoutreach.calls.listGet a Collection of Callsread
Content category memberships4
outreach.content_category_memberships.createCreate a New Content Category Membershipwriteoutreach.content_category_memberships.deleteDelete an Existing Content Category Membership by IDdestructiveoutreach.content_category_memberships.getGet a Content Category Membership by IDreadoutreach.content_category_memberships.listGet a Collection of Content Category Membershipsread
Favorites4
outreach.favorites.createCreate a New Favoritewriteoutreach.favorites.deleteDelete an Existing Favorite by IDdestructiveoutreach.favorites.getGet a Favorite by IDreadoutreach.favorites.listGet a Collection of Favoritesread
Sequence steps4
outreach.sequence_steps.createCreate a New Sequence Stepwriteoutreach.sequence_steps.getGet a Sequence Step by IDreadoutreach.sequence_steps.listGet a Collection of Sequence Stepsreadoutreach.sequence_steps.updateUpdate a Sequence Stepwrite
Users4
outreach.users.createCreate a New Userwriteoutreach.users.getGet a User by IDreadoutreach.users.listGet a Collection of Usersreadoutreach.users.updateUpdate a Userwrite
Compliance requests3
outreach.compliance_requests.createCreate a New Compliance Requestwriteoutreach.compliance_requests.getGet a Compliance Request by IDreadoutreach.compliance_requests.listGet a Collection of Compliance Requestsread
Content category ownerships3
outreach.content_category_ownerships.createCreate a New Content Category Ownershipwriteoutreach.content_category_ownerships.deleteDelete an Existing Content Category Ownership by IDdestructiveoutreach.content_category_ownerships.listGet a Collection of Content Category Ownershipsread
Mailings3
outreach.mailings.createCreate a New Mailingwriteoutreach.mailings.getGet a Mailing by IDreadoutreach.mailings.listGet a Collection of Mailingsread
Batch items2
outreach.batch_items.getGet a Batch Item by IDreadoutreach.batch_items.listGet a Collection of Batch Itemsread
Events2
outreach.events.getGet an Event by IDreadoutreach.events.listGet a Collection of Eventsread
Kaia recordings2
outreach.kaia_recordings.getGet a Kaia Recording by IDreadoutreach.kaia_recordings.listGet a Collection of Kaia Recordingsread
Mail aliases2
outreach.mail_aliases.getGet a Mail Alias by IDreadoutreach.mail_aliases.listGet a Collection of Mail Aliasesread
Org settings2
outreach.org_settings.getGet an Org Setting by IDreadoutreach.org_settings.updateUpdate an Org Settingwrite
Task priorities2
outreach.task_priorities.getGet a Task Priority by IDreadoutreach.task_priorities.listGet a Collection of Task Prioritiesread
API1
outreach.api.get_rootGet API root (token and organization info)read
Audit logs1
outreach.audit_logs.listGet a Collection of Audit Logsread
Duties1
outreach.duties.listGet a Collection of Dutiesread
Kaia voice imports1
outreach.kaia_voice_imports.createCreate a New Kaia Voice Importwrite
Questions
The Outreach MCP server, answered.
Is there an Outreach MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 255 Outreach actions across batches, tasks, mailboxes and sequences, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Outreach.
What do I need to connect Outreach?
Your own Outreach OAuth app, registered with Outreach (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Outreach app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "outreach" } lists exactly what to paste.
Can an AI agent delete or change things in Outreach?
Only if its key allows it, and only with an explicit confirmation. 39 Outreach actions are destructive, including delete an Existing Prospect by ID, delete an Existing Account by ID and delete an Existing Opportunity by ID. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Outreach API limit?
actionlake paces every call to the limits in the Outreach service file: 10,000 calls an hour and 10 a second per connection. Repeated reads are answered from cache (94 Outreach actions can be), which never reaches Outreach.
What does an Outreach action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (255 Outreach actions page). Cache hits, searches, dry runs and calls Outreach refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Outreach API does it cover?
The Outreach REST API v2 (JSON:API, OpenAPI 3.0.3) at api.outreach.io. It is built from Outreach's documentation as read on 22 October 2026. 255 actions in 51 areas, each one in the signed service file (version 1.0.0).
Can I combine Outreach with my other systems?
Yes. ask joins Outreach to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Outreach maps crm.company, which 227 other connectors also map.
Does actionlake keep my Outreach data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Outreach credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Outreach today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.