Connectors · CRM & sales
ZoomInfo MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to ZoomInfo and the rest of your systems. It gives your agent 102 ZoomInfo actions (55 reads, 33 writes and 14 that wait for a confirmation) and holds the ZoomInfo credential itself, so the agent never does. It paces ZoomInfo's limits and records every call.
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: "zoominfo.competitors.list", intent: "check which ZoomInfo account is connected"}# List Customer Competitors (ZoomInfo) · read · 1 upstream call- 102actionsin one signed file
- 55readlook, never change
- 33writecreate and update
- 14wait for a yesdestructive, confirmed first
Set up
Connect ZoomInfo 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 ZoomInfo.
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.
client_idZoomInfo application client ID (Developer Portal or GTM.ai > Developer > Apps; the app must use the Client…client_secretZoomInfo application client secret
account { op: "connections.requirements", service: "zoominfo" } # 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: "zoominfo.competitors.list" }# list customer competitors (zoominfo) · read · 1 upstream callcheck { action: "zoominfo.competitors.delete", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
ZoomInfo at a glance
- Sign-in
- OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
- You provide
client_idclient_secret- Limits we pace to
- 5 calls a second, per connection
- API covered
- ZoomInfo GTM API API v1
api.zoominfo.com/gtm - Built from
- ZoomInfo's documentation, read 20 September 2026docs.zoominfo.comdocs.zoominfo.comdocs.zoominfo.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 55 of 55 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 9 in the store
- Shared entities
- 3, so ask can line ZoomInfo up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in ZoomInfo.
102 actions in 6 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 55readlook, never change
- 33writecreate and update
- 14destructivewait for a confirmation
Copilot
3315 read · 13 write · 5 destructive
List Customer Competitors (ZoomInfo) · Get Account Summary (ZoomInfo) · Get Customer Competitor by ID (ZoomInfo) · Delete Customer Competitor (ZoomInfo)
GTM studio
239 read · 10 write · 4 destructive
List Audiences (ZoomInfo) · Create New Audience (ZoomInfo) · Upsert Column Match Criteria (ZoomInfo) · Fetch Audience (ZoomInfo)
Data
1818 read · 0 write · 0 destructive
Search Contacts (ZoomInfo) · Search Companies (ZoomInfo) · Enrich Contacts (ZoomInfo) · Enrich Org Charts (ZoomInfo)
Data quality
189 read · 6 write · 3 destructive
List Segment Configs (ZoomInfo) · List Score Configs (ZoomInfo) · Create Score Config (ZoomInfo) · Create Segment Config (ZoomInfo)
Marketing
73 read · 3 write · 1 destructive
Lists all audiences (ZoomInfo) · Creates a new audience (ZoomInfo) · Gets existing audience by ID (ZoomInfo) · Updates audience by ID (ZoomInfo)
Platform
31 read · 1 write · 1 destructive
Get content interaction (ZoomInfo) · Delete content interaction (ZoomInfo) · Upsert Content Interactions (ZoomInfo)
Top actions
The ZoomInfo API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 65 of ZoomInfo's 65 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
zoominfo.contacts.searchSearch Contacts (ZoomInfo) | Returns a list of Contacts from ZoomInfo's data that meet the specified search criteria. Paged by the engine through page[number]/page[size]; pass `limit`… | read | crm.contact.search46 connectors |
zoominfo.companies.searchSearch Companies (ZoomInfo) | Returns a list of Companies from ZoomInfo's data that meet the specified search criteria. Paged by the engine through page[number]/page[size]; pass `limit`… | read | crm.company.search36 connectors |
zoominfo.competitors.listList Customer Competitors (ZoomInfo) | Returns the list of Customer Competitors configured for the authenticated customer. | read | crm.company.list162 connectors |
zoominfo.contacts.enrichEnrich Contacts (ZoomInfo) | Enrich Contacts can be used to retrieve detailed information about up to 25 individual contact records. Each record enriched for the first time in a rolling… | read | crm.contact.query10 connectors |
zoominfo.audiences.listList Audiences (ZoomInfo) | Search and browse all GTM Studio audiences. The vendor pages this list with page[number]/page[size] but reports only a total row count, so page by hand with… | read | comm.audience.list26 connectors |
zoominfo.competitors.deleteDelete Customer Competitor (ZoomInfo) | Permanently deletes a Customer Competitor identified by `competitorId`. | destructive | crm.company.delete119 connectors |
zoominfo.lookup.enrich_fieldsLookup Enrich Fields (ZoomInfo) | Returns lookup enrich fields based on entity and field type filters. | read | analytics.dataset_field.list7 connectors |
zoominfo.lookup.search_fieldsLookup Search Fields (ZoomInfo) | Returns lookup search fields based on entity and field type filters. | read | analytics.dataset_field.list7 connectors |
zoominfo.buyer_personas.listList Customer Buyer Personas (ZoomInfo) | Returns the list of Customer Buyer Personas configured for the authenticated customer. | read | analytics.segment.list17 connectors |
zoominfo.audiences.createCreate New Audience (ZoomInfo) | Create a named working list of people (`CONTACT`) or companies (`COMPANY`) to drive a GTM motion — campaign targeting, enrichment runs, outbound sequences, or… | write | comm.audience.create24 connectors |
zoominfo.marketing_audiences.createCreates a new audience (ZoomInfo) | Creates a new audience. | write | comm.audience.create24 connectors |
zoominfo.score_configs.createCreate Score Config (ZoomInfo) | Creates a new score configuration. | write | analytics.metric_definition.create10 connectors |
Try it
Prompts to paste into Claude.
Each one names the ZoomInfo actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Find the ZoomInfo contacts with no email address, so we can clean them up.
calls
zoominfo.contacts.search - Planwrite
Build an audience from a contact search and enrich it in ZoomInfo.
calls
zoominfo.folders.createzoominfo.contacts.searchzoominfo.audiences.createzoominfo.audience_rows.bulk_upsertzoominfo.audiences.enrich+2 more - Planread
Watch accounts running a competitor for displacement openings in ZoomInfo.
calls
zoominfo.competitors.listzoominfo.companies.searchzoominfo.technologies.enrichzoominfo.scoops.searchzoominfo.account_summary.ask+1 more - Writewrite
Create New Audience (ZoomInfo) in ZoomInfo. Show me exactly what you will send before you save it.
calls
zoominfo.audiences.create
The plan store
Ready-made plans for ZoomInfo.
9 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Triage intent surges into an enriched account brief
Use it when A rep or agent wants this week's intent surges turned into account briefs with news and scoops attached.
Watch accounts running a competitor for displacement openings
Use it when A team wants a recurring read on which accounts using a competitor look ready to be displaced.
Expand an ICP segment with lookalike companies
Use it when An agent needs a fresh list of companies resembling an existing ideal customer profile or seed account.
Map a buying committee for a target account
Use it when A seller needs the buying committee at a named account mapped out before outreach.
Rerun scoring and segmentation for a config pair
Use it when Scores and segments need recomputing after a data load or a config change, and the results compared.
Prepare a data quality normalization config
Use it when A new ZoomInfo normalization config is being stood up and the field metadata should be checked first.
Build an audience from a contact search and enrich it
Use it when An agent needs a saved, enriched ZoomInfo audience built from a contact search rather than a one-off export.
Push an enriched audience to a marketing destination
Use it when An enriched ZoomInfo audience needs syncing to a marketing or advertising destination with human sign-off.
A person decides
Send the members of audience data to the marketing destination destination name.
Retire a stale audience after sign-off
Use it when Someone wants an obsolete ZoomInfo audience deleted and a human must sign off before the data goes.
A person decides
Permanently delete ZoomInfo audience data and every row in it.
account { op: "plans.install", slug: "zoominfo-intent-surge-triage" }
# then ask for it by name; a schedule can run it on a timetableGovernance for ZoomInfo
Destructive actions wait for a yes.
14 ZoomInfo actions are destructive. These are all of them:
- Delete Customer Competitor (ZoomInfo)
zoominfo.competitors.delete - Delete Audience (ZoomInfo)
zoominfo.audiences.delete - Deletes audience by ID (ZoomInfo)
zoominfo.marketing_audiences.delete - Delete Customer Buyer Persona (ZoomInfo)
zoominfo.buyer_personas.delete - Delete Segment Config (ZoomInfo)
zoominfo.segment_configs.delete - Delete Ideal Customer Profile (ZoomInfo)
zoominfo.ideal_customer_profiles.delete - Delete Score Config (ZoomInfo)
zoominfo.score_configs.delete - Delete Product or Service (ZoomInfo)
zoominfo.products.delete - Delete content interaction (ZoomInfo)
zoominfo.content_interactions.delete - Delete Specific Folder (ZoomInfo)
zoominfo.folders.delete - Delete Normalize Config (ZoomInfo)
zoominfo.normalize_configs.delete - Delete Rows (ZoomInfo)
zoominfo.audience_rows.bulk_delete - Delete Column (ZoomInfo)
zoominfo.audience_columns.delete - Delete Customer Settings (ZoomInfo)
zoominfo.customer_settings.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 Customer Competitor (ZoomInfo)?
intent: the user asked me to delete Customer Competitor (ZoomInfo)
account { op: "keys.create", name: "zoominfo-agent", allowed_actions: ["zoominfo.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "zoominfo.competitors.delete", approver: "[email protected]" }, { match: "zoominfo.audiences.delete", approver: "[email protected]" }, { match: "zoominfo.marketing_audiences.delete", approver: "[email protected]" } ]}Cost
What ZoomInfo costs on actionlake.
Every ZoomInfo action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call ZoomInfo 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 102 ZoomInfo actions
- 12actions pageeach page of a long list is one call
- 55reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every ZoomInfo action.
102 actions by area: the id your agent calls, what it does, and its effect.
Copilot33
zoominfo.account_summary.askAsk Account Summary Question (ZoomInfo)readzoominfo.account_summary.getGet Account Summary (ZoomInfo)readzoominfo.buyer_personas.archiveArchive Buyer Persona (ZoomInfo)writezoominfo.buyer_personas.deleteDelete Customer Buyer Persona (ZoomInfo)destructivezoominfo.buyer_personas.getGet Customer Buyer Persona (ZoomInfo)readzoominfo.buyer_personas.listList Customer Buyer Personas (ZoomInfo)readzoominfo.buyer_personas.unarchiveUnarchive Buyer Persona (ZoomInfo)writezoominfo.buyer_personas.upsertUpsert Customer Buyer Persona (ZoomInfo)writezoominfo.company_lookalikes.listFind Similar Companies (ZoomInfo)readzoominfo.competitors.archiveArchive Customer Competitor (ZoomInfo)writezoominfo.competitors.deleteDelete Customer Competitor (ZoomInfo)destructivezoominfo.competitors.getGet Customer Competitor by ID (ZoomInfo)readzoominfo.competitors.listList Customer Competitors (ZoomInfo)readzoominfo.competitors.unarchiveUnarchive Customer Competitor (ZoomInfo)writezoominfo.competitors.upsertUpsert Customer Competitor (ZoomInfo)writezoominfo.contact_lookalikes.listGet Contact Lookalikes (ZoomInfo)readzoominfo.contact_recommendations.listGet Contact Recommendations (ZoomInfo)readzoominfo.customer_settings.deleteDelete Customer Settings (ZoomInfo)destructivezoominfo.customer_settings.getGet Customer Settings (ZoomInfo)readzoominfo.customer_settings.upsertUpsert Customer Settings (ZoomInfo)writezoominfo.ideal_customer_profiles.archiveArchive ICP (ZoomInfo)writezoominfo.ideal_customer_profiles.deleteDelete Ideal Customer Profile (ZoomInfo)destructivezoominfo.ideal_customer_profiles.getGet an Ideal Customer Profile (ZoomInfo)readzoominfo.ideal_customer_profiles.listList Ideal Customer Profiles (ZoomInfo)readzoominfo.ideal_customer_profiles.unarchiveUnarchive ICP (ZoomInfo)writezoominfo.ideal_customer_profiles.upsertUpsert Ideal Customer Profile (ZoomInfo)writezoominfo.insights.queryGet insights by type (ZoomInfo)readzoominfo.products.archiveArchive Product or Service (ZoomInfo)writezoominfo.products.deleteDelete Product or Service (ZoomInfo)destructivezoominfo.products.getGet Product or Service (ZoomInfo)readzoominfo.products.listList Products or Services (ZoomInfo)readzoominfo.products.unarchiveUnarchive Product or Service (ZoomInfo)writezoominfo.products.upsertUpsert Product or Service (ZoomInfo)write
GTM studio23
zoominfo.audience_column_dependencies.getGet Column Data Dependencies (ZoomInfo)readzoominfo.audience_columns.createCreate New Columns (ZoomInfo)writezoominfo.audience_columns.deleteDelete Column (ZoomInfo)destructivezoominfo.audience_columns.updateUpdate Column (ZoomInfo)writezoominfo.audience_filter_metadata.getGet Audience Filter Metadata (ZoomInfo)readzoominfo.audience_jobs.getGet Job Status (ZoomInfo)readzoominfo.audience_match_criteria.upsertUpsert Column Match Criteria (ZoomInfo)writezoominfo.audience_rows.bulk_deleteDelete Rows (ZoomInfo)destructivezoominfo.audience_rows.bulk_upsertBulk Upsert Rows (ZoomInfo)writezoominfo.audience_rows.getGet Row by ID (ZoomInfo)readzoominfo.audience_rows.searchList Rows (ZoomInfo)readzoominfo.audience_rows.upsertUpsert Rows (ZoomInfo)writezoominfo.audiences.createCreate New Audience (ZoomInfo)writezoominfo.audiences.deleteDelete Audience (ZoomInfo)destructivezoominfo.audiences.enrichEnrich Audience (ZoomInfo)writezoominfo.audiences.getFetch Audience (ZoomInfo)readzoominfo.audiences.listList Audiences (ZoomInfo)readzoominfo.audiences.updateUpdate Audience (ZoomInfo)writezoominfo.folders.createCreate New Folder (ZoomInfo)writezoominfo.folders.deleteDelete Specific Folder (ZoomInfo)destructivezoominfo.folders.getGet Specific Folder (ZoomInfo)readzoominfo.folders.listList Folders (ZoomInfo)readzoominfo.folders.updateUpdate Folder (ZoomInfo)write
Data18
zoominfo.companies.enrichEnrich Companies (ZoomInfo)readzoominfo.companies.searchSearch Companies (ZoomInfo)readzoominfo.contacts.enrichEnrich Contacts (ZoomInfo)readzoominfo.contacts.searchSearch Contacts (ZoomInfo)readzoominfo.corporate_hierarchy.enrichEnrich Corporate Hierarchy (ZoomInfo)readzoominfo.hashtags.enrichEnrich Hashtags (ZoomInfo)readzoominfo.intent.enrichEnrich Intent (ZoomInfo)readzoominfo.intent.searchSearch Intent (ZoomInfo)readzoominfo.lookup.enrich_fieldsLookup Enrich Fields (ZoomInfo)readzoominfo.lookup.getLookup Data (ZoomInfo)readzoominfo.lookup.search_fieldsLookup Search Fields (ZoomInfo)readzoominfo.news.enrichEnrich News (ZoomInfo)readzoominfo.news.searchSearch News (ZoomInfo)readzoominfo.org_chart.enrichEnrich Org Charts (ZoomInfo)readzoominfo.scoops.enrichEnrich Scoops (ZoomInfo)readzoominfo.scoops.searchSearch Scoops (ZoomInfo)readzoominfo.technologies.enrichEnrich Technologies (ZoomInfo)readzoominfo.usage.getUsage Data (ZoomInfo)read
Data quality18
zoominfo.data_quality.preparePrepare Data Quality (ZoomInfo)readzoominfo.normalize_configs.createCreate Normalize Config (ZoomInfo)writezoominfo.normalize_configs.deleteDelete Normalize Config (ZoomInfo)destructivezoominfo.normalize_configs.getGet Normalize Config (ZoomInfo)readzoominfo.normalize_configs.listList Normalize Configs (ZoomInfo)readzoominfo.normalize_configs.updateUpdate Normalize Config (ZoomInfo)writezoominfo.score_configs.createCreate Score Config (ZoomInfo)writezoominfo.score_configs.deleteDelete Score Config (ZoomInfo)destructivezoominfo.score_configs.getGet Score Config (ZoomInfo)readzoominfo.score_configs.listList Score Configs (ZoomInfo)readzoominfo.score_configs.updateUpdate Score Config (ZoomInfo)writezoominfo.scoring.runRun Scoring (ZoomInfo)readzoominfo.segment_configs.createCreate Segment Config (ZoomInfo)writezoominfo.segment_configs.deleteDelete Segment Config (ZoomInfo)destructivezoominfo.segment_configs.getGet Segment Config (ZoomInfo)readzoominfo.segment_configs.listList Segment Configs (ZoomInfo)readzoominfo.segment_configs.updateUpdate Segment Config (ZoomInfo)writezoominfo.segmentation.runRun Segmentation (ZoomInfo)read
Marketing7
zoominfo.marketing_audience_uploads.createCreates new audience upload (ZoomInfo)writezoominfo.marketing_audience_uploads.getGets audience upload status (ZoomInfo)readzoominfo.marketing_audiences.createCreates a new audience (ZoomInfo)writezoominfo.marketing_audiences.deleteDeletes audience by ID (ZoomInfo)destructivezoominfo.marketing_audiences.getGets existing audience by ID (ZoomInfo)readzoominfo.marketing_audiences.listLists all audiences (ZoomInfo)readzoominfo.marketing_audiences.updateUpdates audience by ID (ZoomInfo)write
Platform3
zoominfo.content_interactions.deleteDelete content interaction (ZoomInfo)destructivezoominfo.content_interactions.getGet content interaction (ZoomInfo)readzoominfo.content_interactions.upsertUpsert Content Interactions (ZoomInfo)write
Questions
The ZoomInfo MCP server, answered.
Is there a ZoomInfo MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 102 ZoomInfo actions across copilot, GTM studio, data and data quality, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by ZoomInfo.
What do I need to connect ZoomInfo?
ZoomInfo application client ID (Developer Portal or GTM.ai > Developer > Apps; the app must use the Client… and ZoomInfo application client secret. The free call account { op: "connections.requirements", service: "zoominfo" } lists exactly what to paste.
Can an AI agent delete or change things in ZoomInfo?
Only if its key allows it, and only with an explicit confirmation. 14 ZoomInfo actions are destructive, including delete Customer Competitor (ZoomInfo), delete Audience (ZoomInfo) and deletes audience by ID (ZoomInfo). 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 ZoomInfo API limit?
actionlake paces every call to the limits in the ZoomInfo service file: 5 calls a second per connection. Repeated reads are answered from cache (55 ZoomInfo actions can be), which never reaches ZoomInfo.
What does a ZoomInfo action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (12 ZoomInfo actions page). Cache hits, searches, dry runs and calls ZoomInfo 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 ZoomInfo API does it cover?
The ZoomInfo GTM API API v1 at api.zoominfo.com/gtm. It is built from ZoomInfo's documentation as read on 20 September 2026. 102 actions in 6 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my ZoomInfo data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, 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 ZoomInfo 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 ZoomInfo today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.