Skip to content

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/mcp
the first call
do {  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.

  1. 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
  2. 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 app
    • refresh_tokenRefresh token from the same sign-in; the access token is renewed from it
    • client_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
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates 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
  1. Batches

    27

    2 read · 21 write · 4 destructive

    Get a Collection of Batches · Account Add Tags · Accounts Add Assignments · Accounts Assign Owner

  2. Tasks

    14

    2 read · 11 write · 1 destructive

    Get a Collection of Tasks · Create a New Task · Get a Task by ID · Update a Task

  3. Mailboxes

    9

    2 read · 6 write · 1 destructive

    Get a Collection of Mailboxes · Create a New Mailbox · Get a Mailbox by ID · Update a Mailbox

  4. Sequences

    9

    2 read · 6 write · 1 destructive

    Create a New Sequence · Get a Collection of Sequences · Get a Sequence by ID · Update a Sequence

  5. Imports

    7

    1 read · 6 write · 0 destructive

    Accounts Import · Generate Upload Link · Prospects Import · Validate Upload

  6. Sequence states

    7

    2 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

  7. Sequence templates

    7

    2 read · 4 write · 1 destructive

    Create a New Sequence Template · Get a Collection of Sequence Templates · Activate · Deactivate

  8. Account notes

    5

    2 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.

ActionWhat it doesEffectSame name in
outreach.prospects.listGet a Collection of ProspectsGet a Collection of Prospects.readcrm.contact.list177 connectors
outreach.accounts.listGet a Collection of AccountsGet a Collection of Accounts.readcrm.company.list162 connectors
outreach.users.listGet a Collection of UsersGet a Collection of Users.readidentity.user.list474 connectors
outreach.opportunities.listGet a Collection of OpportunitiesGet a Collection of Opportunities.readcrm.deal.list43 connectors
outreach.prospects.createCreate a New ProspectCreate a New Prospect.writecrm.contact.create161 connectors
outreach.accounts.createCreate a New AccountCreate a New Account.writecrm.company.create142 connectors
outreach.teams.listGet a Collection of TeamsGet a Collection of Teams.readidentity.group.list262 connectors
outreach.users.createCreate a New UserCreate a New User.writeidentity.user.create262 connectors
outreach.tasks.listGet a Collection of TasksGet a Collection of Tasks.readwork.task.list122 connectors
outreach.roles.listGet a Collection of RolesGet a Collection of Roles.readidentity.role.list184 connectors
outreach.opportunities.createCreate a New OpportunityCreate a New Opportunity.writecrm.deal.create43 connectors
outreach.prospects.deleteDelete an Existing Prospect by IDDelete an Existing Prospect by ID.destructivecrm.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.

  1. Readread

    Which Outreach deals are due to close this month, and what are they worth in total?

    callsoutreach.opportunities.list

  2. Writewrite

    Create a New Prospect in Outreach. Show me exactly what you will send before you save it.

    callsoutreach.prospects.create

  3. Across systemsread

    Which Outreach companies have invoices in ConnectWise PSA, and how many each?

    callsoutreach.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, on crm.company · ConnectWise PSA

  • Which Outreach companies have invoices in NetSuite, and how many each?

    outreach.accounts.list + netsuite.views.invoices, on crm.company · NetSuite

Also mapped by other connectorsidentity.user 517identity.group 239crm.company 227crm.contact 192identity.role 107work.task 105crm.deal 43comm.call 33
ask
ask {  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"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Outreach

Destructive actions wait for a yes.

39 Outreach actions are destructive. The first 10:

  • Delete an Existing Prospect by IDoutreach.prospects.delete
  • Delete an Existing Account by IDoutreach.accounts.delete
  • Delete an Existing Opportunity by IDoutreach.opportunities.delete
  • Delete an Existing Team by IDoutreach.teams.delete
  • Delete an Existing Task by IDoutreach.tasks.delete
  • Delete an Existing Role by IDoutreach.roles.delete
  • Delete an Existing Account Note by IDoutreach.account_notes.delete
  • Delete an Existing Call by IDoutreach.calls.delete
  • Delete an Existing Mailbox by IDoutreach.mailboxes.delete
  • Delete an Existing Prospect Note by IDoutreach.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.

dooutreach.prospects.deleteconfirm_policy: human

Delete an Existing Prospect by ID?

intent: the user asked me to delete an Existing Prospect by ID

run suspended · waiting for a named person · key outreach-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
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]" }  ]}
Illustrative. Scoped to Outreach only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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

See pricing

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 Tagswrite
  • outreach.batches.accounts_add_assignmentsAccounts Add Assignmentswrite
  • outreach.batches.accounts_assign_ownerAccounts Assign Ownerwrite
  • outreach.batches.accounts_bulk_modifyAccounts Bulk Modifywrite
  • outreach.batches.accounts_destroy_allAccounts Destroy Alldestructive
  • outreach.batches.accounts_remove_all_assignmentsAccounts Remove All Assignmentswrite
  • outreach.batches.accounts_remove_assignmentsAccounts Remove Assignmentswrite
  • outreach.batches.accounts_remove_tagsAccounts Remove Tagswrite
  • outreach.batches.cancelCanceldestructive
  • outreach.batches.confirmConfirmwrite
  • outreach.batches.custom_object_bulk_deleteCustom Object Bulk Deletedestructive
  • outreach.batches.custom_object_bulk_modifyCustom Object Bulk Modifywrite
  • outreach.batches.getGet a Batch by IDread
  • outreach.batches.listGet a Collection of Batchesread
  • outreach.batches.prospects_add_assignmentsProspects Add Assignmentswrite
  • outreach.batches.prospects_add_tagsProspects Add Tagswrite
  • outreach.batches.prospects_add_to_sequenceProspects Add To Sequencewrite
  • outreach.batches.prospects_assign_accountProspects Assign Accountwrite
  • outreach.batches.prospects_assign_opportunityProspects Assign Opportunitywrite
  • outreach.batches.prospects_assign_ownerProspects Assign Ownerwrite
  • outreach.batches.prospects_bulk_modifyProspects Bulk Modifywrite
  • outreach.batches.prospects_destroy_allProspects Destroy Alldestructive
  • outreach.batches.prospects_finish_allProspects Finish Allwrite
  • outreach.batches.prospects_pause_allProspects Pause Allwrite
  • outreach.batches.prospects_remove_all_assignmentsProspects Remove All Assignmentswrite
  • outreach.batches.prospects_remove_assignmentsProspects Remove Assignmentswrite
  • outreach.batches.prospects_remove_tagsProspects Remove Tagswrite
Tasks14
  • outreach.tasks.advanceAdvancewrite
  • outreach.tasks.createCreate a New Taskwrite
  • outreach.tasks.deleteDelete an Existing Task by IDdestructive
  • outreach.tasks.deliverDeliverwrite
  • outreach.tasks.getGet a Task by IDread
  • outreach.tasks.listGet a Collection of Tasksread
  • outreach.tasks.log_meet_in_personLog Meet In Personwrite
  • outreach.tasks.mark_completeMark Completewrite
  • outreach.tasks.reassign_ownerReassign Ownerwrite
  • outreach.tasks.rescheduleReschedulewrite
  • outreach.tasks.snoozeSnoozewrite
  • outreach.tasks.updateUpdate a Taskwrite
  • outreach.tasks.update_noteUpdate Notewrite
  • outreach.tasks.update_opportunity_associationUpdate Opportunity Associationwrite
Mailboxes9
  • outreach.mailboxes.createCreate a New Mailboxwrite
  • outreach.mailboxes.deleteDelete an Existing Mailbox by IDdestructive
  • outreach.mailboxes.getGet a Mailbox by IDread
  • outreach.mailboxes.link_ews_master_accountLink Ews Master Accountwrite
  • outreach.mailboxes.listGet a Collection of Mailboxesread
  • outreach.mailboxes.test_sendTest Sendwrite
  • outreach.mailboxes.test_syncTest Syncwrite
  • outreach.mailboxes.unlink_ews_master_accountUnlink Ews Master Accountwrite
  • outreach.mailboxes.updateUpdate a Mailboxwrite
Sequences9
  • outreach.sequences.activateActivatewrite
  • outreach.sequences.createCreate a New Sequencewrite
  • outreach.sequences.deactivateDeactivatewrite
  • outreach.sequences.deleteDelete an Existing Sequence by IDdestructive
  • outreach.sequences.getGet a Sequence by IDread
  • outreach.sequences.listGet a Collection of Sequencesread
  • outreach.sequences.lockLockwrite
  • outreach.sequences.unlockUnlockwrite
  • outreach.sequences.updateUpdate a Sequencewrite
Imports7
  • outreach.imports.accounts_importAccounts Importwrite
  • outreach.imports.bulk_upsertBulk Upsertwrite
  • outreach.imports.custom_object_bulk_upsertCustom Object Bulk Upsertwrite
  • outreach.imports.generate_upload_linkGenerate Upload Linkwrite
  • outreach.imports.getGet an Import by IDread
  • outreach.imports.prospects_importProspects Importwrite
  • outreach.imports.validate_uploadValidate Uploadwrite
Sequence states7
  • outreach.sequence_states.createCreate a New Sequence Statewrite
  • outreach.sequence_states.deleteDelete an Existing Sequence State by IDdestructive
  • outreach.sequence_states.finishFinishwrite
  • outreach.sequence_states.getGet a Sequence State by IDread
  • outreach.sequence_states.listGet a Collection of Sequence Statesread
  • outreach.sequence_states.pausePausewrite
  • outreach.sequence_states.resumeResumewrite
Sequence templates7
  • outreach.sequence_templates.activateActivatewrite
  • outreach.sequence_templates.createCreate a New Sequence Templatewrite
  • outreach.sequence_templates.deactivateDeactivatewrite
  • outreach.sequence_templates.deleteDelete an Existing Sequence Template by IDdestructive
  • outreach.sequence_templates.getGet a Sequence Template by IDread
  • outreach.sequence_templates.listGet a Collection of Sequence Templatesread
  • outreach.sequence_templates.updateUpdate a Sequence Templatewrite
Account notes5
  • outreach.account_notes.createCreate a New Account Notewrite
  • outreach.account_notes.deleteDelete an Existing Account Note by IDdestructive
  • outreach.account_notes.getGet an Account Note by IDread
  • outreach.account_notes.listGet a Collection of Account Notesread
  • outreach.account_notes.updateUpdate an Account Notewrite
Accounts5
  • outreach.accounts.createCreate a New Accountwrite
  • outreach.accounts.deleteDelete an Existing Account by IDdestructive
  • outreach.accounts.getGet an Account by IDread
  • outreach.accounts.listGet a Collection of Accountsread
  • outreach.accounts.updateUpdate an Accountwrite
Call dispositions5
  • outreach.call_dispositions.createCreate a New Call Dispositionwrite
  • outreach.call_dispositions.deleteDelete an Existing Call Disposition by IDdestructive
  • outreach.call_dispositions.getGet a Call Disposition by IDread
  • outreach.call_dispositions.listGet a Collection of Call Dispositionsread
  • outreach.call_dispositions.updateUpdate a Call Dispositionwrite
Call purposes5
  • outreach.call_purposes.createCreate a New Call Purposewrite
  • outreach.call_purposes.deleteDelete an Existing Call Purpose by IDdestructive
  • outreach.call_purposes.getGet a Call Purpose by IDread
  • outreach.call_purposes.listGet a Collection of Call Purposesread
  • outreach.call_purposes.updateUpdate a Call Purposewrite
Content categories5
  • outreach.content_categories.createCreate a New Content Categorywrite
  • outreach.content_categories.deleteDelete an Existing Content Category by IDdestructive
  • outreach.content_categories.getGet a Content Category by IDread
  • outreach.content_categories.listGet a Collection of Content Categoriesread
  • outreach.content_categories.updateUpdate a Content Categorywrite
Email addresses5
  • outreach.email_addresses.createCreate a New Email Addresswrite
  • outreach.email_addresses.deleteDelete an Existing Email Address by IDdestructive
  • outreach.email_addresses.getGet an Email Address by IDread
  • outreach.email_addresses.listGet a Collection of Email Addressesread
  • outreach.email_addresses.updateUpdate an Email Addresswrite
Opportunities5
  • outreach.opportunities.createCreate a New Opportunitywrite
  • outreach.opportunities.deleteDelete an Existing Opportunity by IDdestructive
  • outreach.opportunities.getGet an Opportunity by IDread
  • outreach.opportunities.listGet a Collection of Opportunitiesread
  • outreach.opportunities.updateUpdate an Opportunitywrite
Opportunity prospect roles5
  • outreach.opportunity_prospect_roles.createCreate a New Opportunity Prospect Rolewrite
  • outreach.opportunity_prospect_roles.deleteDelete an Existing Opportunity Prospect Role by IDdestructive
  • outreach.opportunity_prospect_roles.getGet an Opportunity Prospect Role by IDread
  • outreach.opportunity_prospect_roles.listGet a Collection of Opportunity Prospect Rolesread
  • outreach.opportunity_prospect_roles.updateUpdate an Opportunity Prospect Rolewrite
Opportunity stages5
  • outreach.opportunity_stages.createCreate a New Opportunity Stagewrite
  • outreach.opportunity_stages.deleteDelete an Existing Opportunity Stage by IDdestructive
  • outreach.opportunity_stages.getGet an Opportunity Stage by IDread
  • outreach.opportunity_stages.listGet a Collection of Opportunity Stagesread
  • outreach.opportunity_stages.updateUpdate an Opportunity Stagewrite
Personas5
  • outreach.personas.createCreate a New Personawrite
  • outreach.personas.deleteDelete an Existing Persona by IDdestructive
  • outreach.personas.getGet a Persona by IDread
  • outreach.personas.listGet a Collection of Personasread
  • outreach.personas.updateUpdate a Personawrite
Phone numbers5
  • outreach.phone_numbers.createCreate a New Phone Numberwrite
  • outreach.phone_numbers.deleteDelete an Existing Phone Number by IDdestructive
  • outreach.phone_numbers.getGet a Phone Number by IDread
  • outreach.phone_numbers.listGet a Collection of Phone Numbersread
  • outreach.phone_numbers.updateUpdate a Phone Numberwrite
Products5
  • outreach.products.createCreate a New Productwrite
  • outreach.products.deleteDelete an Existing Product by IDdestructive
  • outreach.products.getGet a Product by IDread
  • outreach.products.listGet a Collection of Productsread
  • outreach.products.updateUpdate a Productwrite
Profiles5
  • outreach.profiles.createCreate a New Profilewrite
  • outreach.profiles.deleteDelete an Existing Profile by IDdestructive
  • outreach.profiles.getGet a Profile by IDread
  • outreach.profiles.listGet a Collection of Profilesread
  • outreach.profiles.updateUpdate a Profilewrite
Prospect notes5
  • outreach.prospect_notes.createCreate a New Prospect Notewrite
  • outreach.prospect_notes.deleteDelete an Existing Prospect Note by IDdestructive
  • outreach.prospect_notes.getGet a Prospect Note by IDread
  • outreach.prospect_notes.listGet a Collection of Prospect Notesread
  • outreach.prospect_notes.updateUpdate a Prospect Notewrite
Prospects5
  • outreach.prospects.createCreate a New Prospectwrite
  • outreach.prospects.deleteDelete an Existing Prospect by IDdestructive
  • outreach.prospects.getGet a Prospect by IDread
  • outreach.prospects.listGet a Collection of Prospectsread
  • outreach.prospects.updateUpdate a Prospectwrite
Purchases5
  • outreach.purchases.createCreate a New Purchasewrite
  • outreach.purchases.deleteDelete an Existing Purchase by IDdestructive
  • outreach.purchases.getGet a Purchase by IDread
  • outreach.purchases.listGet a Collection of Purchasesread
  • outreach.purchases.updateUpdate a Purchasewrite
Recipients5
  • outreach.recipients.createCreate a New Recipientwrite
  • outreach.recipients.deleteDelete an Existing Recipient by IDdestructive
  • outreach.recipients.getGet a Recipient by IDread
  • outreach.recipients.listGet a Collection of Recipientsread
  • outreach.recipients.updateUpdate a Recipientwrite
Roles5
  • outreach.roles.createCreate a New Rolewrite
  • outreach.roles.deleteDelete an Existing Role by IDdestructive
  • outreach.roles.getGet a Role by IDread
  • outreach.roles.listGet a Collection of Rolesread
  • outreach.roles.updateUpdate a Rolewrite
Rulesets5
  • outreach.rulesets.createCreate a New Rulesetwrite
  • outreach.rulesets.deleteDelete an Existing Ruleset by IDdestructive
  • outreach.rulesets.getGet a Ruleset by IDread
  • outreach.rulesets.listGet a Collection of Rulesetsread
  • outreach.rulesets.updateUpdate a Rulesetwrite
Snippets5
  • outreach.snippets.createCreate a New Snippetwrite
  • outreach.snippets.deleteDelete an Existing Snippet by IDdestructive
  • outreach.snippets.getGet a Snippet by IDread
  • outreach.snippets.listGet a Collection of Snippetsread
  • outreach.snippets.updateUpdate a Snippetwrite
Stages5
  • outreach.stages.createCreate a New Stagewrite
  • outreach.stages.deleteDelete an Existing Stage by IDdestructive
  • outreach.stages.getGet a Stage by IDread
  • outreach.stages.listGet a Collection of Stagesread
  • outreach.stages.updateUpdate a Stagewrite
Task dispositions5
  • outreach.task_dispositions.createCreate a New Task Dispositionwrite
  • outreach.task_dispositions.deleteDelete an Existing Task Disposition by IDdestructive
  • outreach.task_dispositions.getGet a Task Disposition by IDread
  • outreach.task_dispositions.listGet a Collection of Task Dispositionsread
  • outreach.task_dispositions.updateUpdate a Task Dispositionwrite
Task purposes5
  • outreach.task_purposes.createCreate a New Task Purposewrite
  • outreach.task_purposes.deleteDelete an Existing Task Purpose by IDdestructive
  • outreach.task_purposes.getGet a Task Purpose by IDread
  • outreach.task_purposes.listGet a Collection of Task Purposesread
  • outreach.task_purposes.updateUpdate a Task Purposewrite
Teams5
  • outreach.teams.createCreate a New Teamwrite
  • outreach.teams.deleteDelete an Existing Team by IDdestructive
  • outreach.teams.getGet a Team by IDread
  • outreach.teams.listGet a Collection of Teamsread
  • outreach.teams.updateUpdate a Teamwrite
Templates5
  • outreach.templates.createCreate a New Templatewrite
  • outreach.templates.deleteDelete an Existing Template by IDdestructive
  • outreach.templates.getGet a Template by IDread
  • outreach.templates.listGet a Collection of Templatesread
  • outreach.templates.updateUpdate a Templatewrite
Webhooks5
  • outreach.webhooks.createCreate a New Webhookwrite
  • outreach.webhooks.deleteDelete an Existing Webhook by IDdestructive
  • outreach.webhooks.getGet a Webhook by IDread
  • outreach.webhooks.listGet a Collection of Webhooksread
  • outreach.webhooks.updateUpdate a Webhookwrite
Calls4
  • outreach.calls.createCreate a New Callwrite
  • outreach.calls.deleteDelete an Existing Call by IDdestructive
  • outreach.calls.getGet a Call by IDread
  • outreach.calls.listGet a Collection of Callsread
Content category memberships4
  • outreach.content_category_memberships.createCreate a New Content Category Membershipwrite
  • outreach.content_category_memberships.deleteDelete an Existing Content Category Membership by IDdestructive
  • outreach.content_category_memberships.getGet a Content Category Membership by IDread
  • outreach.content_category_memberships.listGet a Collection of Content Category Membershipsread
Favorites4
  • outreach.favorites.createCreate a New Favoritewrite
  • outreach.favorites.deleteDelete an Existing Favorite by IDdestructive
  • outreach.favorites.getGet a Favorite by IDread
  • outreach.favorites.listGet a Collection of Favoritesread
Sequence steps4
  • outreach.sequence_steps.createCreate a New Sequence Stepwrite
  • outreach.sequence_steps.getGet a Sequence Step by IDread
  • outreach.sequence_steps.listGet a Collection of Sequence Stepsread
  • outreach.sequence_steps.updateUpdate a Sequence Stepwrite
Users4
  • outreach.users.createCreate a New Userwrite
  • outreach.users.getGet a User by IDread
  • outreach.users.listGet a Collection of Usersread
  • outreach.users.updateUpdate a Userwrite
Compliance requests3
  • outreach.compliance_requests.createCreate a New Compliance Requestwrite
  • outreach.compliance_requests.getGet a Compliance Request by IDread
  • outreach.compliance_requests.listGet a Collection of Compliance Requestsread
Content category ownerships3
  • outreach.content_category_ownerships.createCreate a New Content Category Ownershipwrite
  • outreach.content_category_ownerships.deleteDelete an Existing Content Category Ownership by IDdestructive
  • outreach.content_category_ownerships.listGet a Collection of Content Category Ownershipsread
Mailings3
  • outreach.mailings.createCreate a New Mailingwrite
  • outreach.mailings.getGet a Mailing by IDread
  • outreach.mailings.listGet a Collection of Mailingsread
Batch items2
  • outreach.batch_items.getGet a Batch Item by IDread
  • outreach.batch_items.listGet a Collection of Batch Itemsread
Events2
  • outreach.events.getGet an Event by IDread
  • outreach.events.listGet a Collection of Eventsread
Kaia recordings2
  • outreach.kaia_recordings.getGet a Kaia Recording by IDread
  • outreach.kaia_recordings.listGet a Collection of Kaia Recordingsread
Mail aliases2
  • outreach.mail_aliases.getGet a Mail Alias by IDread
  • outreach.mail_aliases.listGet a Collection of Mail Aliasesread
Org settings2
  • outreach.org_settings.getGet an Org Setting by IDread
  • outreach.org_settings.updateUpdate an Org Settingwrite
Task priorities2
  • outreach.task_priorities.getGet a Task Priority by IDread
  • outreach.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.