.png)
DealHub Integration Guide
Integrate DealHub with CRMs, ERP platforms, and operational systems through authenticated APIs, selected callbacks, scheduled synchronization, and document workflows.
DealHub integration options at a glance
DealHub integrations commonly use authenticated API-based exchanges for CRM synchronization, product and pricing data, quoting, order handoff, and subscription processes. DealHub also supports selected integration or notification patterns, although universal webhook coverage and event behavior must be confirmed for each tenant and module. Proposal and sales documents may be exchanged through a supported document endpoint, CRM integration, or export mechanism. Martini can consume documented DealHub REST endpoints, receive supported callback requests, orchestrate scheduled polling when events are unavailable, map and transform quote data, and apply validation, checkpointing, retry, and idempotency controls. Direct database access and unverified GraphQL or SOAP interfaces should not be assumed.
| Integration point | Supported by DealHub? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Limited | DealHub is commonly integrated through API-based patterns for CRM synchronization, product and pricing data, quoting, order handoff, and subscription processes. A complete generally available public REST reference was not verified, so tenant-specific resources and operations must be confirmed. | Martini can consume documented DealHub REST endpoints using HTTP requests, configured authentication, request and response mappings, pagination logic, validation, and workflow error handling. |
| Webhooks / outbound callbacks | Limited | DealHub supports integration-oriented event or notification patterns in selected product and CRM scenarios. Universal webhook coverage, event catalogs, delivery formats, and retry behavior are not confirmed. | Martini can expose an API endpoint or receive webhook-style HTTP requests through a workflow when DealHub provides a documented callback mechanism. The workflow can re-fetch the full object when a notification contains only an identifier. |
| File / attachment APIs | Limited | DealHub generates proposals and other sales documents, but a general attachment API was not verified. Documents may instead be available through a CRM integration, a DealHub-specific endpoint, or an export mechanism. | Martini can retrieve or forward files, URLs, or document identifiers when the tenant exposes them, and can map document metadata while applying authentication, validation, and failure handling. |
| Authentication | Limited | DealHub integrations require authenticated access, but the direct API credential, token, scope, permission, and tenant-header model must be confirmed for the relevant module and environment. | Martini can keep credentials in secrets management and apply the confirmed header, token, OAuth, or other authentication scheme to outbound requests. It can also expose controlled inbound APIs for callbacks. |
| Scheduled synchronization | Yes | Scheduled polling can synchronize quote status, product data, customers, orders, or subscriptions when a required callback is unavailable and the DealHub interface exposes suitable filters or checkpoints. | Martini can run scheduled workflows, persist timestamps or cursors, use overlap windows, compare state, and perform idempotent upserts with bounded retries. |
| Bulk / asynchronous / batch APIs | Not confirmed | No generally available official bulk or asynchronous API was verified. A particular module may expose export jobs or batch operations that require deployment-specific confirmation. | Martini can orchestrate paginated or scheduled processing and checkpoint progress when bulk operations are unavailable. It can consume a documented export or batch interface if one is provided. |
| GraphQL APIs | Not confirmed | No official DealHub GraphQL API documentation was found, so GraphQL should not be selected without a specific confirmed deployment interface. | Martini can consume GraphQL APIs generally, but a DealHub GraphQL integration should only be implemented after the endpoint, schema, authentication, and operations are verified. |
| SOAP APIs | Not confirmed | No current official DealHub SOAP API documentation was found. SOAP should not be assumed for current integrations or selected unless a deployment exposes a documented legacy service. | Martini can consume SOAP services generally, but any DealHub SOAP workflow would depend on a confirmed WSDL, authentication model, and supported operations. |
How DealHub exposes data and business events
DealHub REST APIs
DealHub is commonly integrated with external applications through API-based exchanges for CRM synchronization, products, pricing, quoting, orders, and subscriptions. A complete public REST reference was not verified, so the tenant API definition and enabled modules must be confirmed.
Martini implementation pattern
Martini implementation pattern: configure authenticated HTTP requests in a workflow, retrieve or submit the documented DealHub resource, transform the payload into a canonical model, apply validation and business rules, and write the result to the target system. Store identifiers and checkpoints for repeatable synchronization.
Implementation sequence
DealHub webhook-style callbacks
DealHub supports integration or notification patterns in selected scenarios, but universal webhook coverage and a complete event catalog were not verified. Availability may depend on the module, CRM connection, and tenant configuration.
Martini implementation pattern
Martini implementation pattern: expose a controlled inbound API or webhook workflow, validate the request and any signature requirements, identify the DealHub object, and retrieve the current resource before downstream processing when the callback contains only an identifier. Use scheduled polling when the required event is unavailable.
Implementation sequence
DealHub scheduled synchronization
Scheduled synchronization is a fallback for quote, product, customer, order, or subscription changes when an appropriate callback is unavailable. The usable filter and pagination model must be confirmed for the tenant API.
Martini implementation pattern
Martini implementation pattern: run a scheduler-triggered workflow with a persisted timestamp, cursor, or source identifier, retrieve changed data with an overlap window, process pages or batches, and advance the checkpoint only after successful target writes.
Implementation sequence
DealHub document and file exchange
DealHub produces proposals and other sales documents, but a general attachment API was not verified. A tenant may expose binary content, a downloadable URL, a document identifier, or an export mechanism.
Martini implementation pattern
Martini implementation pattern: retrieve the supported document representation, validate its authorization and expiration, map document metadata, and deliver it to the target application or storage service. Do not assume that a quote response contains a complete proposal file.
Implementation sequence
Common DealHub integration patterns
Pattern 1: Create DealHub quotes from CRM opportunities
When to use this pattern
Use this pattern when Salesforce, HubSpot, or Microsoft Dynamics 365 owns the sales opportunity and DealHub owns configuration, pricing, and quote generation. The workflow should prevent duplicate quotes and preserve ownership of CRM and DealHub fields.
Integration direction
Example Mapping
| DealHub Field | Canonical Field | Target Field |
|---|---|---|
| opportunityId | sourceOpportunityId | externalOpportunityId |
| accountId | customerAccountId | customerId |
| productLines | configuredItems | quoteLines |
| currency | currencyCode | currency |
Martini implementation pattern
A Martini workflow receives a CRM change or runs on a schedule, validates opportunity stage and required product inputs, maps the opportunity into a DealHub deal or quote request, and stores the returned DealHub identifier. It checks for an existing identifier before creation, applies pricing and approval rules without recalculating DealHub-managed pricing, and routes validation or transient failures separately.
Martini capabilities used
- workflows
- API consumption
- data mapping
- business rules
- secrets management
- error handling
Pattern 2: Synchronize DealHub quote approvals to a CRM
When to use this pattern
Use this pattern when DealHub manages quote configuration and approval while the CRM remains the sales reporting system. It supports selected callback events or scheduled polling for draft, submitted, approved, rejected, accepted, expired, and cancelled states.
Integration direction
Example Mapping
| DealHub Field | Canonical Field | Target Field |
|---|---|---|
| quoteStatus | commercialStatus | opportunityQuoteStatus |
| quoteAmount | totalAmount | amount |
| approvalDetails | approvalSummary | approvalStatus |
| documentUrl | proposalReference | quoteDocumentUrl |
Martini implementation pattern
Martini receives a supported DealHub notification or polls for changed quotes, then retrieves the complete quote and approval details. It maps status, amount, discount, terms, approvers, and document references to the CRM, applies field-ownership rules, and uses the DealHub quote ID plus source identifiers to make repeated events safe.
Martini capabilities used
- API consumption
- workflow triggers
- scheduled workflows
- data mapping
- validation
- idempotency
Pattern 3: Handoff approved quotes to an ERP
When to use this pattern
Use this pattern when an approved or accepted DealHub quote must become an order in NetSuite or SAP. It is appropriate for quote-to-cash processes that require customer, product, tax, currency, billing, and shipping validation before order creation.
Integration direction
Example Mapping
| DealHub Field | Canonical Field | Target Field |
|---|---|---|
| quoteId | sourceQuoteId | externalQuoteId |
| customerAccount | customerReference | entity |
| quoteLines | orderLines | itemLines |
| billingTerms | paymentTerms | terms |
Martini implementation pattern
A Martini workflow detects approval through a supported callback or scheduled status check, retrieves the current quote, validates cross-reference data, and transforms the quote into the ERP order model. It uses a stable idempotency key, records the ERP order ID, retries transient failures, and creates an exception path when the ERP succeeds but the downstream DealHub update fails.
Martini capabilities used
- workflows
- API consumption
- data transformation
- business rules
- error handling
- monitoring
Pattern 4: Synchronize DealHub products and pricing
When to use this pattern
Use this pattern when a designated catalog master must provide products, bundles, price books, or pricing configuration to DealHub. The tenant must expose the required product and pricing operations before write-back is designed.
Integration direction
Example Mapping
| DealHub Field | Canonical Field | Target Field |
|---|---|---|
| itemId | productIdentifier | productId |
| bundleComponents | configurationOptions | bundleOptions |
| effectiveDate | pricingEffectiveFrom | effectiveDate |
| unitPrice | catalogPrice | price |
Martini implementation pattern
A scheduled Martini workflow retrieves catalog changes, compares source versions and effective dates, transforms products and pricing into the available DealHub model, and updates only changed items. It avoids deleting products referenced by historical quotes, records synchronization outcomes, and falls back to checkpointed retrieval when bulk operations are unavailable.
Martini capabilities used
- scheduled workflows
- API consumption
- mapping and transformation
- business rules
- checkpointing
- error handling
Applications commonly integrated with DealHub
DealHub is commonly positioned alongside CRM, ERP, billing, signature, and operational platforms. The exact integration surface depends on the DealHub module, edition, tenant configuration, and interfaces enabled by the adjacent application.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce | Synchronize opportunities, accounts, contacts, products, quotes, approvals, and closed-won outcomes between the CRM and DealHub. | Salesforce → Martini → DealHub | Use a Martini workflow triggered by Salesforce changes or a scheduled retrieval process. Map opportunity and product data into a DealHub deal or quote request, persist the DealHub identifier, and synchronize quote status, amounts, approval results, and document references back through the available Salesforce interface. |
| HubSpot | Create or update DealHub quotes from HubSpot deals and return quote amounts, status, and document references to sales users. | HubSpot → Martini → DealHub | Consume the available HubSpot and DealHub APIs through a Martini workflow, validate deal and product inputs, transform them into the DealHub model, and perform idempotent updates. Poll or receive supported notifications for quote changes before writing status back to HubSpot. |
| Microsoft Dynamics 365 | Connect Dynamics sales opportunities and accounts with DealHub quoting, pricing, and approval processes. | Microsoft Dynamics 365 → Martini → DealHub | Expose or schedule a Martini workflow that retrieves Dynamics opportunity data, applies product and currency mappings, submits the supported DealHub request, and stores cross-system identifiers. A second path can retrieve DealHub status and update Dynamics while preserving system-of-record rules. |
| NetSuite | Transfer accepted commercial transactions to NetSuite and synchronize customer, product, billing, and order information. | DealHub → Martini → NetSuite | Use a callback or scheduled DealHub status workflow to retrieve the complete approved quote, validate customer and product cross-references, transform it into a NetSuite order request, and write the resulting order identifier back to DealHub or the CRM. Apply an idempotency key and compensate for partial failures. |
| SAP | Transfer approved commercial transactions to SAP for order fulfillment, billing, or finance processing. | DealHub → Martini → SAP | Orchestrate a Martini workflow that detects an approved or accepted quote, enriches missing master-data references where permitted, maps tax, currency, customer, and line-item values to SAP's interface, and records processing status. Retry transient failures while routing validation failures for review. |
| DocuSign | Support proposal or agreement signature workflows and return signature status to DealHub or the connected CRM. | DealHub → Martini → DocuSign | When the tenant exposes the required document interface, retrieve a file, URL, or document identifier from DealHub, transform metadata for DocuSign, and orchestrate status callbacks back to DealHub or the CRM. Confirm document authentication, URL expiration, and file-size constraints before implementation. |
| Stripe | Support payment or billing workflows associated with DealHub subscription or commercial transactions. | DealHub → Martini → Stripe | Use Martini to validate customer and subscription inputs, map DealHub commercial terms to the available Stripe interface, and return payment or subscription status. Treat this as a deployment-specific architecture pattern because the required DealHub billing interface must be confirmed. |
| ServiceNow | Route approved orders, provisioning requests, or customer onboarding work into operational workflows. | DealHub → Martini → ServiceNow | Trigger a Martini workflow from an approved DealHub quote or scheduled status check, map customer, order, and provisioning details into a ServiceNow request, and store the resulting task or request identifier. Use correlation IDs and status synchronization to avoid duplicate operational work. |
How to build a DealHub integration in Martini
Objective
Confirm the DealHub tenant interface, API base URL, enabled modules, authentication scheme, roles, scopes, and environment before building workflows.
Instructions in Martini
- Confirm whether the required DealHub API or callback interface is enabled
- Store credentials and tokens in Martini secrets management
- Configure HTTPS requests with the tenant-specific headers and authorization model
- Validate access in a sandbox or controlled test environment
Objective
Select an event-driven or scheduled entry point based on the DealHub events and filters available in the tenant.
Instructions in Martini
- Use a supported callback for selected real-time events
- Expose a controlled Martini API when DealHub can deliver callbacks
- Use a scheduler when callbacks are unavailable or incomplete
- Define the source event, object, and checkpoint strategy
Objective
Obtain the complete DealHub object required for processing rather than relying on a notification payload that may contain only an identifier.
Instructions in Martini
- Retrieve the current DealHub deal, quote, product, customer, order, or subscription
- Implement the confirmed pagination and filtering model
- Use an overlap window for timestamp-based synchronization
- Persist source identifiers and retrieval checkpoints
Objective
Coordinate validation, enrichment, transformation, target calls, and response handling in a maintainable Martini workflow.
Instructions in Martini
- Separate vendor-specific API calls from canonical data handling
- Apply business ownership rules before writing data
- Use correlation IDs across DealHub and target requests
- Route validation failures and transient failures through distinct paths
Objective
Convert DealHub quoting and commercial data into the target application's model while preserving pricing and identifier semantics.
Instructions in Martini
- Map products, quantities, currency, terms, discounts, and approval values
- Normalize dates, decimals, statuses, and identifiers
- Preserve DealHub-calculated pricing unless a different rule is explicitly required
- Handle optional and tenant-specific fields defensively
Objective
Create or update downstream CRM, ERP, billing, signature, or operational objects with duplicate prevention and clear ownership.
Instructions in Martini
- Check for an existing external identifier before creating objects
- Use stable idempotency keys for quote and order handoffs
- Write the resulting target identifier back to the source process where appropriate
- Handle partial success without repeating completed creates
Common DealHub data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Deals | Represent sales opportunities or commercial transactions being configured and quoted. | Salesforce, HubSpot, Microsoft Dynamics 365, ServiceNow | Martini maps CRM identifiers, account context, products, quantities, currency, and commercial terms into DealHub requests, then stores cross-system identifiers and synchronization status. |
| Quotes | Contain configured products, pricing, discounts, terms, approval status, and proposal information. | Salesforce, Microsoft Dynamics 365, NetSuite, SAP, DocuSign | Martini retrieves or receives quote changes, re-fetches the complete quote when necessary, validates required fields, maps status and financial values, and applies idempotent downstream updates. |
| Products | Represent catalog items, services, bundles, and configurable offerings used in quotes. | Salesforce, NetSuite, SAP, HubSpot | Martini can schedule product synchronization, transform catalog and configuration fields, compare versions and effective dates, and update DealHub only where tenant APIs expose the required operations. |
| Customers / Accounts | Associate organizations or customer profiles with deals, quotes, orders, and subscriptions. | Salesforce, Microsoft Dynamics 365, NetSuite, SAP, ServiceNow | Martini applies ownership and cross-reference rules, validates customer identifiers, and performs controlled upserts without overwriting fields owned by another system. |
| Orders | Represent accepted or booked commercial transactions created from approved quotes. | NetSuite, SAP, ServiceNow, Salesforce | Martini validates approved quote data, transforms lines, tax, currency, billing, and shipping details, submits the target order, and records the resulting order identifier with retry and compensation handling. |
| Subscriptions | Represent recurring commercial agreements or subscription commitments when Subscription Management is enabled. | Stripe, NetSuite, Salesforce, SAP | Martini synchronizes subscription identifiers, terms, status, and billing references only when the relevant DealHub module and API operations are enabled, using checkpoints and idempotent updates. |
Authentication and security considerations
Tenant-specific authentication
DealHub requires authenticated integration access, but the direct API credential, token, scope, permission, and tenant-header model must be confirmed for each module and environment. Do not assume that a Salesforce OAuth token can be reused for direct DealHub API calls.
Credential protection
- Store DealHub credentials and tokens in Martini secrets management.
- Use least-privilege roles and restrict access to quoting, pricing, customer, order, subscription, or document data as required.
- Confirm token lifetime, rotation, expiration, and environment-specific permissions.
- Use HTTPS and redact credentials and sensitive commercial data from logs.
Inbound callbacks
When DealHub provides a callback mechanism, validate authentication, request signatures, tenant context, event type, and replay or duplicate behavior before processing the request.
Operational considerations for DealHub integrations
API discovery and limits
Confirm the tenant API base URL, resource names, enabled modules, pagination model, request limits, and available filters. Do not assume that bulk endpoints, universal webhooks, or a general attachment API exist.
Synchronization control
- Persist timestamps, cursors, or source identifiers after successful writes.
- Use overlap windows and idempotent upserts for incremental synchronization.
- Apply bounded retries and backoff for 408, 429, and transient 5xx responses.
- Use dead-letter or exception handling for non-retryable validation failures.
Commercial data consistency
Pricing can depend on configuration, bundles, quantities, currency, terms, discounts, customer segment, approval thresholds, and effective dates. Prefer DealHub-calculated pricing unless the business explicitly requires another source. Define ownership for products, accounts, quote status, orders, and subscriptions.
Schema and document changes
Protect mappings against custom-field changes, picklist updates, product version changes, decimal and currency differences, and non-linear quote status transitions. Confirm whether documents are returned as files, URLs, or identifiers before designing transfers.
Why use Martini instead of scripts or point-to-point integrations?
Orchestration beyond point-to-point calls
Martini provides workflows that coordinate DealHub API calls, CRM and ERP interfaces, validation, enrichment, business rules, and downstream updates in one maintainable integration asset.
Reliable synchronization
Instead of embedding fragile scripts in individual applications, Martini can combine callbacks, scheduled retrieval, checkpoints, idempotency, retries, and exception handling for repeatable quote and order processing.
Reusable integration logic
Mappings, transformations, authentication configuration, and error-handling patterns can be reused across DealHub modules and adjacent systems while keeping tenant-specific details isolated.
Controlled APIs
Martini can expose controlled APIs for CRM requests or DealHub callbacks, apply authorization and request validation, and provide a consistent interface to downstream systems without assuming a native DealHub connector.
Frequently asked questions
DealHub can be integrated through authenticated API-based exchanges for CRM synchronization, product and pricing data, quoting, order handoff, and subscription processes. Selected integration or notification callbacks may also be available, while document exchange can depend on tenant-specific endpoints, CRM integrations, or exports. Scheduled polling is an alternative when required events are unavailable.
Yes. Martini can integrate with DealHub through a documented tenant REST API, supported callback mechanism, file or document interface, or a connected application's API. Martini can orchestrate workflows, map and transform quotes and commercial data, apply validation and idempotency rules, and synchronize results with CRMs, ERP platforms, and other systems.
No. A dedicated DealHub connector is not required. Martini can use DealHub's confirmed native integration mechanisms, such as documented API endpoints, supported callbacks, files, authentication methods, or interfaces exposed by a connected CRM. The exact tenant and module capabilities should be confirmed before implementation.
Lonti does not charge an additional per-connector or per-vendor fee to integrate DealHub. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from DealHub, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.
Authenticated REST APIs are the primary candidate for new integrations, subject to confirmation of the tenant API definition, resources, and permissions. Selected webhook-style callbacks may support event-driven flows, while scheduled synchronization can cover gaps. GraphQL and current SOAP interfaces were not confirmed and should not be assumed.
DealHub supports integration-oriented notification patterns in selected scenarios, but universal webhook coverage and a complete event catalog were not verified. Confirm the required quote, approval, order, product, customer, or subscription events, delivery authentication, signing, retries, and payload completeness. Martini can receive supported callbacks or poll for changes when callbacks are unavailable.
Synchronization can use callbacks for supported events or scheduled workflows with modified-time, status, version, or cursor checkpoints. Martini retrieves the current object, maps it to a canonical model, applies ownership and validation rules, and performs idempotent upserts. Overlap windows help account for clock skew and late-arriving updates.
Martini can classify validation and transient failures, apply bounded retries with backoff, log correlation identifiers, and route non-retryable errors for review. Duplicate prevention uses stable identifiers such as DealHub quote IDs, CRM opportunity IDs, external order IDs, or composite idempotency keys rather than quote names alone.
Related Martini documentation
APIs
Workflows
Build a maintainable DealHub integration with Martini
Use Martini to connect DealHub with your CRM, ERP, billing, document, and operational systems through governed APIs, workflows, mappings, and reliable synchronization.