Copy page
HubSpot Lead Sync
Aktify can create leads directly from your HubSpot contacts based on their lifecycle stage. You connect your HubSpot account once, choose which lifecycle stage feeds each campaign, and from then on every contact that enters that stage is sent to Aktify automatically — no exports, no middleware, and no webhook URLs to configure on your side.
How it works
- You connect your HubSpot account to Aktify once, at the company level, using HubSpot's OAuth authorization flow — there's no API key to copy.
- For each campaign, you pick the HubSpot lifecycle stage that should feed it.
- Whenever a contact's lifecycle stage changes to that stage — via a HubSpot workflow, an import, or a manual change — HubSpot notifies Aktify immediately.
- Aktify fetches the contact's current details from HubSpot and creates the lead in the mapped campaign, then begins outreach according to that campaign's configuration.
Because Aktify fetches the contact at sync time, the lead reflects the contact's current field values, not a snapshot from earlier in its life.
Before you begin
You'll need:
- A HubSpot account and a user able to authorize app access to it.
- The Aktify campaign that should receive the leads.
- Aktify Portal access with an Admin or Editor role.
Step 1 — Connect your HubSpot account
This is done once per company.
- In the Aktify Portal, go to Settings → Integrations → HubSpot.
- In the Connection section, click Connect.
- You'll be redirected to HubSpot to sign in and authorize Aktify's access. Approve the request.
- You'll be returned to the Portal, where the connection now shows as connected.
Step 2 — Choose a lifecycle stage for the campaign
- Open the campaign and go to Settings → Integrations.
- Under Lead Ingestion, select HubSpot.
- Pick the lifecycle stage that should send contacts to this campaign, and save.
The stage list comes straight from your HubSpot account, so custom lifecycle stages work too.
A lifecycle stage can be mapped to only one campaign — stages already feeding another campaign don't appear in the picker. Different campaigns therefore need different stages.
Step 3 — Move contacts into the stage
Anything that sets a contact's lifecycle stage to the mapped value triggers the sync:
- A HubSpot workflow that sets the lifecycle stage — the usual choice, so your existing HubSpot automation decides when a contact goes to Aktify.
- A manual change on the contact record.
- An import or integration that updates the stage.
Make sure the contact's phone and state fields are filled in before it enters the stage.
What a contact needs to qualify
Each contact must have:
- A valid US phone number in the Phone number property.
- A recognizable US state in State/Region — a two-letter code or full state name (e.g.
CAorCalifornia). HubSpot's own derived state code also counts, so contacts HubSpot has already normalized usually qualify.
Contacts missing either are skipped.
- The phone number must be in the Phone number property. A number stored only in Mobile phone number is not read.
- Unlike other integrations, a Postal code alone is not enough — HubSpot contacts need a state.
To retry a skipped contact, fix its properties, then set the lifecycle stage to the mapped value again (you may need to clear the stage first, since HubSpot only moves lifecycle stages forward automatically).
What Aktify receives
| HubSpot contact property | Aktify lead field |
|---|---|
| Phone number | Phone number (required) |
| State/Region | Region (required) |
| First name | First name |
| Last name | Last name |
Duplicates
If the contact's phone number already exists in the campaign, Aktify rejects the new lead as a duplicate and keeps working the existing one. A contact re-entering the mapped stage after it already synced is therefore harmless.
Data stays one-way
Lead sync only flows from HubSpot to Aktify. Aktify does not write anything back to the HubSpot contact — no property updates, notes, or timeline events. To act on Aktify engagement data in HubSpot, use Aktify's webhooks.
Troubleshooting
HubSpot doesn't display the sync outcome — skipped or rejected contacts are only visible to Aktify. If contacts entering the stage aren't showing up as leads, check:
- The connection is still active — in the Portal under Settings → Integrations → HubSpot. Reconnect if it shows disconnected.
- The campaign is mapped to the right lifecycle stage — and the contact actually entered that stage.
- The contact's Phone number property holds a valid US number — not just Mobile phone number.
- State/Region is set to a recognizable US state — a postal code alone doesn't qualify.
- The phone number isn't already in the campaign — duplicates are rejected silently.
If everything checks out, contact Aktify support with the contact's phone number and the time it entered the stage — Aktify can trace exactly what happened to the notification.