ZoomInfo
ZoomInfo is a B2B sales intelligence and go-to-market platform that provides accurate contact and company data, intent signals, news, and Scoops (sales triggers) used by sales, marketing, and recruiting teams.
The Webrix ZoomInfo connector exposes ZoomInfo's GTM Data API as MCP tools — letting your AI assistants search and enrich contacts and companies, surface buying intent, monitor news and Scoops, and look up reference data (industries, departments, management levels, intent topics, etc.) directly from chat or your agentic workflows.
Authentication Types
ZoomInfo's GTM Data API uses OAuth 2.0 issued by Okta. Two flows are supported:
- OAuth (recommended) — Authorization Code Flow with PKCE. Webrix handles the full OAuth dance and refreshes your access token automatically.
- Pros: One-time setup, automatic refresh, no manual token rotation.
- Cons: Requires creating an app in the ZoomInfo Developer Portal.
- API Key (Bearer Token) — Paste a short-lived access token generated manually in the Developer Portal.
- Pros: Fastest way to test the integration.
- Cons: Tokens expire after 60 minutes and must be regenerated by hand.
Use OAuth for any production / unattended use. Reserve the API Key flow for quick experiments.
Prerequisites
Before you can connect either way you need:
- An active ZoomInfo subscription that includes the Enterprise API or Copilot package.
- The DevPortal subscription assigned to your ZoomInfo user (an admin can do this from the Admin Portal → Manage → Users).
- Access to the ZoomInfo Developer Portal (Admin Portal → waffle menu → DevPortal).
Option A: OAuth (Authorization Code + PKCE)
1. Create an app in the Developer Portal
- Open the ZoomInfo Developer Portal and sign in.
- Click Create App.
- Choose For internal use only as the app type.
- Give the app a name (e.g. "Webrix MCP") and optionally a logo.
- Under Sign-in redirect URIs, paste the redirect URL Webrix shows you in the wizard (it looks like
https://app.webrix.ai/oauth/callback). - Under Access Scopes, select the scopes you need. The connector requests:
api:data:contactapi:data:companyapi:data:intentapi:data:newsapi:data:scoopsapi:data:lookup
- Click Create.
2. Copy your credentials
On the app's detail page, copy the Client ID and Client Secret.
3. Connect in Webrix
- In Webrix, go to Integrations → New → Built-in.
- Select ZoomInfo and click Use.
- Under Authentication Type, select OAuth.
- Paste the Client ID and Client Secret from step 2.
- Click Connect — you'll be redirected to ZoomInfo to grant access, then back to Webrix.
Webrix stores the refresh token securely and uses it to obtain a fresh access token whenever the current one expires.
Option B: API Key (manual access token)
Use this for quick tests only — tokens are valid for 60 minutes.
- In the Developer Portal, open your app.
- Click Generate Access Token.
- Select the scopes you want the token to cover (e.g.
api:data:contact,api:data:company,api:data:lookup). - Copy the issued access token.
- In Webrix, go to Integrations → New → Built-in → ZoomInfo → Use.
- Under Authentication Type, select API Key.
- Paste the access token and click Save Changes → Connect.
Treat the access token like a password. Anyone with the token can call the ZoomInfo API as your app for the next 60 minutes. Regenerate a new token before the current one expires.
Available Tools
The connector ships with the following tools, all targeting the GTM Data API (https://api.zoominfo.com/gtm/data/v1/...):
- Contacts —
Search Contacts,Enrich Contact(up to 25 contacts per enrich call). - Companies —
Search Companies,Enrich Company(up to 25 companies per enrich call). - Intent —
Search Intent Signals(across all companies, requires at least one topic),Enrich Intent(signals for a single company). - News —
Search News. - Scoops —
Search Scoops,Enrich Scoops. - Reference data —
Lookup Reference Data(industries, management levels, departments, intent topics, scoop types, news categories, metro regions, tech vendors/products, and more).
Credits
Search calls are free. Enrich calls (Contact / Company / Intent / Scoops) consume 1 credit per successfully enriched record. Re-enriching the same record within 12 months is free.
Troubleshooting
401 Unauthorized
Requests fail with 401 Unauthorized.
Cause: Token is missing, invalid, expired, or doesn't carry the required scope.
Solution:
- If you're on the API Key flow: tokens last 60 minutes — generate a fresh one in the Developer Portal.
- If you're on OAuth: click Reconnect in Webrix to refresh the grant.
- Confirm the app in the Developer Portal has the scope the failing tool needs (e.g.
api:data:intentfor intent tools).
403 Forbidden / Insufficient Privileges
A specific tool returns 403 even though other tools work.
Cause: Your ZoomInfo subscription doesn't include that API (e.g. Intent, Scoops, or News are sold separately), or the app's scopes don't cover it.
Solution:
- Confirm with your ZoomInfo account manager which APIs your contract covers.
- Re-create / edit the app in the Developer Portal and add the required scope, then reconnect in Webrix.
- Disable the tools you aren't entitled to in the Webrix integration settings to avoid noisy errors.
429 Too Many Requests
Bulk enrichment calls fail with 429.
Cause: ZoomInfo enforces per-credit and per-second rate limits. Bulk enrich endpoints are capped at 25 records per call.
Solution:
- Make sure each
Enrich Contact/Enrich Companycall sends at most 25 records. - Add a small delay between successive calls.
"Out of Credits" responses
You receive creditsRemaining: 0 or a quota error.
Cause: Your ZoomInfo subscription has a fixed credit pool that resets each billing period. Each contact/company/intent/scoop enriched consumes one credit (free on re-enrich within 12 months).
Solution:
- Tighten your search filters to enrich fewer (more relevant) records per query.
- Re-enrich existing records (free) instead of pulling new ones.
- Contact your ZoomInfo account manager to increase your credit allotment.
Searching with Industry / Management Level / Department / Intent Topic codes
Filters that take "codes" return zero results when you use the human-readable label.
Cause: ZoomInfo expects canonical IDs/codes for these filters, not free-text labels.
Solution:
- Call Lookup Reference Data with the appropriate
fieldName(e.g.industries,management-levels,departments,intent-topics,scoop-types,news-categories). - Use the IDs from the response when constructing your search.