Guide

Connect Instantly, Smartlead, and HubSpot

Once a batch is verified, send it straight into a campaign or your CRM — no CSV round-trip. Here's where to get each platform's key and how to plug it in.

All three connect the same way: you paste a key from that platform into Developers in FindLeadEmails, under Integrations. We check the key against the platform’s own API before saving it — so a bad paste is caught immediately, not on your next export — then encrypt it at rest. You can disconnect any time from the same panel; nothing is sent to that platform once you do.

Instantly

Instantly’s current API is v2 — if you generated a key before early 2026, generate a fresh one; the old v1 keys stopped working when v1 was retired.

  1. In Instantly, go to Settings → Integrations → API (or open app.instantly.ai/app/settings/integrations directly).
  2. Create a new key. Give it a name you’ll recognize later, like “FindLeadEmails.”
  3. Instantly v2 keys have scopes — this integration needs to read your campaigns and create leads, so grant at least those (or all scopes, if you’d rather not manage it per-key).
  4. Copy the key and paste it into the Instantly row under Developers → Integrations in FindLeadEmails.

Exporting to Instantly always sends into one campaign you pick at export time. A lead already in that campaign is skipped rather than duplicated — that’s Instantly’s own behavior, not something you need to check for yourself first.

Smartlead

  1. In Smartlead, open your profile menu and go to Settings → API Key Management.
  2. Click Create API Key (this needs to be a plan with API access — check with Smartlead if you don’t see the option).
  3. Copy the key immediately — Smartlead only shows it once. If you lose it, you’ll need to create a new one.
  4. Paste it into the Smartlead row under Developers → Integrations in FindLeadEmails.

Like Instantly, a Smartlead export always sends into one campaign you choose. Smartlead handles duplicates on its own side; its response tells us how many were skipped, but not exactly why (already there, blocked, or unsubscribed all roll up together) — so a skipped count doesn’t necessarily mean a duplicate specifically.

HubSpot

HubSpot calls this credential a service key — not an API key — and it’s a newer, simpler way to connect a tool to your portal without building a full private app.

  1. In HubSpot, go to Settings → Integrations → Service Keys (or from the main sidebar, Development → Keys → Service Keys).
  2. Create a new service key.
  3. Grant it these scopes: crm.objects.contacts.read, crm.objects.contacts.write, crm.lists.read, and crm.lists.write. The first two let us create or update contacts; the list scopes are only needed if you plan to add contacts to a segment.
  4. Copy the key and paste it into the HubSpot row under Developers → Integrations in FindLeadEmails.

HubSpot works differently from the other two: there is no campaign to pick. Each lead is created or updated as a HubSpot contact by email — an existing contact is just updated, never duplicated — and adding it to a segment (what HubSpot’s product now calls a list) is optional. Leave the segment picker on “No segment” to just land the contacts in HubSpot with nothing else, or pick one to also add every successfully-created contact to it. Only manually-managed segments accept this — one that filters itself automatically won’t appear in the picker, since it wouldn’t accept an add.

Exporting a batch

Once a platform is connected, open a finished batch and use Export to… on it, or start one from scratch on the Exports page. By default only verified addresses are sent — turn on “also include catch-all and predicted” if you want those unconfirmed ones too. Large batches run in the background, so it’s safe to close the page; the Exports log shows progress and the final count either way.

What actually gets exported

By default, verified mailboxes only. That is the setting you want on a warming domain. Catch-all and predicted exist as an opt-in for research lists, not for the first send from a new inbox.

Large batches run in the background on Exports. Closing the tab is fine. Failures (revoked Instantly key, HubSpot scope missing) show on the job, not as a silent skip of the whole file.

Instantly-specific sharp edges

  • v1 API keys are dead. If the connection test fails on a key you generated in 2024, make a v2 key.
  • Duplicate leads in the same campaign are skipped by Instantly. Duplicate leads in another campaign are Instantly's problem to configure, not ours.
  • Pick the campaign at export time. We do not invent a default campaign.

Smartlead-specific sharp edges

  • API access is plan-gated on their side. If you cannot create a key, that is a Smartlead billing issue.
  • Their skip counts are lumped. Do not assume skipped = duplicate.

HubSpot-specific sharp edges

  • Service key, not a legacy API key, not OAuth in this integration.
  • Missing crm.objects.contacts.write looks like "connected" until the first create fails.
  • Auto-filtered lists will not appear in the segment picker. Use a static list.

A sane order of operations

  1. Verify the batch in FindLeadEmails (or find via Clay / webhook).
  2. Connect the destination key; wait for the green test.
  3. Export verified only into a warmup campaign first.
  4. Watch bounces in the sequencer. If they spike, the list was not as verified as you thought — read statuses again.

Related

Integrations hub, Instantly, Smartlead, HubSpot.

Connect a sequencer

Export a verified batch straight into Instantly, Smartlead or HubSpot. The key lives in that platform; we never see your campaign.

Connect from the dashboard

Related