HubSpot
Connect HubSpot so Meerkats has your contacts, companies, deals and pipeline, and can keep the CRM up to date with your approval.
The HubSpot connection imports contacts, companies, deals, owners, pipelines and stages, plus the engagement timeline (notes, calls, emails, meetings, tasks). It links contacts to the orders and ad clicks Meerkats already has, so a lead's source, first order and lifetime value sit in one place.
With write permission, agents can create and update records, log notes and create tasks when you approve, for example moving a deal stage when an order is paid, or tagging contacts that came from a campaign.
| How it connects | Sign in and approve |
| Reads | Contacts, Companies, Deals, Pipelines and stages, Owners, Timeline, Lists |
| Can change | Update a contact, company or deal property; Move a deal to another stage; Create a contact, company or deal; Log a note or create a task on a record; Add a contact to a list |
| Refresh | On your plan's schedule, plus Resync anytime |
Before you start#
- A HubSpot user who can install apps in the portal. A Super admin is best.
- One HubSpot portal per workspace. If you have several portals, use one workspace each.
- Meerkats imports only the records and properties the authorizing user can see, so use a user who can see every pipeline you need.
Permissions#
HubSpot asks you to approve these permissions. Each one is listed with why Meerkats needs it.
| Permission | Why Meerkats needs it |
|---|---|
oauth | Complete the HubSpot install |
crm.objects.contacts.read, crm.objects.contacts.write | Read contacts; update them when you approve a change |
crm.objects.companies.read, crm.objects.companies.write | Read companies; update them when you approve |
crm.objects.deals.read, crm.objects.deals.write | Read deals and stages; move or update deals when you approve |
crm.objects.owners.read | Read record owners |
crm.schemas.contacts.read, crm.schemas.companies.read, crm.schemas.deals.read | Read property definitions so custom properties sync |
crm.lists.read | Read lists and segments |
sales-email-read, crm.objects.notes, crm.objects.tasks | Read the timeline; log notes and create tasks when you approve |
Connect#
1. Connect HubSpot#
- Open Integrations
In the sidebar, select Integrations, find HubSpot and select Connect.
- Choose the portal
Sign in to HubSpot and pick the account (portal) to connect.
- Approve the scopes
HubSpot lists the permissions above. Select Connect app. You return to Meerkats with HubSpot connected.
2. Choose what syncs#
- Pick pipelines
On the HubSpot connection, choose the deal pipelines to import. Meerkats imports only deals in the pipelines you select.
- Pick owners
Choose All owners or Selected owners. With selected owners, Meerkats syncs only records those owners own.
- Resync
Go to Data Hub › Bronze Layer, pick HubSpot and select Resync. The first import of a large portal can take a few minutes.
What syncs#
| HubSpot | In Meerkats |
|---|---|
| Contacts | Contact properties (standard and custom), lifecycle stage, source, owner, associated company and deals, marketing consent |
| Companies | Company properties, owner, associated contacts and deals |
| Deals | Amount, stage, pipeline, close date, owner, associations, custom properties, stage history |
| Pipelines and stages | Each pipeline and its stages, with probabilities |
| Owners | Users who own records |
| Timeline | Notes, calls, emails, meetings and tasks on each record |
| Lists | Active and static lists and their membership |
Raw data lands in Data Hub › Bronze Layer. Modelled tables, with metrics defined once, are in Data Hub › Gold Layer. Every number in a report or an agent’s answer comes from a query on these tables, never from the model’s own arithmetic.
Metrics you get#
The metrics people ask for most, named as HubSpot names them. The full list, with each definition, is in the metric catalog.
New contactsLeads by sourceDeals createdPipeline valueWin rateAverage deal sizeSales cycle lengthContact to customer rateRevenue per contact (with orders linked)
How often it syncs#
Meerkats syncs on your plan's schedule: daily on Free, hourly on the $49 plan, every 30 minutes on $149 and every 15 minutes on $399. You can run a sync at any time with Resync in Data Hub › Bronze Layer.
- Meerkats syncs changed records on your plan's schedule and re-imports stage history, so deal velocity reports stay accurate.
- Contacts link to orders by email or phone, hashed on both sides. A contact with no matching order shows no revenue.
What Meerkats can change#
In every connected tool, Meerkats can create, read, update and delete records, within the permissions you grant and the permissions the tool allows. These are the changes it proposes for HubSpot, and the limit that applies to each.
| Change | Limit |
|---|---|
| Update a contact, company or deal property | Proposed for approval; the before and after values are shown |
| Move a deal to another stage | Proposed for approval |
| Create a contact, company or deal | Proposed for approval |
| Log a note or create a task on a record | Low risk: can run on its own once you allow it |
| Add a contact to a list | Low risk: can run on its own once you allow it |
How every change is governed
Every change starts as a proposal in your Inbox. Nothing changes in the connected tool until a person approves it, unless you set that rule to act on its own.
Before it runs an approved change, Meerkats re-reads the live value. If the value moved since the proposal, it asks again instead of acting on stale data.
Meerkats stores the value it replaced, so every change can be undone from Agents run history.
Anything Meerkats creates starts paused. Switching it on is a second, separate approval.
Example automations#
Type any of these on the New automation page (Automation Agents › + New Agent).
- “When a Shopify order is paid by a HubSpot contact, move their open deal to Closed won and log a note with the order number”
- “Every morning, email me new HubSpot leads from paid campaigns with their first touch”
- “Create a task for the deal owner when a deal has had no activity for 10 days”
Troubleshooting#
HubSpot won't install the app
Use a Super admin. Some portals require admin approval before a user can install a new app.
Records are missing after the import
Check the pipelines and owners on the connection, and that the authorizing user can see those records in HubSpot.
The wrong portal was connected
Open the HubSpot connection and select Disconnect, then select Connect again and choose the correct portal.
Custom properties don't show
Properties created after the connection appear on the next sync. Select Resync to pick them up now.