Ellipse Gradient for Header
HubSpot Service Hub logo

HubSpot Service Hub Integration Guide

Integrate HubSpot Service Hub with enterprise systems through REST APIs, selected GraphQL operations, webhooks, batch and import APIs, file services, and scheduled workflows.

HubSpot Service Hub integration options at a glance

HubSpot Service Hub exposes REST APIs for Tickets, Contacts, Companies, Conversations, Feedback submissions, Files, Search, Imports, associations, and related CRM capabilities. Selected GraphQL use cases are available, but REST remains the safer general-purpose choice for Service Hub synchronization. HubSpot also supports webhook subscriptions for selected CRM and application events, batch CRM operations, imports, and file management. Martini can consume these APIs, receive webhook notifications, orchestrate scheduled reconciliation workflows, map properties and associations, apply validation and business rules, and write results to enterprise applications, databases, files, or APIs. OAuth 2.0 and private app access tokens provide the primary authentication options.

Integration pointSupported by HubSpot Service Hub?Common use casesHow Martini supports it
REST APIsYesHubSpot’s primary integration interface for Tickets, Contacts, Companies, Conversations, Feedback submissions, Files, Search, Imports, associations, and other CRM capabilities.Martini can consume HubSpot REST endpoints from workflows, generate reusable integration assets from API definitions where applicable, map responses, and expose APIs for downstream systems.
GraphQL APIsLimitedHubSpot documents GraphQL for selected platform use cases, but schema and object coverage should be verified before using it for Service Hub synchronization.Martini can consume documented GraphQL operations and transform their responses, while REST remains the preferred general-purpose implementation when coverage is uncertain.
Webhooks / outbound callbacksLimitedHubSpot supports subscriptions for selected CRM object creation, update, deletion, and application events; coverage does not include every Service Hub action.Martini can receive supported HubSpot webhook notifications, validate the event, retrieve the current object through REST, and route the result through a workflow.
Bulk / async / batch APIsYesBatch CRM operations and the Imports API support migrations, high-volume updates, initial loads, and scheduled synchronization.Martini can partition payloads into suitable batches, orchestrate imports, monitor responses, retry eligible failures, and reconcile accepted versus rejected items.
File / attachment APIsYesThe Files API supports uploading, storing, and retrieving files that may be associated with CRM records or service interactions.Martini can retrieve file metadata and content, transfer files to a repository or case system, and map file identifiers or references to target objects.
Search and incremental synchronizationYesSearch filters, createdate, hs_lastmodifieddate, known object IDs, and periodic reconciliation support incremental data movement.Martini can combine webhook processing with scheduled searches, pagination, checkpoints, and reconciliation workflows to cover changes missed by selective webhook subscriptions.
AuthenticationYesOAuth 2.0 is recommended for multi-account or distributed applications; private app access tokens suit integrations controlled by one HubSpot account. API keys are legacy.Martini can store credentials in protected environment configuration, call OAuth-protected APIs, and restrict workflows to the scopes required by the integration.
SDKsYesHubSpot provides client libraries for several programming languages, although direct HTTPS API consumption is sufficient for Martini integrations.Martini can consume the underlying HTTPS APIs directly and use custom JVM-compatible logic only when API behavior requires additional processing.

How HubSpot Service Hub exposes data and business events

HubSpot Service Hub REST APIs

HubSpot REST APIs provide the principal interface for reading and writing Tickets, Contacts, Companies, Conversations, Feedback submissions, Files, associations, imports, and search results. Endpoint behavior and available objects can depend on account configuration and subscription tier.

Martini implementation pattern

Martini implementation pattern: a workflow calls the required HubSpot endpoint, handles pagination and response status, retrieves related objects or associations, maps the result into a canonical model, applies business rules, and writes to the target system. Reusable API-consuming services can centralize authentication and error handling.

Implementation sequence

Authenticate with OAuth 2.0 or a private app access token
Call the required HubSpot REST endpoint
Follow pagination until the result set is exhausted
Retrieve required associations and related objects
Map HubSpot properties to the target model
Apply validation and business rulescapsule text misrendered?

HubSpot Service Hub webhooks

HubSpot supports webhook subscriptions for selected CRM object and application events, including supported creation, update, and deletion notifications. Notifications identify an event and object, but coverage is not universal across Service Hub actions.

Martini implementation pattern

Martini implementation pattern: expose a controlled workflow endpoint to receive the notification, validate and correlate the event, retrieve the current HubSpot object through REST, and process it idempotently. Scheduled reconciliation can cover events outside the webhook subscription model.

Implementation sequence

