Pairing for HubSpot

Install, permissions, data and uninstall

What happens when you connect HubSpot to Pairing, what the app asks for and why, what it writes into your portal, and what stays behind if you remove it.

What the app does

Pairing by Denamico keeps HubSpot in sync with one other system, such as Salesforce, NetSuite or a system with a JSON REST API. It reads and writes the HubSpot records in your mappings, checks your HubSpot properties and dropdown values for changes, and holds any record that cannot sync with a plain-language reason so a person can fix it and replay it.

Pairing is set up with Denamico. Each client gets its own workspace in the Pairing portal, and the HubSpot app is how that workspace reaches your HubSpot portal.

Install

You need to be an admin of your Pairing workspace, and a user who can install apps in the HubSpot portal. Denamico may start the connection for you and send the HubSpot link; the steps are the same.

  1. In Pairing, open Connections and choose Connect a HubSpot portal.
  2. HubSpot asks you to sign in and choose the portal. Pick the portal you want.
  3. HubSpot shows the permissions screen. Review it (see the next section) and approve the app.
  4. You return to a Pairing page that names the HubSpot portal you chose and your Pairing workspace. Check both.
  5. Choose Connect. Nothing is connected until you do. Choose Cancel if it is not the portal or workspace you meant.

A HubSpot portal belongs to one Pairing workspace. A workspace can connect more than one HubSpot portal.

The permissions screen

HubSpot lists the permissions the app asks for. The required ones are always asked. The optional ones are asked on the same screen, and what you decline switches off the features that need them.

Required permissions

Required permissions and what Pairing uses each for
PermissionWhat Pairing uses it for
oauthSigning in to HubSpot as the app, and keeping that sign-in working.
crm.objects.contacts.read, crm.objects.contacts.writeReading contacts that sync out of HubSpot, and creating or updating contacts that sync in.
crm.objects.companies.read, crm.objects.companies.writeThe same, for companies.
crm.schemas.contacts.read, crm.schemas.companies.read, crm.schemas.deals.readReading your property definitions and dropdown values, to build mappings and to check every day for fields and values that changed.

Optional permissions

Optional permissions and what Pairing uses each for
PermissionWhat Pairing uses it for
crm.schemas.contacts.write, crm.schemas.companies.write, crm.schemas.deals.writeCreating the Pairing properties and property group (next section), adding a dropdown option when a person applies that fix, and creating properties Denamico sets up for your integration.
crm.objects.deals.read, crm.objects.deals.writeSyncing deals.
crm.objects.line_items.read, crm.objects.line_items.writeSyncing line items on deals.
crm.objects.owners.readShowing the list of HubSpot users when you choose who a HubSpot alert task is assigned to.
crm.importSending a large first load or bulk change to HubSpot as one import instead of many small writes.
crm.objects.projects.read, crm.objects.projects.write, crm.schemas.projects.read, crm.schemas.projects.writeSyncing HubSpot Projects, for portals whose HubSpot plan includes them.
crm.objects.custom.read, crm.objects.custom.write, crm.schemas.custom.read, crm.schemas.custom.writeSyncing custom objects, for portals whose HubSpot plan includes them.
crm.objects.<object>.read and .write, crm.schemas.<object>.read and .write, for tickets, quotes, orders, carts, invoices, appointments, courses, listings, services, leads, users, marketing events, subscriptions and commerce payments, plus e-commerce for productsSyncing another standard HubSpot object, only when a client asks for it and a mapping uses it. Some of these have read-only or no write permission in HubSpot.

If a permission was not granted, the feature that needs it does not work for that portal. A request that HubSpot refuses for a missing permission fails with a message that names the permission. Choose Reconnect on the connection and approve the app again to grant it; HubSpot only offers a permission that was added to the app after your install on a fresh install, so Denamico may ask you to install again.

What Pairing creates in your portal

Pairing creates properties only when a feature needs them, and it never renames or deletes anything in your portal.

Properties and records Pairing creates in a HubSpot portal
WhatWhen it is createdWhat it holds
Property group "Pairing", with the properties pairing_sync_status, pairing_last_error and pairing_last_synced_at, on each synced objectThe first time a live sync with error writeback turned on touches that object. Error writeback is off unless an admin turns it on for an integration.Whether each record last synced, was held or errored; the reason it is held and the field, never a field value; and when it last synced.
Property pairing_record_ref ("Pairing record ref"), in the same groupWhen Pairing sends a large load to HubSpot as an import.A unique reference that links an imported record back to its source record.
Property pairing_demo_id ("Pairing demo")Only in the demo portals Denamico runs for sales demos. Pairing does not create it in a client portal.The id of the demo that created the record, so a demo can be reset.
HubSpot tasksWhen an admin sets an alert rule to create a HubSpot task, and an alert fires.The alert text (workspace, integration, event and counts, no record values), linked to the records involved.
Dropdown optionsWhen a person applies the "add this option" fix to a held record.The new option on an existing dropdown property.
Properties and pipelines Denamico sets upWhen Denamico staff create them for your integration, through your connection. Each action is recorded in the audit log.Whatever your integration needs. Existing properties are never changed.

