Ellipse Gradient for Header
HubSpot Revenue Hub logo

HubSpot Revenue Hub Integration Guide

Connect HubSpot Revenue Hub with enterprise systems through HubSpot REST APIs, selected webhooks, batch operations, files, and scheduled Martini workflows.

HubSpot Revenue Hub integration options at a glance

HubSpot Revenue Hub integrations are generally implemented through HubSpot’s REST APIs, which support CRM objects, associations, search, imports, exports, files, and platform services. Selected object and application events can be delivered through configured webhooks, while batch endpoints support larger reads, creates, updates, upserts, and archives. OAuth 2.0 is appropriate for installations across multiple HubSpot accounts, while private app access tokens suit account-specific integrations. Martini can consume these APIs, receive webhook notifications through an exposed endpoint, run scheduled synchronization workflows, map HubSpot JSON, and coordinate downstream updates with retries and reconciliation.

Integration pointSupported by HubSpot Revenue Hub?Common use casesHow Martini supports it
REST APIsYesHubSpot’s primary integration surface for Contacts, Companies, Deals, Products, Line items, Quotes, Tickets, custom objects, associations, search, imports, exports, files, and platform services.Martini can consume HubSpot REST endpoints from workflows, map JSON payloads, apply business rules, and expose its own API for controlled initiation of HubSpot operations.
GraphQL APIsLimitedGraphQL capabilities are available for selected HubSpot platform use cases, but REST is the broadly documented path for CRM integrations and object coverage must be confirmed.Martini can consume GraphQL APIs where the target HubSpot account and use case support them; REST should generally be preferred for CRM workflows.
Webhooks / outbound callbacksLimitedConfigured developer-app subscriptions can notify receivers about selected object creation, property changes, deletion, association changes, and application events.Martini can expose a webhook endpoint, validate and record notifications, retrieve the current object through REST, and invoke downstream workflows.
Bulk / async / batch APIsYesBatch reads, creates, updates, upserts, and archives support larger CRM workloads, while imports and exports support initial loads, migrations, and reconciliation.Martini can orchestrate batch jobs, process pagination and job status, handle partial failures, and checkpoint long-running synchronization.
File / attachment APIsYesThe Files API supports uploading and managing files, with CRM associations handled through relevant CRM operations where applicable.Martini can upload or retrieve file content and metadata, associate files with HubSpot objects, and apply retention, access, and sensitive-data rules.
AuthenticationYesOAuth 2.0 supports multi-account applications, while private app access tokens support account-specific integrations. Scopes and permissions control access.Martini can store credentials in secure environment configuration or secrets and use authenticated HTTP workflows without embedding tokens in integration logic.
Search and incremental synchronizationYesCRM search, modification timestamps, object IDs, associations, pagination cursors, and webhook-followed retrieval support changed-object synchronization.Martini can combine webhook triggers or scheduled polling with checkpoints, cursor pagination, current-object retrieval, and idempotent target updates.
SDKsYesHubSpot provides API client libraries for several languages, although the underlying REST endpoints remain the standard integration surface.Martini can call the REST endpoints directly, so an external SDK is not required for workflows implemented with HTTP API consumption.

How HubSpot Revenue Hub exposes data and business events

HubSpot REST APIs

HubSpot REST APIs are the primary integration mechanism for CRM objects, associations, search, imports, exports, files, marketing, automation, and other platform services. They support object creation, retrieval, updates, archival, batch operations, and schema or property discovery.

Martini implementation pattern

Martini implementation pattern: a workflow receives an API request, schedule, or event trigger; authenticates to HubSpot with OAuth 2.0 or a private app token; calls the required REST endpoints; maps the JSON response; applies business rules; and writes to downstream systems or returns a controlled API response.

Implementation sequence

Authenticate with an OAuth 2.0 token or private app access token
Receive an API request, schedule, or upstream event
Retrieve the required HubSpot object and associations
Map HubSpot JSON to the canonical integration model
Apply validation, routing, and business rules
Write the result to the target system and record the outcome

HubSpot Webhooks

HubSpot developer apps can deliver configured notifications for selected object creation, property changes, deletion, association changes, and application events. Coverage depends on subscription type, object support, payload details, and account configuration.

Martini implementation pattern

Martini implementation pattern: expose a controlled webhook endpoint, authenticate and validate the request, record the notification when replay is required, and retrieve the current HubSpot object through REST before processing. The workflow then applies idempotency and routes the normalized change to downstream systems.

Implementation sequence

