The deepest HubSpot integration in field service
Two-way sync, dual-mapped contractors, auto-provisioned custom properties, and detailed sync logs. Built for HubSpot-first teams.
Built for teams whose business runs on HubSpot
Most field service platforms treat HubSpot as a one-way contact dump. ServiceIQ was architected around HubSpot from day one — every customer, deal, line item, and contractor has a defined relationship to a HubSpot object, with PATCH-then-POST upsert logic that recovers gracefully from missing or stale records.
Connect via OAuth or a private app key, choose what to sync per object type, and ServiceIQ handles the rest: auto-provisioning the custom properties it needs, mapping standard and custom fields, and logging every operation so you can debug with confidence.
True Bi-Directional Synchronization
Changes in ServiceIQ flow to HubSpot. Changes in HubSpot flow back. No more double-entry, no more drift.
Real-Time + Webhooks
Outbound writes are immediate; inbound updates arrive via HubSpot webhooks.
Conflict-Safe Upserts
PATCH-then-POST pattern recovers gracefully from missing or stale records.
Org-Scoped Mappings
Mappings isolated by organization — multi-tenant safe by design.
The operational logic of bi-directional sync
Every syncable record in ServiceIQ has a corresponding row in hubspot_mappings that ties the local UUID to the HubSpot object ID, scoped by organization. Outbound writes always attempt PATCH first; if HubSpot returns 404, we fall back to POST and update the mapping — so a deleted-and-recreated HubSpot record never blocks future syncs.
Inbound changes arrive through HubSpot webhooks, which fire into a dedicated edge function. The function verifies the signature, looks up the mapping, and applies the change with an idempotent upsert — duplicate webhooks are safely ignored.
Sync settings are evaluated per organization and per entity type at write time, so toggling 'sync customers' off in one org never affects another, and no in-flight changes get orphaned.
Connect in minutes — OAuth or private app
Pick the connection method that fits your HubSpot governance. The OAuth flow handles authorization and token refresh automatically. Private app keys are supported for organizations that prefer a service-account model.
Managed OAuth
One-click HubSpot account selection with automatic refresh-token rotation.
Private App Key
Paste a private app key for organizations that disallow public OAuth apps.
Per-Org Isolation
Each ServiceIQ organization connects its own HubSpot portal independently.
Customers Sync as HubSpot Companies
Every customer in ServiceIQ maps to a HubSpot company — with addresses, custom fields, and contact associations preserved.
Company Properties
Standard and custom company properties stay in sync both ways.
Contact Associations
Customer contacts auto-associate to the company in HubSpot.
Address Geocoding
Addresses entered in either system stay aligned and geocoded.
Deals, line items, and recurring billing — all bidirectional
ServiceIQ's deals system mirrors HubSpot's. Pipelines, stages, line items (with SKU, quantity, discount, and term-in-months), and product associations sync in both directions. When a deal hits a configured stage, ServiceIQ automatically provisions the project — closing the loop between sales and delivery.
- Multi-pipeline support: Map ServiceIQ pipelines to HubSpot pipelines and stages individually.
- Line item sync: SKU, quantity, unit price, discount percentage, position on quote, and recurring billing period.
- Product catalog sync: Bidirectional product mapping including historical import.
- Auto project creation: When a deal hits the configured stage, the project is created automatically.
- Sync-and-delete pattern: Outbound line item sync uses sync-and-delete to keep HubSpot in lock-step with ServiceIQ.
Dual-mapped contractor sync — Company + Contact
Contractors are unusual: they need to live in HubSpot as both a company (for marketing and reporting) and a contact (for direct outreach). ServiceIQ's dual-sync strategy creates both objects with a formal HubSpot association, so you can segment, email, and report against contractors either way.
- Company + Contact pair: Each contractor exists as both objects with proper HubSpot association.
- Multi-contact support: Add multiple contractor contacts under the same company record.
- Skills, rates, and territory: Contractor metadata flows into custom HubSpot company properties.
- Bidirectional updates: Edits on either side propagate, with conflict-safe upsert logic.
The operational logic of deals, line items, and dual-mapped contractors
Deals sync against a configurable pipeline-and-stage map: each ServiceIQ pipeline points to a HubSpot pipeline ID, and each stage maps to a HubSpot stage ID. When a deal moves stages locally, the outbound writer translates the stage to HubSpot's vocabulary before patching — and the inbound webhook reverses the translation. One stage per pipeline can be flagged as 'project-creating', which triggers automatic project provisioning the moment the deal lands there.
Line items use a sync-and-delete strategy on outbound writes: ServiceIQ fetches the deal's existing HubSpot line items, diffs them against the local set, and then creates, patches, or deletes individual rows so HubSpot ends up exactly mirroring ServiceIQ. Product associations follow the same pattern, and recurring billing fields (term in months, billing period) round-trip without flattening.
Contractors live as a Company + Contact pair joined by a formal HubSpot association. The company record carries searchable metadata (skills array, hourly rate, territory) while the contact record carries the human details for direct outreach. Both records share a single hubspot_mappings row keyed by the company ID, with the contact ID stored as metadata — so adding a second contact later doesn't break the original mapping.
Auto-Provisioned Custom Properties
ServiceIQ creates the HubSpot custom properties it needs (site address, project status, etc.) on first sync — no manual setup.
Zero-Config Setup
Properties like serviceiq_site_address are created automatically on first sync.
Property Mapping UI
Map your existing HubSpot properties to ServiceIQ fields visually.
Hidden Field Support
Map internal-only fields without exposing them in HubSpot UI.
Transparent sync logs you can actually use
Every sync operation — outbound and inbound — is recorded with status, error message, HubSpot object ID, and the raw request/response payload. Filter by entity type, operation, or status to pinpoint issues; use the live debug panel to inspect payloads while testing.
- Operation-level logs: Filter by entity type, operation (create/update), and status (success/error).
- Inline error recovery: Failed syncs surface so you can retry or fix the source data immediately.
- Live debug panel: Inspect outbound and inbound payloads in real time during testing.
- Webhook visibility: See every inbound webhook from HubSpot, including ones that were filtered out.
Native HubSpot Projects panel
For organizations using HubSpot's native Projects object, ServiceIQ exposes a dedicated panel that lists those projects, their associations, and their sync status — bridging the gap between HubSpot's project tracking and ServiceIQ's delivery workflow.
- Native object visibility: See HubSpot Projects directly in ServiceIQ alongside your delivery projects.
- Association awareness: View which deals, companies, and contacts are linked to each project.
- Read-friendly: Surfaces HubSpot project data without forcing you to leave ServiceIQ.
Discover Other Features
Explore the rest of the ServiceIQ platform.
Job Management
Scheduling, kanban pipelines, time tracking, and customer updates.
Learn moreProject Governance
RFIs, submittals, drawings, document control, and audit trails.
Learn moreTeam Coordination
Contractors, multi-user assignments, roles, and partner access.
Learn moreAdditional Capabilities
Territories, dashboards, custom fields, search, and imports.
Learn moreHubSpot-First Field Service, Done Right
If your business runs on HubSpot, this is the field service platform you've been waiting for.
