ZoomInfo
Premium B2B data: enrich contacts/companies, search the database, and pull intent/scoop/news signals. BYOK-only on hyreflow. Key gotcha: enrich is capped at 25 records/call.
Reach for ZoomInfo when you need high-quality B2B enrichment at scale, net-new prospecting, or intent/scoop signals for prioritization, a premium alternative or complement to Apollo and the waterfall enrichers.
ZoomInfo is BYOK-only: it isn't resold on managed credits, and calls are free on hyreflow (you pay
ZoomInfo per record on your own account: user_usage, lookup, and all search_* calls are free on the
ZoomInfo side; enrich_* charges per matched record and failed/no-match lookups are NOT charged).
user_usage reads your own account's usage/credit balance. Connecting your own key needs the Essential plan or above.
Connect
ZoomInfo uses OAuth Client Credentials — a Client ID + Client Secret pair from a ZoomInfo DevPortal app:
- Open the ZoomInfo DevPortal and create (or pick) an app of type Client Credentials.
- Grant the scopes your calls need —
api:data:contact,api:data:company,api:insights:read, and so on. The token request sends no scope, so the app gets every scope it's granted. - Copy the app's Client ID and Client Secret.
- In hyreflow → Integrations, paste them into the ZoomInfo card's Client ID and Client Secret
fields and save. The key check runs a free
user_usageprobe against ZoomInfo.
Or from the CLI:
hyreflow byok set zoominfo --api-key <client-id> --field client_secret=<client-secret>Once connected, ZoomInfo runs first in the people-search and email/phone-enrichment waterfalls — a key the client holds jumps to the front (it's free for you on the hyreflow side).
Capabilities
Cost below is on your own ZoomInfo account (BYOK-only), hyreflow charges 0 credits for every ZoomInfo call.
| Tool | Does | Cost |
|---|---|---|
zoominfo_search_contacts | Search the contact database (filters under data.attributes) | Free |
zoominfo_search_companies | Search the company database | Free |
zoominfo_enrich_contacts | Enrich ≤ 25 contacts (matchPersonInput + outputFields) | 1 credit / matched record |
zoominfo_enrich_companies | Enrich ≤ 25 companies (matchCompanyInput + outputFields) | 1 credit / matched record |
zoominfo_enrich_intent | Intent signals for prioritization | Per returned signal |
zoominfo_enrich_scoops | Company scoops (signals) | Per returned scoop |
zoominfo_company_lookalikes | Similar companies | Metered |
zoominfo_lookup | Valid values for a search/enrich field | Free |
zoominfo_user_usage | API usage / credits balance on your own account | Free |
Guidance
- OAuth 2.0 client credentials: the adapter posts
grant_type=client_credentialswith HTTP Basicclient_id:client_secret, caches/refreshes the ~1h Bearer, and re-auths once on a 401. Noscopeis sent. - JSON:API bodies: data calls send
Content-Type/Accept: application/vnd.api+jsonwith{"data":{"type":"ContactEnrich","attributes":{…}}}—page[number]/page[size](1–100) andsortare query params on search. - Enrich is capped at 25 records/call and bills per matched record — pilot a 1-record enrich, then gate
bulk behind approval. Run
user_usageto check your own ZoomInfo account balance first. - Required filters on Copilot calls:
contact_lookalikesneedsfilter[referencePersonId],company_lookalikesneedsfilter[companyId]orfilter[companyName], andcontact_recommendationsneedsfilter[useCaseType]+filter[ziCompanyId].lookup(field_name)resolves valid field values. - Anything not listed above isn't wired to a typed method.
hyreflow tools execute zoominfo enrich_contacts \
--payload '{"payload":{"data":{"type":"ContactEnrich","attributes":{"matchPersonInput":[{"firstName":"Ada","lastName":"Lovelace","companyName":"Acme"}],"outputFields":["email","phone"]}}}}'Use search to discover net-new, enrich to resolve emails/phones/firmographics, then intent/scoops to prioritize before handing to sequencers or the ATS.