Receive the HubSpot webhook notification
Validate the request and subscription context
Record the notification and source event identifier
Retrieve the current HubSpot object and required associations
Apply duplicate protection and business rules
Map and deliver the change to downstream systems

HubSpot Batch APIs

HubSpot provides batch CRM endpoints for reads, creates, updates, upserts, and archives. Imports and exports support larger data volumes, initial loads, migration, scheduled synchronization, and reconciliation.

Martini implementation pattern

Martini implementation pattern: run a scheduled or manually initiated workflow that partitions work into suitable batches, submits or retrieves data, handles pagination and asynchronous status, maps each result, and records partial failures for retry or review.

Implementation sequence

Start the batch workflow on a schedule or controlled request
Read the stored checkpoint and determine the work window
Partition objects into supported batch requests
Submit or retrieve batch data and monitor completion
Map successful rows and capture row-level errors
Advance the checkpoint only after successful reconciliation

HubSpot Files API

HubSpot’s Files API supports file upload and management. File metadata, content, access URLs, CRM associations, retention, and authentication behavior should be treated as separate integration concerns.

Martini implementation pattern

Martini implementation pattern: retrieve or receive a file, validate its content and sensitivity, call the Files API, create or update the relevant CRM association, and store only the required reference or content according to retention policy.

Implementation sequence

Receive or retrieve the file and related metadata
Validate content type, size, access, and sensitive-data rules
Upload or retrieve the file through the HubSpot Files API
Create or update the relevant CRM association
Store a durable reference or approved copy
Record retention and processing status

HubSpot GraphQL APIs

HubSpot exposes GraphQL capabilities for selected platform use cases, but GraphQL is not the broadly documented primary route for CRM integrations. Availability and object coverage should be confirmed before adoption.

Martini implementation pattern

Martini implementation pattern: confirm that the target account and operation support GraphQL, configure authenticated consumption, execute the required query, validate the response shape, and use REST instead when the required CRM object or operation is not covered.

Implementation sequence

Confirm GraphQL availability and object coverage
Configure authenticated GraphQL consumption
Execute the required query or operation
Validate the response against the expected schema
Map the result to the canonical model
Route unsupported operations through HubSpot REST APIs

Common HubSpot Revenue Hub integration patterns

Pattern 1: Synchronize HubSpot revenue data with an ERP

When to use this pattern

Use this pattern when qualified Deals, Companies, Contacts, Products, and Line items must become customers, orders, or financial transactions in an ERP, while order, invoice, payment, or fulfillment status must return to HubSpot.

Integration direction
HubSpot Revenue Hub
Martini
NetSuite
Example Mapping
HubSpot Revenue Hub FieldCanonical FieldTarget Field
Deal.idopportunity.sourceIdtransaction.externalId
Deal.amounttransaction.totalAmountsalesOrder.total
Company.namecustomer.namecustomer.companyName
Line item.quantityline.quantitysalesOrderItem.quantity
Martini implementation pattern

A webhook or scheduled workflow identifies a qualifying Deal, retrieves current associations, maps revenue and line-item data, validates currency and stage rules, and calls the ERP API. Martini stores the downstream identifier, prevents duplicate order creation, retries transient failures, and updates HubSpot with processing status.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • error handling
  • scheduled synchronization

Pattern 2: Synchronize Contacts and Companies with another CRM

When to use this pattern

Use this pattern for CRM coexistence, migration, lead routing, or customer master synchronization where HubSpot Contacts and Companies must be aligned with another CRM and ownership or lifecycle changes may flow in both directions.

Integration direction
HubSpot Revenue Hub
Martini
Salesforce
Example Mapping
HubSpot Revenue Hub FieldCanonical FieldTarget Field
Contact.hs_object_idperson.sourceIdContact.ExternalId
Contact.emailperson.emailContact.Email
Company.nameorganization.nameAccount.Name
Contact.lifecycle stageperson.lifecycleStageContact.Status
Martini implementation pattern

Martini receives selected HubSpot webhook notifications or polls changed objects, retrieves current properties and associations, resolves identity conflicts, and upserts the target CRM. Reverse updates use the same canonical model with explicit source-of-truth rules, validation, and checkpointed retries.

Martini capabilities used
  • API consumption
  • webhook receiving
  • data mapping
  • business rules
  • idempotency
  • error handling

Pattern 3: Process an approved Quote into an order

When to use this pattern

Use this pattern when an approved Quote or qualifying Deal should initiate order creation, provisioning, contract generation, or another downstream revenue process.