During a rename from the product's earlier name, each Pairing property is also written under its earlier plumb_ name, in a second property group that is also labelled Pairing. You may see both sets. Pairing does not delete either.

What you see in HubSpot

The app adds two cards for your record pages, and two pages: Synced records and Sync health. A HubSpot admin places the cards once per object with Customize on a record page; HubSpot does not let an app place or reorder cards itself.

  • Pairing sync, in the middle column: the record's sync status and when it last synced, the properties Pairing writes into HubSpot and the ones it reads from HubSpot, as HubSpot's own property lists, and a table of the records Pairing associates with it.
  • Pairing status, in the sidebar: the sync status, any held sync with its reason and a link to fix it in Pairing, and the records Pairing associated this one with.
  • Synced records, a page in the app: a tab per synced object, with a column for each synced property and each kind of record Pairing associates, a held-only filter, and search. It reads records with the viewer's own HubSpot permissions.
  • Sync health, a page in the app: for the last day, week or month, the share of records synced rather than held, held records by cause, each integration's last run and failures in a row, and the connections' and alerts' state. Counts only.

The cards ask Pairing for names only: which properties and associations sync, the last outcome, and why a sync is held. The cards and pages never show a held value, and they change nothing; fixes happen in Pairing. Property values on the cards are shown by HubSpot under the viewer's own HubSpot permissions. Anyone who can open the record can see the cards. The cards appear on contacts, companies, deals, tickets, orders, carts, invoices, products, quotes, subscriptions and custom objects.

Data shared with Pairing

This is what moves between HubSpot and Pairing, and how long Pairing keeps it. Retention periods are per workspace; 90 days is the default for sync history.

HubSpot data shared with Pairing
DataDirectionHow Pairing uses itHow long Pairing keeps it
Property values on the contacts, companies, deals, line items and any projects or custom objects in your mappings (only the fields you map)Read from HubSpot, and written to itSyncs them to and from your other system. A copy is kept with the sync history and with held records so a failed record can be fixed and replayed.Encrypted. Sync history is deleted after the retention window (90 days unless agreed otherwise). Held records that still need attention are kept until resolved.
Record ids and the link to the matching record in the other systemRead from HubSpotRecognises a record on the next sync so it is updated, not duplicated.Until the workspace is removed. There is no automatic purge yet.
Property definitions and dropdown optionsRead from HubSpotBuilds mappings and finds fields and values that changed.Kept in mapping versions and change findings.
Portal ID, domain and account typeRead from HubSpotNames the connection and checks it is the portal you meant.While the connection exists.
Sign-in tokens HubSpot issues to the appIssued by HubSpotLets Pairing call HubSpot for you.Encrypted with a key for your workspace and never shown again. Kept while the connection exists.
HubSpot users (owners)Read from HubSpot, only with the optional owners permissionShows who an alert task can be assigned to.Read when needed. Pairing does not keep a copy of the list.
Change notifications from HubSpot (new or changed contacts, companies, and deal stages)HubSpot sends them to PairingStarts a sync sooner than the schedule would. Every notification is verified as coming from HubSpot, and anything unverified is refused.The notification carries record ids and change times, which are queued for a sync. The record is then read again from HubSpot.

AI features are off unless an admin turns them on. See the security page for who can see what and how stored data is protected.

Disconnect and uninstall

A Disconnect action in Pairing is coming. Today an admin cannot disconnect a HubSpot portal from inside Pairing. To stop Pairing working in your portal, uninstall the app in HubSpot, or ask Denamico through support to pause your syncs.

To uninstall

  1. In HubSpot, open Settings, then Integrations, then Connected apps.
  2. Choose Pairing by Denamico, then Actions, then Uninstall.

What happens when you uninstall

  • HubSpot revokes the app's access and stops sending change notifications. Pairing is not told when this happens.
  • The next time Pairing calls HubSpot, HubSpot refuses it. The connection then shows Sign-in failed in Pairing, and syncs that use it stop. Records that needed HubSpot are held with the reason "Sign-in to a system failed", so none are lost, and an alert rule for an expired sign-in can email you.
  • Pairing keeps your workspace as it was: the connection, mappings, sync history and held records. It deletes nothing on uninstall.
  • To start again, choose Reconnect on the connection and approve the app in the same portal. Then replay the held records.

What stays in HubSpot

  • Every record Pairing created or updated stays, with its values.
  • The Pairing properties and property groups stay, with whatever they hold. Pairing does not remove them. You can delete them in HubSpot under Settings, then Properties, once you no longer need them.
  • HubSpot tasks Pairing created stay until you delete them.

Having your data removed from Pairing

Ask Denamico through support and we will remove your workspace's data from Pairing. This is done by hand today, because some stored data has no automatic purge yet.

Help

For help installing, reconnecting or removing Pairing, contact support. How Pairing protects stored data is on the security page.