.png)

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 point | Supported by HubSpot Revenue Hub? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | HubSpot’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 APIs | Limited | GraphQL 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 callbacks | Limited | Configured 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 APIs | Yes | Batch 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 APIs | Yes | The 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. |
| Authentication | Yes | OAuth 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 synchronization | Yes | CRM 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. |
| SDKs | Yes | HubSpot 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
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
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
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
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
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
Example Mapping
| HubSpot Revenue Hub Field | Canonical Field | Target Field |
|---|---|---|
| Deal.id | opportunity.sourceId | transaction.externalId |
| Deal.amount | transaction.totalAmount | salesOrder.total |
| Company.name | customer.name | customer.companyName |
| Line item.quantity | line.quantity | salesOrderItem.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
Example Mapping
| HubSpot Revenue Hub Field | Canonical Field | Target Field |
|---|---|---|
| Contact.hs_object_id | person.sourceId | Contact.ExternalId |
| Contact.email | person.email | Contact.Email |
| Company.name | organization.name | Account.Name |
| Contact.lifecycle stage | person.lifecycleStage | Contact.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
Example Mapping
| HubSpot Revenue Hub Field | Canonical Field | Target Field |
|---|---|---|
| Quote.hs_object_id | quote.sourceId | salesOrder.quoteReference |
| Quote.status | quote.approvalStatus | salesOrder.approvalStatus |
| Line item.price | line.unitPrice | salesOrderItem.rate |
| Deal.dealstage | opportunity.stage | salesOrder.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
Example Mapping
| HubSpot Revenue Hub Field | Canonical Field | Target Field |
|---|---|---|
| updatedAt | change.modifiedAt | reconciliation.changedAt |
| Deal.id | revenue.sourceId | revenue_record.sourceId |
| Deal.amount | revenue.amount | revenue_record.amount |
| Deal.dealstage | revenue.status | revenue_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
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Contacts | Represent people associated with Companies, Deals, Tickets, activities, and other CRM objects. | Salesforce, Zendesk, NetSuite, Microsoft Dynamics 365, Shopify | Retrieve or receive change notifications, validate properties and associations, map identity and lifecycle fields, and upsert using HubSpot object IDs or a deterministic business key. |
| Companies | Represent organizations or accounts associated with Contacts, Deals, Tickets, and revenue processes. | Salesforce, NetSuite, Microsoft Dynamics 365, Zendesk, data warehouses | Synchronize account identity, ownership, status, and custom properties while explicitly resolving Contact–Company and Company–Deal associations. |
| Deals | Represent revenue opportunities, sales transactions, and pipeline records. | NetSuite, Salesforce, Microsoft Dynamics 365, billing platforms, data warehouses | Use stage and property rules to trigger downstream processing, retrieve associated Products and Line items, map amounts and currency, and protect order creation with idempotency. |
| Products | Represent catalog products used in sales and commerce processes. | NetSuite, Shopify, commerce platforms, product databases | Retrieve product properties, normalize identifiers and pricing, and synchronize catalog changes before processing related Line items. |
| Line items | Represent product or service items associated with Deals, Quotes, Invoices, or other commerce records. | NetSuite, billing platforms, Shopify, finance systems | Retrieve associations with parent objects, map quantities, prices, discounts, and currency, and validate totals before downstream submission. |
| Quotes | Represent commercial quotes containing pricing, terms, and associated Line items. | NetSuite, contract systems, provisioning platforms, document services | Trigger 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
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.
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.
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.
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.
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.
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.
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.
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.
Related Martini documentation
Workflows
Connect HubSpot Revenue Hub with Martini
Use Martini to build secure, maintainable HubSpot Revenue Hub integrations across APIs, webhooks, batch operations, files, and enterprise workflows.