Integration direction
HubSpot Revenue Hub
Martini
NetSuite
Example Mapping
HubSpot Revenue Hub FieldCanonical FieldTarget Field
Quote.hs_object_idquote.sourceIdsalesOrder.quoteReference
Quote.statusquote.approvalStatussalesOrder.approvalStatus
Line item.priceline.unitPricesalesOrderItem.rate
Deal.dealstageopportunity.stagesalesOrder.sourceStage
Martini implementation pattern

The workflow validates the Quote or Deal state, retrieves associated Line items and Products, transforms commercial terms, and submits one downstream transaction. It records the transaction ID, safely handles webhook replay, and updates HubSpot only after the downstream result is known.

Martini capabilities used
  • webhook receiving
  • workflows
  • data mapping
  • validation
  • business rules
  • retry handling

Pattern 4: Reconcile changed revenue objects on a schedule

When to use this pattern

Use this pattern when webhook coverage is incomplete or a business requires periodic comparison of Deals, Invoices, Payments, or Subscriptions with a warehouse, ERP, billing platform, or reconciliation store.

Integration direction
HubSpot Revenue Hub
Martini
PostgreSQL
Example Mapping
HubSpot Revenue Hub FieldCanonical FieldTarget Field
updatedAtchange.modifiedAtreconciliation.changedAt
Deal.idrevenue.sourceIdrevenue_record.sourceId
Deal.amountrevenue.amountrevenue_record.amount
Deal.dealstagerevenue.statusrevenue_record.status
Martini implementation pattern

A scheduled Martini workflow reads a stored checkpoint, queries HubSpot with modification filters, follows cursor pagination, compares normalized objects with the target store, and advances the checkpoint only after successful processing. Exceptions remain visible for retry and manual reconciliation.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination handling
  • checkpointing
  • data mapping
  • database integration
  • monitoring

Applications commonly integrated with HubSpot Revenue Hub

HubSpot Revenue Hub data can be coordinated with adjacent CRM, ERP, commerce, payment, collaboration, support, and enterprise applications. Martini can use HubSpot APIs and selected webhook events to apply consistent mappings, business rules, duplicate protection, and operational controls across these integrations.

Application Scenario Direction Martini Pattern
Salesforce Synchronize Contacts, Companies, Leads, Accounts, Opportunities, ownership, and engagement data during CRM coexistence, migration, or lead-routing processes. Salesforce → Martini → HubSpot Revenue Hub Use Salesforce and HubSpot APIs with scheduled or event-driven workflows. Resolve matching identities, map lifecycle and ownership fields, synchronize selected associations, and apply source-of-truth rules before upserting records.
NetSuite Transfer qualified Deals, Companies, Contacts, Products, and Line items into customers, orders, invoices, and financial processes, then return relevant status to HubSpot. HubSpot Revenue Hub → Martini → NetSuite Trigger on qualifying Deal or Quote changes, retrieve associated HubSpot objects, transform revenue and line-item data, call NetSuite APIs, store the downstream identifier, and update HubSpot with processing status.
Shopify Coordinate customers, products, orders, and commerce activity with HubSpot Contacts, Companies, Deals, and revenue workflows. Shopify → Martini → HubSpot Revenue Hub Consume Shopify events or API data, resolve customer and product identities, map commerce activity to HubSpot objects, and use idempotent upserts to prevent duplicate contacts or revenue records.
Stripe Connect payment, subscription, and billing events with HubSpot revenue records and customer lifecycle data. Stripe → Martini → HubSpot Revenue Hub Receive Stripe webhook notifications or retrieve changes through its API, match customers and Deals, map payment and subscription status, and update HubSpot while preserving the authoritative financial source.
Slack Notify sales and revenue teams about Deal changes, approvals, assignments, synchronization failures, or other operational events. HubSpot Revenue Hub → Martini → Slack Receive HubSpot webhook events or run workflow checks, apply notification rules, format a concise message, and call Slack APIs. Route failed notifications to retry handling without blocking the core CRM transaction.
Zendesk Align HubSpot Companies and Contacts with support users, organizations, tickets, and customer lifecycle information. HubSpot Revenue Hub → Martini → Zendesk Synchronize selected Contacts, Companies, and Tickets through both systems’ APIs. Use stable external identifiers, association-aware mapping, field validation, and conflict rules for bidirectional updates.
Microsoft Dynamics 365 Synchronize accounts, contacts, leads, opportunities, and sales ownership between HubSpot and Microsoft’s CRM environment. Microsoft Dynamics 365 → Martini → HubSpot Revenue Hub Use API-led workflows for inbound and outbound changes, normalize customer and opportunity models, map ownership and lifecycle values, and checkpoint incremental synchronization with duplicate detection.
Workday Send approved customer, account, or revenue-related data into enterprise operational processes where customer or organizational master data intersects with finance or workforce workflows. HubSpot Revenue Hub → Martini → Workday Expose a controlled Martini API or schedule a workflow to retrieve approved HubSpot data, validate the business context, transform it to the Workday contract, and retain transaction and reconciliation status.

