Skip to main content
HubSpot is an Enterprise-plan integration. If your plan doesn’t include it, the integration tile shows “Upgrade to Enterprise to Access” and setup is not available.

Overview

The HubSpot integration is bidirectional:
  • HubSpot → RevyOps. An initial import pulls your existing HubSpot contacts into RevyOps. After that, a HubSpot webhook keeps RevyOps updated as contacts and companies change in HubSpot.
  • RevyOps → HubSpot. When a reply matches one of your configured sync statuses, RevyOps pushes that contact (and its company) to HubSpot, along with its email history.

Prerequisites

  • A HubSpot account with CRM access
  • Your webhook URL, shown in the HubSpot panel on the Integrations page with your workspace ID already in it
  • A HubSpot access token configured in RevyOps settings

Initial Import

The initial import pulls your existing HubSpot contacts into RevyOps. Contact your RevyOps admin to trigger this if it hasn’t run yet.

Staying in Sync

Once connected, RevyOps keeps contacts and companies in sync as they’re created, updated, restored, merged, or deleted in HubSpot. Only changes to properties RevyOps actually syncs are picked up; other property changes in HubSpot are ignored. When two HubSpot contacts or companies are merged, the matching RevyOps record follows the surviving HubSpot record. Deleting a contact or company in HubSpot keeps the RevyOps record, sets its CRM Deleted Date and leaves its Status as it was. When the record syncs from HubSpot again, for example after you restore it there, the date is cleared. See Deleted in your CRM. A HubSpot value that doesn’t fit the type of the RevyOps custom field it lands in is skipped without an error. If Lead Tier is a dropdown in RevyOps offering Tier 1 and Tier 2, a HubSpot contact set to Tier 1 - Priority keeps its old Lead Tier value in RevyOps, and the rest of that contact still syncs. Keep each RevyOps dropdown’s options in step with the values HubSpot actually uses. The webhook endpoint for HubSpot events:

Undoing an Import

The Imports section in the HubSpot panel lists every import from HubSpot. Choose Undo import from an import’s menu to delete the contacts, companies, and activities it created and put back the values it changed on records that already existed. Records edited in RevyOps after the import keep their current values, and a contact with other activity since then is kept too; the Contacts page describes the rules in full. An import can be undone once it has finished; while HubSpot records are still being saved, it shows Importing…. Undoing a HubSpot import pauses sync from HubSpot, and the panel shows Sync from HubSpot is paused. Changes made in HubSpot while sync is paused are not imported. Click Turn sync back on to resume, then Reimport to bring RevyOps up to date. Undo changes nothing in HubSpot.

CRM Sync Statuses

Until you configure this, every interested reply is pushed to HubSpot. From CRM Sync Statuses → Edit Sync Statuses, you can choose which interested statuses should sync instead. Only leads with a selected status are pushed after that. Saving with nothing selected stops replies from syncing at all, so pick at least one status if you want any to go through.

Custom Properties

RevyOps creates a cold_email_reply_type (“Cold email reply type”) custom property on HubSpot contacts to store the reply type from cold email campaigns. RevyOps creates the property automatically; if the property already exists, RevyOps reuses it. For Do Not Contact sync, RevyOps uses an outbound_status contact property. Once a day it marks Do Not Contact any HubSpot contact whose outbound_status is Do Not Contact, and ignores other values. If HubSpot stops accepting the access token, the daily pull finds nothing and still shows as synced. See Do Not Contact Sync.

Troubleshooting

Verify a HubSpot access token is configured in RevyOps settings, and that the reply’s disposition is included in your configured HubSpot sync statuses.
Confirm the webhook URL is registered in your HubSpot account and that the access token in RevyOps is still valid.
RevyOps only syncs changes to properties it actually tracks. Changes to other HubSpot properties are ignored.