Skip to main content
DataVibe’s HubSpot integration has two independent parts: an OAuth connection that pulls CRM evidence for revenue-integrity checks, and a signed webhook that ingests HubSpot activity into DataVibe. Neither requires the other. For sending through HubSpot’s own sequences, see Sequencers and CRMs: gate the message before HubSpot dispatches it, the same as any other sender.

Connect (evidence pull)

An admin connects HubSpot once per workspace, in Settings → Integrations. This authorizes read-only access to contact properties:
The connection requests crm.objects.contacts.read crm.schemas.contacts.read scope and stores an encrypted refresh token. DataVibe never stores your HubSpot access token.

Pull evidence before a gate call

Fetch a contact’s acquisition/funding/promotion properties and shape them as source_records for the clay_revops_freshness_v1 policy template:
This endpoint is dashboard-session authenticated, not API-key authenticated. Call it from your own backend, then pass the returned source_records straight into metadata.source_records on the POST /v1/gate/outbound call. See Revenue integrity for how DataVibe uses these records.

Signed inbound intake

To ingest HubSpot activity into DataVibe (for example, workflow-triggered outbound), register a webhook at:
DataVibe verifies HubSpot’s own request signature, X-HubSpot-Signature-v3, over the timestamp and body, checked against X-HubSpot-Request-Timestamp. Requests that fail signature verification are rejected before any policy evaluation.
Blocked contacts are tagged back in HubSpot (dv_gate_blocked, dv_gate_action_id) so a BLOCK verdict is visible directly on the contact record, not only in the DataVibe audit log.
Last modified on July 24, 2026