How to build a HubSpot Revenue Hub integration in Martini

Objective

Establish access to HubSpot and the downstream systems using the authentication model appropriate to the deployment.

Instructions in Martini

  • Choose OAuth 2.0 for multi-account installations or a private app token for an account-specific integration.
  • Store tokens, client secrets, and endpoint configuration in Martini secrets or secure environment configuration.
  • Confirm HubSpot scopes, account permissions, and target-system permissions.

Objective

Select the event, API request, or schedule that should start the integration workflow.

Instructions in Martini

  • Use selected HubSpot webhook subscriptions when near-real-time notification is appropriate.
  • Use a Martini API for controlled application-initiated operations.
  • Use a scheduler for polling, batch processing, migration, or reconciliation.

Objective

Obtain the current HubSpot objects and associations required for a complete business transaction.

Instructions in Martini

  • Treat webhook payloads as notifications when they do not contain the complete object state.
  • Retrieve current objects, properties, associations, files, or batch results through HubSpot APIs.
  • Follow cursor pagination and persist checkpoints for long-running extractions.

Objective

Coordinate the end-to-end workflow across HubSpot and downstream systems.

Instructions in Martini

  • Separate notification receipt from business transaction completion when durable replay is needed.
  • Route Contacts, Companies, Deals, Quotes, and Line items through reusable workflow logic.
  • Control concurrency and sequence dependent operations such as parent objects before associations.

Objective

Transform HubSpot JSON and configurable properties into a stable canonical and target-system model.

Instructions in Martini

  • Map stable internal property names rather than display labels where possible.
  • Normalize identifiers, dates, currency, amounts, enumerated values, and associations.
  • Validate required fields and handle account-specific custom properties explicitly.

Objective

Enforce revenue, lifecycle, ownership, and duplicate-prevention decisions before writing data.

Instructions in Martini

  • Define qualifying Deal stages and approved Quote conditions.
  • Use HubSpot object IDs or deterministic business keys for idempotency.
  • Define the authoritative source for amount, currency, tax, invoice, payment, and subscription state.

Common HubSpot Revenue Hub data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ContactsRepresent people associated with Companies, Deals, Tickets, activities, and other CRM objects.Salesforce, Zendesk, NetSuite, Microsoft Dynamics 365, ShopifyRetrieve or receive change notifications, validate properties and associations, map identity and lifecycle fields, and upsert using HubSpot object IDs or a deterministic business key.
CompaniesRepresent organizations or accounts associated with Contacts, Deals, Tickets, and revenue processes.Salesforce, NetSuite, Microsoft Dynamics 365, Zendesk, data warehousesSynchronize account identity, ownership, status, and custom properties while explicitly resolving Contact–Company and Company–Deal associations.
DealsRepresent revenue opportunities, sales transactions, and pipeline records.NetSuite, Salesforce, Microsoft Dynamics 365, billing platforms, data warehousesUse stage and property rules to trigger downstream processing, retrieve associated Products and Line items, map amounts and currency, and protect order creation with idempotency.
ProductsRepresent catalog products used in sales and commerce processes.NetSuite, Shopify, commerce platforms, product databasesRetrieve product properties, normalize identifiers and pricing, and synchronize catalog changes before processing related Line items.
Line itemsRepresent product or service items associated with Deals, Quotes, Invoices, or other commerce records.NetSuite, billing platforms, Shopify, finance systemsRetrieve associations with parent objects, map quantities, prices, discounts, and currency, and validate totals before downstream submission.
QuotesRepresent commercial quotes containing pricing, terms, and associated Line items.NetSuite, contract systems, provisioning platforms, document servicesTrigger approval or order workflows, retrieve associated Deals and Line items, transform commercial terms, and update HubSpot with downstream identifiers and status.

Authentication and security considerations

Authentication options

HubSpot uses OAuth 2.0 for applications installed across multiple accounts and private app access tokens for account-specific integrations. Requested scopes and account or user permissions determine access to CRM objects, files, automation, marketing data, and other APIs.

Credential protection