Receive the HubSpot webhook notification
Validate the request and event details
Check the event or object identifier for prior processing
Retrieve the current Ticket, Contact, Company, or related object
Map and route the current representation
Record the outcome and schedule retry or reconciliation when required

HubSpot batch and Imports APIs

HubSpot provides batch CRM endpoints and Imports API functionality for migrations, initial loads, and high-volume updates. Batch behavior and limits vary by endpoint and may differ from single-object operations.

Martini implementation pattern

Martini implementation pattern: a scheduled or API-triggered workflow extracts source data, validates and transforms it, partitions payloads into HubSpot-compatible batches, submits the operation, tracks responses, and reconciles accepted and rejected items.

Implementation sequence

Receive or retrieve the source dataset
Validate required properties and associations
Transform data into the HubSpot import or batch model
Partition the payload within endpoint limits
Submit the batch or import operation
Store results and reconcile rejected items

HubSpot Files API

The HubSpot Files API supports uploading, storing, and retrieving files. A service integration must distinguish the file content from its identifier, URL, and any attachment or association reference on a Ticket or other object.

Martini implementation pattern

Martini implementation pattern: retrieve file metadata and content when permitted, validate content type and size, transfer the file to the target repository or case system, and write back an external reference or processing status through the relevant API.

Implementation sequence

Retrieve the HubSpot file metadata
Validate access, content type, and retention requirements
Download or upload the file as required
Transfer the content to the target repository
Map the external file reference to the service object
Record processing status and handle failed transfers

HubSpot GraphQL APIs

HubSpot documents GraphQL for selected platform use cases. Availability and schema coverage should be checked against the target account and required Service Hub objects; REST remains the safer general-purpose option.

Martini implementation pattern

Martini implementation pattern: use a documented GraphQL operation only when it provides suitable coverage, configure the request securely, validate the returned shape, and route the response through the same mapping, business-rule, and error-handling stages as REST data.

Implementation sequence

Confirm GraphQL schema and account availability
Authenticate the GraphQL request
Submit the documented query
Validate the returned fields and relationships
Map the response to the canonical model
Route successful and failed results separately

Common HubSpot Service Hub integration patterns

Pattern 1: Synchronize Tickets with ServiceNow

When to use this pattern

Use this pattern when HubSpot Tickets require operational, IT, or fulfillment work in ServiceNow and status or resolution information must return to HubSpot. It supports near-real-time processing for supported webhook events with scheduled reconciliation for missed changes.

Integration direction
HubSpot Service Hub
Martini
ServiceNow
Example Mapping
HubSpot Service Hub FieldCanonical FieldTarget Field
hs_ticket_idserviceCaseIdServiceNow number or correlation ID
hs_ticket_prioritypriorityincident priority
hs_ticket_pipeline_stagestatusincident state
associations.contactsrequestercaller
Martini implementation pattern

Receive a supported Ticket notification, retrieve the complete Ticket and associated Contact or Company, normalize status and priority values, and upsert the ServiceNow incident or case. Store both system identifiers, prevent duplicate creation on retries, and route rate-limit, validation, and downstream failures through retry or exception paths.

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

Pattern 2: Synchronize Contacts and Companies

When to use this pattern

Use this pattern when customer identity and organization data must remain aligned between HubSpot Service Hub and Salesforce, NetSuite, Microsoft Dynamics 365, or an analytical platform. It combines incremental extraction with scheduled reconciliation.

Integration direction
HubSpot Service Hub
Martini
Salesforce
Example Mapping
HubSpot Service Hub FieldCanonical FieldTarget Field
idsourceCustomerIdexternal customer ID
emailprimaryEmailemail address
firstname and lastnamecustomerNamecontact name
associations.companiesorganizationIdaccount reference
Martini implementation pattern

Use supported webhooks where appropriate and scheduled HubSpot searches filtered by createdate or hs_lastmodifieddate. Follow pagination, retrieve associations, apply ownership and conflict rules, and perform idempotent target upserts. A reconciliation branch identifies missed updates, deleted objects, and association differences.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination handling
  • data mapping
  • business rules
  • reconciliation

Pattern 3: Transfer Ticket Files to a Case Repository

When to use this pattern

Use this pattern when documents attached to service interactions must be retained, processed, or made available in a separate document or case-management system. It is suitable for controlled file transfer with explicit security and retention rules.

Integration direction
HubSpot Service Hub
Martini
ServiceNow
Example Mapping
HubSpot Service Hub FieldCanonical FieldTarget Field
fileIddocumentIdexternal document ID
namedocumentNameattachment filename
mimeTypecontentTypedocument content type
hs_ticket_idserviceCaseIdcase reference
Martini implementation pattern

