Naffes
العربيةStart free↗

Integrations

Sync deals and contacts with HubSpot

The HubSpot connection in Naffes CRM is built for teams running both systems side by side for a while: it pushes deals from Naffes to HubSpot automatically on every stage change, and pulls contacts and deals from HubSpot in small batches. Below: the setup, what actually moves in each direction, and the connection's current limits.

Steps

  1. Create a private app in HubSpot

    In HubSpot, create a private app; HubSpot now lists these under Development → Legacy apps. Give it contacts and deals scopes (read to pull, write to push), copy the access token from the Auth tab, and note your Portal ID.

  2. Open HubSpot's setup in Naffes

    Under Tools → Marketplace, open the HubSpot card and click Configure HubSpot. The Marketplace is included from Starter up.

  3. Save and test

    As an admin, paste the token and Portal ID, click Save, then Test connection, which calls HubSpot's contacts API and reports the result and latency.

  4. Pull data

    In the Bulk import from HubSpot panel on the same page, click Pull 50 contacts or Pull 50 deals. Existing records are updated by matching HubSpot ID or email; new ones are created.

  5. Push deals

    Open a deal, then the deal header menu → Integrations → Push to HubSpot. Once connected, every deal is also pushed automatically whenever its stage changes.

Important

Before pushing a deal, Naffes reads HubSpot pipelines and matches the pipeline and stage labels against the Naffes names, including saved translations. It sends the matched internal IDs and refuses to write the deal when a match is missing or ambiguous. Use matching, unique labels and test one deal first.

What moves in each direction

OperationFields that moveWhat does not
Pull contactsEmail and first and last name; job title is updated only on contacts that already existPhone number; contacts without an email are skipped
Pull dealsName, amount, close dateHubSpot stage and pipeline; a new deal lands in the first stage the system finds
Push a contact (API only)Name, email, phone, job titleThere is no button for it in the screens
Push dealsName, amount and close date, plus the stage and pipeline sent by name (see the warning above)Activities and notes

ID mapping prevents duplicates: repeated pulls or pushes update the same record instead of creating a new copy.

When this connection is not enough

  • It is not a full migration tool. Each click reads the first 50 records in HubSpot, and clicking again re-reads the same 50.
  • Companies, activities, notes and owners are not synced.
  • For a full move, export CSV files from HubSpot and bring them in through the Naffes import wizard, which maps columns by keyword and then with AI. See contact management.

To stream every contact, company and deal change to another system, see setting up outgoing webhooks.

Sources

  1. HubSpot Developers: Private apps and access tokensAccessed
  2. HubSpot Developers: Deals API guide (internal IDs for stages and pipelines)Accessed