Martini should store HubSpot tokens, client secrets, and endpoint configuration in secure environment configuration or secrets rather than workflow logic. Legacy HubSpot API keys should not be used for new integrations.

Webhook security

Webhook receivers should validate the request, apply authentication and authorization controls, and verify the applicable HubSpot signature or request-integrity mechanism before processing an event.

Operational considerations for HubSpot Revenue Hub integrations

Limits and pagination

HubSpot limits vary by account, application, API family, subscription, and burst behavior. Workflows should handle 429 responses, respect Retry-After, use bounded backoff, control concurrency, and follow opaque cursor pagination.

Idempotency and associations

Webhook notifications may be retried or duplicated. Store source event identifiers or deterministic business keys, and explicitly synchronize Contact–Company, Contact–Deal, Company–Deal, Deal–Line item, and Deal–Quote associations.

Schema and lifecycle changes

HubSpot properties and custom objects can vary by portal. Validate internal property names, types, and enumerations, and define behavior for archived objects, deleted associations, merged records, and restored records where supported.

Testing and reconciliation

Test representative objects, associations, permissions, custom properties, batch partial failures, file access, and webhook replay. Use checkpoints, monitoring, logs, and reconciliation workflows for long-running or financially significant synchronization.

Why use Martini instead of scripts or point-to-point integrations?

Orchestration instead of isolated scripts

Martini separates API consumption, webhook receipt, transformation, business rules, and target-system writes into maintainable workflows. This makes it easier to support both event-driven and scheduled HubSpot integration patterns without duplicating control logic.

Reusable integration assets

Teams can expose controlled Martini APIs, reuse mapping and validation logic, and centralize authentication, retry, idempotency, and error handling across HubSpot workflows and other enterprise endpoints.

Operational control

Martini provides workflow-based handling for pagination, checkpoints, batch processing, failures, and monitoring. This is more resilient than point-to-point scripts that each implement their own credentials, mappings, throttling, and recovery behavior.

Frequently asked questions

How can HubSpot Revenue Hub be integrated with enterprise systems?

HubSpot Revenue Hub is generally integrated through HubSpot REST APIs, selected webhook subscriptions, batch and import/export mechanisms, the Files API, and scheduled synchronization. OAuth 2.0 or private app access tokens control access, while workflows retrieve objects and associations, transform data, apply business rules, and update downstream systems.

Can Martini integrate with HubSpot Revenue Hub?

Yes. Martini can consume HubSpot REST APIs, receive selected HubSpot webhook notifications through an exposed endpoint, process batch and file operations, run scheduled synchronization, map HubSpot JSON, and coordinate updates with enterprise applications. No native Martini connector is documented in the supplied materials.

Do I need a connector to integrate HubSpot Revenue Hub with Martini?

No. A dedicated HubSpot connector is not required. Martini can use HubSpot’s confirmed native REST APIs, webhook subscriptions, batch operations, Files API, OAuth 2.0, private app tokens, and scheduled workflows.

Is there any extra Lonti cost to integrate HubSpot Revenue Hub with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate HubSpot Revenue Hub with Martini. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from HubSpot, cloud infrastructure, storage, or other third-party systems based on subscriptions, usage, and deployment model.

Which HubSpot integration methods should a new implementation use?

REST APIs are the primary and broadly documented option for CRM objects, associations, search, imports, exports, files, and platform services. Webhooks are useful for selected event notifications, batch APIs support larger workloads, and GraphQL may be considered only after confirming account and object coverage. SOAP and direct database access are not appropriate current mechanisms.

Can Martini receive HubSpot events or webhooks?

Yes, for the object and application events supported by the configured HubSpot developer app subscription. Coverage is not universal, so a Martini webhook workflow should validate the notification, handle duplicates, and retrieve the current HubSpot object through REST when the event payload is incomplete.

How does synchronization and data mapping work?

Synchronization can be event-driven through selected webhooks or scheduled through modification-time filters, search, pagination, and stored checkpoints. Martini maps Contacts, Companies, Deals, Products, Line items, Quotes, and associations into a canonical model, applies validation and business rules, and performs idempotent target updates.

How does Martini handle errors, retries, duplicates, and API limits?

Martini workflows can validate input, classify failures, retry transient errors with bounded backoff, respect HubSpot 429 responses and Retry-After guidance, and route persistent failures for review. Source event IDs, HubSpot object IDs, deterministic business keys, checkpoints, and downstream identifiers help prevent duplicate processing. Martini can also expose an API façade that centralizes validation, mapping, security, and HubSpot access for other applications.