Retrieve the relevant file metadata and content through the Files API, validate size and content type, transfer it to the target repository, and associate the external reference with the target case. Use a durable correlation key, avoid duplicate uploads, and retain failed payload metadata for controlled retry.

Martini capabilities used
  • workflows
  • API consumption
  • file handling
  • data mapping
  • validation
  • error handling

Pattern 4: Load Service Analytics into Snowflake

When to use this pattern

Use this pattern when service leaders need centralized reporting across Tickets, Conversations, Contacts, Companies, and Feedback submissions. Scheduled extraction is appropriate because webhook coverage is selective and analytics commonly requires periodic reconciliation.

Integration direction
HubSpot Service Hub
Martini
Snowflake
Example Mapping
HubSpot Service Hub FieldCanonical FieldTarget Field
hs_lastmodifieddatesourceModifiedAtsource_modified_at
hs_ticket_pipeline_stageserviceStatusticket_status
associations.contactscontactIdcontact_id
feedback submission scorefeedbackScorefeedback_score
Martini implementation pattern

Run a scheduled Martini workflow that extracts changed objects using search filters and timestamps, follows pagination, retrieves required associations, applies response-time and escalation classifications, and writes normalized datasets to Snowflake. Store checkpoints, retry transient API failures, and reconcile late or deleted data.

Martini capabilities used
  • scheduler triggers
  • workflows
  • API consumption
  • pagination handling
  • data transformation
  • database or warehouse integration
  • monitoring

Applications commonly integrated with HubSpot Service Hub

HubSpot Service Hub can be integrated with adjacent enterprise applications when service activity, customer context, operational fulfillment, or analytical data must move across systems. These patterns use the respective application APIs and HubSpot’s confirmed REST, webhook, batch, search, import, and file capabilities rather than implying a native connector.

Application Scenario Direction Martini Pattern
Salesforce Synchronize Contacts, Companies, service-related Tickets, ownership, and customer context between sales and service environments. HubSpot Service Hub → Martini → Salesforce Use webhook or scheduled HubSpot workflows to retrieve current objects and associations, map ownership and lifecycle properties, apply conflict rules, and upsert Salesforce records with correlation and retry handling.
ServiceNow Create or update incidents, requests, or cases when HubSpot Tickets require operational or IT fulfillment. HubSpot Service Hub → Martini → ServiceNow Receive selected Ticket events, retrieve the Ticket and related Contact or Company, transform priority and assignment values, create or update ServiceNow work items, and synchronize status or resolution changes back to HubSpot.
Jira Convert technical escalations from HubSpot Tickets into Jira issues and return progress or resolution information. HubSpot Service Hub → Martini → Jira Route qualifying Tickets through a Martini workflow, map service fields to Jira issue fields, store cross-system identifiers, and process reverse status updates through scheduled polling or API-triggered workflows.
Zendesk Synchronize customer support tickets, contacts, and conversation context when both service platforms are used. HubSpot Service Hub → Martini → Zendesk Use HubSpot REST APIs and supported webhook events alongside Zendesk APIs, normalize ticket and requester models, prevent loops with source identifiers, and reconcile missed changes on a schedule.
NetSuite Provide customer, company, and service-related information to ERP and finance processes. HubSpot Service Hub → Martini → NetSuite Extract changed HubSpot Contacts, Companies, or Tickets, resolve associations, map them to NetSuite customer or case-related structures, and process selected reverse updates with controlled retries.
Slack Send selected ticket assignments, escalations, and service notifications to operational channels. HubSpot Service Hub → Martini → Slack Trigger a workflow from supported HubSpot events or scheduled searches, apply escalation rules, format a concise notification, and call the Slack API while recording delivery outcomes.
Microsoft Dynamics 365 Synchronize customer accounts, contacts, ownership, and service activity across CRM environments. HubSpot Service Hub → Martini → Microsoft Dynamics 365 Use incremental HubSpot searches and Dynamics APIs, map Contacts and Companies through a canonical model, resolve associations explicitly, and use idempotent upserts with reconciliation.
Snowflake Load Tickets, Conversations, Contacts, Companies, and feedback data into an analytical warehouse. HubSpot Service Hub → Martini → Snowflake Run scheduled extraction workflows using search, timestamps, pagination, and batch reads; normalize properties and associations; then write curated datasets with checkpoints and failure handling.

How to build a HubSpot Service Hub integration in Martini

Objective

Establish secure access to the target HubSpot portal and downstream systems using the authentication method appropriate to the deployment model.

