# ZoomInfo Integration (BYOK)

_Integrations_

Connect your own ZoomInfo seat to enrich CRMown contacts and companies with ZoomInfo's B2B database — verified direct dials, titles, org charts, and firmographics. Bring Your Own Key (BYOK) only: each org uses its own ZoomInfo API credentials. The platform never holds a ZoomInfo key — redistribution of ZoomInfo data violates their ToS.

## Steps
1. Prerequisites: (1) a paid ZoomInfo subscription with the API add-on (sold separately — contact your ZoomInfo rep), (2) admin access to your ZoomInfo account, (3) CRMown OWNER or ADMIN role.
2. In ZoomInfo, go to Admin Portal > API > PKI Authentication. Click "Generate Key Pair." ZoomInfo creates an RSA key pair — you'll download the private key PEM file (this is the only time it's shown).
3. Copy three values: your Client ID (shown on the PKI page), your API Username (the one tied to the key pair), and the full contents of the private key PEM file (including the -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- lines).
4. In CRMown, go to Settings > Integrations. Find the "ZoomInfo" card under Service Integrations.
5. Paste the Client ID, Username, and full Private Key PEM into the three fields. Click "Connect & Verify."
6. CRMown signs a test JWT, calls ZoomInfo's /authenticate endpoint, and verifies the response. If the key is valid, you'll see a green confirmation; the private key is encrypted at rest (AES-256) before being stored.
7. Go to Settings > AI Usage (or Contacts page, depending on where the selector lives) and set Enrichment Provider to "ZoomInfo." Any enrichment — automatic on new contacts, or Bulk Enrich from Contacts — now calls ZoomInfo instead of the platform providers.
8. Test it: open any contact with an email, click "Enrich," and watch for ZoomInfo-sourced fields (direct phone, job title, company data).

## Tips
- Rate limits are enforced by ZoomInfo on your account, not by CRMown. If you hit their daily or burst limit, CRMown surfaces a clear "ZoomInfo rate limit reached" message and you can retry later or check your ZoomInfo API quota.
- ZoomInfo replaces Hunter/Apollo when selected — it does not fall back. If ZoomInfo returns no match for a contact, CRMown's AI fallback still fills gaps with conservative inferences.
- Your ZoomInfo subscription pricing is based on your seat count, not CRMown's usage. Enriching heavily in CRMown does not increase your ZoomInfo bill — but it does consume your account's daily API quota.
- If you rotate your PKI key pair in ZoomInfo, come back to the ZoomInfo card in CRMown and click "Replace" to paste the new private key. Old cached tokens are discarded immediately.

## Example
An enterprise SDR team has a $30K/yr ZoomInfo Advanced subscription. They connect it to CRMown via PKI; new contacts now enrich with verified direct dials, accurate titles, and full firmographics from ZoomInfo's database — not the AI-fallback inference. Their dial-to-connect rate jumps from 4% to 11% because they're calling actual desk lines.
