Sales Intelligence · Beta
ZoomInfo
API integration
Ship Sales Intelligence features without building the integration. Full ZoomInfo API access via Proxy and 10+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with ZoomInfo
Common scenarios for SaaS companies building ZoomInfo integrations for their customers.
Automate inbound lead enrichment and routing
RevOps and lead routing platforms can enrich inbound leads with firmographic, contact, and technographic data from ZoomInfo to score and assign them to the right rep in real time, eliminating manual research and lead leakage.
Power signal-based outbound sequences
Sales engagement platforms can listen to ZoomInfo intent signals and scoops (funding rounds, leadership changes) to automatically trigger targeted outreach the moment a target account enters a buying cycle.
Keep CRM and marketing records continuously fresh
CRM and marketing automation tools can run scheduled jobs against ZoomInfo to refresh job titles, phone numbers, and company revenue, catching role changes and preventing database decay for their customers.
Build in-app prospecting experiences
Sales tools can embed a native 'Find Prospects' workflow that lets users search ZoomInfo contacts and companies, then import them directly into sequences, lists, or campaigns without leaving the product.
Enable account-based targeting and org mapping
ABM and enterprise sales platforms can use corporate hierarchies, org charts, and company hashtags to build precise target account lists and help AEs multithread deals across subsidiaries and departments.
What You Can Build
Ship these features with Truto + ZoomInfo
Concrete product features your team can ship faster by leveraging Truto’s ZoomInfo integration instead of building from scratch.
Real-time form enrichment
Call contact and company enrichment the moment a lead submits a form, replacing long form fields with a single email input while capturing full firmographic context.
Intent-triggered outreach workflows
Poll intent topics on a schedule and automatically kick off outbound sequences when target accounts spike on buyer-intent signals above a defined score.
Competitive displacement campaigns
Use technographic enrichment to identify accounts running a specific competitor's software and auto-enroll them into tailored switch campaigns.
Scoop-based deal alerts
Surface funding events, hiring moves, and leadership changes from scoops as in-app notifications or Slack alerts tied to a user's target account list.
Enterprise org chart explorer
Render ZoomInfo org charts and corporate hierarchies inside your app so AEs can map buying committees and navigate parent/subsidiary structures visually.
Scheduled CRM data hygiene jobs
Run nightly bulk enrichment across stale contacts and companies to update titles, direct dials, and revenue, flagging records where the contact has moved on.
SuperAI
ZoomInfo AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_zoom_info_contacts
Search ZoomInfo contacts by criteria such as companyName, firstName, lastName or personId, sent in the JSON request body (data). Returns id, type and attributes (company, names, jobTitle, contactAccuracyScore, hasEmail-style hints); no emails or phone numbers. Up to 100 per page; paging stops at page 100.
zoom_info_contacts_enrich
Enrich up to 25 ZoomInfo contacts per request using matchPersonInput (personId or name/company details) and outputFields. Returns: id, type, attributes, meta. NO_MATCH results incur no credit; every enriched record counts against the Record Limit. Required: data.
list_all_zoom_info_companies
Search ZoomInfo companies by criteria such as companyName, metroRegion or industryCodes, sent in the JSON request body (data). Returns id, type and attributes with basic info only; use companies.enrich for full details. Up to 100 per page; paging stops at page 100.
zoom_info_companies_enrich
Enrich up to 25 ZoomInfo company records per call, matching on companyId, companyWebsite, or other company attributes (ipAddress must be the sole input for a record). Returns per record: id, type, meta.matchStatus, and attributes carrying the requested outputFields such as name, website, revenue, and socialMediaUrls. Required: data.
list_all_zoom_info_lookup_values
List the allowed values of one ZoomInfo lookup field, such as countries, industries or management levels. Returns: id, type, attributes. Required: field_name. Omitting field_name sends an invalid path and ZoomInfo returns an error.
list_all_zoom_info_search_fields
List the ZoomInfo search fields available for an entity, filtered by entity and field type, with whether the account has access to each. Returns: id, type, attributes. Required: filter (filter[entity], filter[fieldType]).
list_all_zoom_info_enrich_fields
List ZoomInfo enrich input or output fields for an entity, with whether the account has access to each. Returns: id, type, attributes. Required: filter (filter[entity], filter[fieldType]).
list_all_zoom_info_usage_limits
Get the current user's ZoomInfo API usage and limits. Returns: id, type, attributes. Takes no parameters.
list_all_zoom_info_intents
Search ZoomInfo Intent Signals across all companies that match the given search criteria. Returns: id, type, attributes. Required: data containing attributes.topics (1–50 intent topics per request). Needs api:data:intent enabled on the ZoomInfo OAuth app and in the package, else 403 (ZI0002/ZI0003). Intent SKU required. No credits consumed; each Intent Signal returned counts as a Record and a successful response counts as a Request credit.
zoom_info_intents_enrich
Fetch Intent Signals for a single company in ZoomInfo, enriching it with buyer intent data. Returns intent records with type, id, and attributes including topic, signalScore, audienceStrength, signalDate, and recommendedContacts. Required: data. In data.attributes send topics (1-50) and at least one company identifier (companyId, companyName or companyWebsite). Needs api:data:intent enabled on the ZoomInfo OAuth app and in the package, else 403 (ZI0002/ZI0003). Intent SKU required. Charges a single credit for the enriched company (no credit if it is already under management); each Intent Signal returned counts as a Record, and each successful response counts as a Request. Results are paged (page.number, page.size); Truto does not auto-paginate enrich calls and returns only the data array. Request the next page.number until a page returns fewer than page.size records (REST /proxy callers can also add truto_response_format=raw to read meta.page.total, the total page count).
list_all_zoom_info_news
Search ZoomInfo news articles by criteria such as categories and a publish-date range. Returns: id, type, attributes. At least one search criterion must be set. Required: data (with type and search attributes). Needs api:data:news enabled on the ZoomInfo OAuth app and in the package, else 403 (ZI0002/ZI0003). No credits consumed; each news article returned counts towards the Record Limit.
zoom_info_news_enrich
Enrich a specified ZoomInfo company with relevant news articles. Returns news article records with id, type, and attributes including title, url, pageDate, and categories. Required: data. In data.attributes send companyId (ZoomInfo's text also names companyName and companyWebsite, but its request schema declares only companyId). Needs api:data:news enabled on the ZoomInfo OAuth app and in the package, else 403 (ZI0002/ZI0003). A credit is counted for the enriched company (not per article); each article returned counts towards the Record Limit. Results are paged (page.number, page.size); Truto does not auto-paginate enrich calls and returns only the data array. Request the next page.number until a page returns fewer than page.size records (REST /proxy callers can also add truto_response_format=raw to read meta.page.total, the total page count).
list_all_zoom_info_scoops
Search ZoomInfo Scoops across all companies by criteria like scoopType, publishedStartDate, and updatedSinceCreation. Returns Scoop records (type, id, attributes) with company, description, originalPublishedDate, publishedDate, types, topics. Required: data (search criteria go in data.attributes). Sort defaults to -originalPublishedDate. Needs api:data:scoops enabled on the ZoomInfo OAuth app and in the package, else 403 (ZI0002/ZI0003). No credits consumed; each Scoop returned counts towards the Record Limit.
zoom_info_scoops_enrich
Enrich a ZoomInfo company with relevant Scoops (news items). Returns Scoop records with type, id, and attributes including company, description, and published dates. Required: data. In data.attributes send one company identifier (companyId, companyName or companyWebsite). Needs api:data:scoops enabled on the ZoomInfo OAuth app and in the package, else 403 (ZI0002/ZI0003). A credit is counted for the enriched company (not per Scoop); each Scoop returned counts towards the Record Limit. Results are paged (page.number, page.size); Truto does not auto-paginate enrich calls and returns only the data array. Request the next page.number until a page returns fewer than page.size records (REST /proxy callers can also add truto_response_format=raw to read meta.page.total, the total page count).
zoom_info_corporate_hierarchies_enrich
Enrich the corporate hierarchy of up to 25 ZoomInfo companies per request; the data envelope carries matchCompanyInput and outputFields (type CorporateHierarchyEnrich). Returns records with id, type, attributes (companyId, familyTree), meta (matchStatus, input); NoMatch when nothing matches. Required: data. Needs OAuth scope api:data:company. Each record returned charges a credit unless already under management; NoMatch or error responses are not charged.
zoom_info_org_charts_enrich
Enrich a ZoomInfo company's org chart and return its contacts organized by department and seniority tier. Returns the org chart records including id, title, department, orgChartTier, and companyName. Required: data. In data.attributes send companyId and department (ZoomInfo requires at least one department). Needs OAuth scope api:data:contact. A credit is counted for the enriched company, when applicable. Counts one Record per successful request, regardless of how many contacts are returned. Results are paged (page.number, page.size); Truto does not auto-paginate enrich calls and returns only the data array. Request the next page.number until a page returns fewer than page.size records (REST /proxy callers can also add truto_response_format=raw to read meta.page.total, the total page count).
zoom_info_company_technologies_enrich
Enrich Technologies for a matched ZoomInfo company, returning the list of technologies that company uses, identified from company websites, job postings, and data partnerships. Returns: id, type, attributes. Required: data (data.type and data.attributes). companyId in data.attributes is the only input, one company per request. Needs OAuth scope api:data:company. Charges a single credit for the enriched company.
zoom_info_company_hashtags_enrich
Enrich a ZoomInfo company with its hashtags: predefined categorical labels that classify companies for filtering and segmentation. Returns matching hashtag records with id, type, and attributes (label, group, description, parentCategory, priority). Required: data (data.type and data.attributes). companyId in data.attributes is the only input, one company per request. Needs OAuth scope api:data:company. Charges a single credit for the enriched company (no credit if it is already under management).
Why Truto
Why use Truto’s MCP server for ZoomInfo
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with ZoomInfo in under an hour. No boilerplate, no maintenance burden.
Link your customer’s ZoomInfo account
Use Truto’s frontend SDK to connect your customer’s ZoomInfo account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call ZoomInfo
Truto’s Proxy API is a 1-to-1 mapping of the ZoomInfo API. You call us, we call ZoomInfo, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate ZoomInfo’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about ZoomInfo on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication to ZoomInfo work through Truto?
Truto handles the ZoomInfo authentication flow and token lifecycle on behalf of your end users, so you don't need to manage credential storage, refresh logic, or per-tenant auth state in your own backend.
Which ZoomInfo objects can I access via Truto today?
Truto exposes tools for contacts, companies, intents, news, scoops, corporate hierarchies, org charts, company technologies, and company hashtags, along with helper endpoints for lookup values, search fields, enrich fields, and usage limits.
Can I both search for and enrich records?
Yes. List endpoints (e.g. list_all_zoom_info_contacts, list_all_zoom_info_companies, list_all_zoom_info_intents) let you search and discover records, while the matching enrich endpoints return full detailed profiles for a given identifier.
How do I stay within ZoomInfo's API usage limits?
Truto exposes list_all_zoom_info_usage_limits so your application can programmatically check remaining quota per customer and throttle or queue enrichment jobs accordingly before hitting hard limits.
How do I know which fields are available for search and enrichment?
Use list_all_zoom_info_search_fields and list_all_zoom_info_enrich_fields to dynamically discover supported fields, and list_all_zoom_info_lookup_values to fetch valid picklist values — useful for building dynamic filter UIs that stay in sync with ZoomInfo's schema.
How fresh is the data returned from ZoomInfo?
Truto calls ZoomInfo's APIs in real time, so every enrich or list request returns the latest data ZoomInfo has on file — there's no intermediate cache sitting between your app and the source.
Does my end user need their own ZoomInfo subscription?
Yes. ZoomInfo access is licensed per customer, so each of your end users connects their own ZoomInfo account through Truto's auth flow, and API usage is billed against their contract.
ZoomInfo
Get ZoomInfo integrated into your app
Our team understands what it takes to make a ZoomInfo integration successful. A short, crisp 30 minute call with folks who understand the problem.