Instructions in Martini

  • Choose OAuth 2.0 for multi-account or distributed applications, or a private app access token for a single controlled account.
  • Store tokens, client credentials, and refresh information in protected environment configuration.
  • Request only the HubSpot scopes required for the selected objects and operations.
  • Configure downstream API credentials separately from workflow logic.

Objective

Select an event-driven, scheduled, or API-led entry point based on HubSpot webhook coverage and synchronization requirements.

Instructions in Martini

  • Use a Martini workflow endpoint for supported HubSpot webhook notifications.
  • Use a scheduler for incremental searches, batch extraction, reconciliation, or analytics loads.
  • Expose a Martini API when downstream systems need a controlled integration façade.
  • Confirm that the required HubSpot event subscription is available before relying on near-real-time processing.

Objective

Obtain the current HubSpot representation and all required related objects rather than relying only on a webhook notification payload.

Instructions in Martini

  • Retrieve the current Ticket, Contact, Company, Conversation, Feedback submission, or File through the relevant API.
  • Follow collection pagination until the cursor is exhausted.
  • Retrieve associations explicitly and use stable IDs instead of display names.
  • Use search filters, timestamps, batch reads, or known object IDs for incremental processing.

Objective

Coordinate the end-to-end workflow, including enrichment, routing, target writes, and exception paths.

Instructions in Martini

  • Separate event intake from downstream processing when asynchronous execution is appropriate.
  • Add correlation identifiers and source-system identifiers to each processing path.
  • Route validation, permission, rate-limit, and downstream failures to distinct handling branches.
  • Use reusable workflow or API logic for common authentication, lookup, and transformation behavior.

Objective

Transform HubSpot properties, associations, files, and service statuses into the target system’s canonical and application-specific models.

Instructions in Martini

  • Create explicit mappings for Tickets, Contacts, Companies, Conversations, and related associations.
  • Normalize dates, enumerated status values, ownership, priority, and identifiers.
  • Validate required fields and preserve unknown properties where the target model permits it.
  • Apply customer, escalation, retention, and conflict-resolution rules before writing.

Objective

Create or update the downstream object while preserving cross-system identifiers and preventing duplicate records.

Instructions in Martini

  • Prefer idempotent upserts when the target system supports them.
  • Use lookup-before-create logic where the target does not provide idempotent writes.
  • Store HubSpot IDs and target IDs for subsequent updates and reconciliation.
  • For batch or import operations, record accepted, rejected, and pending results separately.

Common HubSpot Service Hub data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
TicketsCustomer service cases, requests, escalations, assignments, statuses, priorities, and resolutions.ServiceNow, Jira, Zendesk, Salesforce, Microsoft Dynamics 365, data warehousesMartini retrieves Ticket properties and associations, applies validation and status mappings, performs idempotent upserts, and synchronizes selected reverse updates.
ContactsIndividuals associated with customer accounts, service activity, conversations, and Tickets.Salesforce, Microsoft Dynamics 365, NetSuite, Snowflake, customer data platformsMartini reads selected properties, resolves associations, maps identity fields, and synchronizes changes using webhooks, search, timestamps, or reconciliation.
CompaniesCustomer organizations associated with Contacts, Tickets, ownership, and service activity.Salesforce, Microsoft Dynamics 365, NetSuite, SnowflakeMartini treats company identifiers and associations explicitly, transforms account attributes, and handles create, update, and reconciliation rules.
ConversationsCommunication threads and inbox activity across supported HubSpot channels.ServiceNow, Zendesk, Snowflake, operational reporting platformsMartini retrieves supported conversation data, normalizes participants and timestamps, applies retention rules, and loads or routes the result to target systems.
Feedback submissionsCustomer survey and service-quality feedback used for analysis, follow-up, and operational reporting.Snowflake, reporting platforms, Salesforce, Microsoft Dynamics 365Martini extracts submissions on a schedule, maps survey properties and customer references, classifies results, and writes normalized records.
Knowledge base articlesSelf-service support content that can be synchronized with content repositories, reporting stores, or service portals.Confluence, reporting platforms, content repositoriesWhere the relevant HubSpot API capability and account permissions are available, Martini can retrieve article data, transform metadata, and synchronize content references or datasets.

Authentication and security considerations

Authentication options

OAuth 2.0 is the recommended approach for integrations that connect to multiple HubSpot accounts or are distributed as applications. Private app access tokens are appropriate for integrations controlled by one HubSpot account. API keys are legacy and should not be recommended for new implementations.

Scopes and secrets

HubSpot scopes should be limited to the objects and operations required by the integration, such as Tickets, Contacts, Companies, Conversations, Files, webhooks, search, or imports. Martini should store OAuth credentials, refresh tokens, and private app tokens in protected environment configuration rather than workflow definitions.

Data protection

  • Use HTTPS API calls and controlled Martini endpoints for webhook intake.
  • Validate webhook and API inputs before processing.
  • Restrict access to customer, conversation, feedback, and file data.
  • Apply file retention and access rules separately from file-transfer logic.

Operational considerations for HubSpot Service Hub integrations

Rate limits and pagination

HubSpot applies account-, application-, and endpoint-specific limits. Handle HTTP 429 responses, respect retry-after information when provided, use exponential backoff, control concurrency, and prefer batch operations where suitable. Collection APIs should be processed until the paging cursor is exhausted.

Associations and idempotency

Tickets, Contacts, Companies, Conversations, and custom objects may require explicit association handling. Use stable HubSpot object IDs, event identifiers, or composite business keys to prevent duplicate writes when webhook delivery or workflow retries occur.

Completeness and schema changes

Because webhook coverage is selective, combine event processing with scheduled search and reconciliation workflows. Validate required properties, avoid assuming custom properties exist in every portal, monitor enumerated values, and keep mapping configuration separate from orchestration logic.

Testing and monitoring

  • Test permissions, scopes, pagination, associations, rate limits, and malformed payloads.
  • Separate retryable platform failures from non-retryable validation or permission failures.
  • Record correlation identifiers, checkpoints, rejected batch items, and downstream responses.
  • Monitor changes in subscription tier, account configuration, and API behavior.

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

Orchestrate more than API calls

Scripts often combine authentication, pagination, mapping, retries, business rules, and target writes in code that is difficult to operate as requirements grow. Martini provides workflow and API orchestration so HubSpot events, scheduled extracts, reconciliation, and downstream actions can be managed as reusable integration assets.

Handle multiple synchronization modes

Martini can combine supported HubSpot webhooks with REST retrieval, scheduled searches, batch operations, Imports API processing, and file transfer. This is useful when webhook coverage does not include every Service Hub action or when high-volume synchronization requires batching.

Improve maintainability

  • Centralize protected authentication and environment configuration.
  • Apply consistent mappings, validation, business rules, retries, and error paths.
  • Expose controlled APIs for downstream applications when an API façade is needed.
  • Use logging, checkpoints, and reconciliation workflows for operational visibility.

Frequently asked questions

How can HubSpot Service Hub be integrated with enterprise systems?

HubSpot Service Hub can be integrated through its REST APIs for Tickets, Contacts, Companies, Conversations, Feedback submissions, Files, Search, Imports, and associations. Selected GraphQL use cases, webhook subscriptions, batch operations, imports, and file APIs can support specialized or high-volume scenarios. OAuth 2.0 and private app access tokens provide the primary authentication methods.

Can Martini integrate with HubSpot Service Hub?

Yes. Martini can consume HubSpot REST APIs, use selected documented GraphQL operations, receive supported HubSpot webhook notifications, and orchestrate batch, import, search, and file workflows. It can map HubSpot data, apply business rules, expose APIs, and synchronize service data with enterprise applications.

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

No. A dedicated HubSpot Service Hub connector is not required. Martini can integrate using HubSpot’s native REST APIs, supported webhooks, GraphQL operations where appropriate, batch and import APIs, file services, search endpoints, and OAuth 2.0 or private app authentication.

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

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

Which HubSpot Service Hub integration methods should a new implementation use?

REST APIs are the primary choice for Service Hub object synchronization and write operations. Use webhooks for supported near-real-time events, scheduled Search API workflows for incremental reconciliation, batch or Imports APIs for migrations and high-volume updates, and the Files API for document movement. GraphQL should be used only after confirming the required schema and object coverage.

Are HubSpot Service Hub webhooks available for events?

HubSpot supports webhook subscriptions for selected CRM object and application events, including supported creation, update, and deletion notifications. Coverage is not universal across all Service Hub actions, so robust designs combine webhooks with scheduled searches or reconciliation workflows when completeness is required.

How does synchronization and data mapping work with HubSpot Service Hub?

Martini can retrieve current HubSpot objects, follow pagination, resolve associations such as Tickets to Contacts or Companies, and map properties into a canonical or target-specific model. Synchronization can use webhook events, modified-date searches, batch reads, and scheduled reconciliation, with stable IDs and checkpoints used to prevent duplicates and detect missed changes.

How are HubSpot errors, retries, and duplicate events handled?

Martini workflows can distinguish authentication, permission, validation, missing-object, rate-limit, temporary platform, and downstream errors. Retryable failures can use controlled retry and backoff paths, while idempotency keys, HubSpot object IDs, source identifiers, or composite business keys prevent duplicate writes. Correlation identifiers and failed payload metadata support operational review.