Skip to main content

DealHub

DealHub is a quote-to-cash platform that unifies CPQ (Configure, Price, Quote), CLM (Contract Lifecycle Management), subscription management, and revenue recognition. Sales teams drive quotes through a guided-selling Playbook, and the final output can be a document (PDF, Word, Excel) or an interactive DealRoom with e-signature.

The Willow DealHub connector exposes DealHub's Quote, Headless Quoting, Version, Product Catalog, Playbook, and User APIs as MCP tools — letting your AI assistants retrieve and generate quotes, manage opportunities, simulate pricing, track DealRoom signatures, and look up versions, products, and users directly from chat or your agentic workflows.

Authentication Types

DealHub supports 2 authentication methods through this connector. Both use a secret DealHub Authentication Token (a Bearer token) sent in the Authorization header.

  • API Key — A single shared DealHub Authentication Token used for all users.

    • Pros: Simple setup, works for unattended / server-to-server workflows.
    • Cons: One credential shared across all users (no per-user attribution).
  • API Key (per user) — Each user supplies their own DealHub Authentication Token.

    • Pros: Per-user attribution; each user acts with their own token and permissions.
    • Cons: Every user must generate and paste their own token.
tip

The same DealHub Authentication Token works across DealHub's Quote, Version, User, Pricing, Generate Quote/Actions, and Partner APIs.

Configuration

Before using the connector, set:

  • API Base URL — Your DealHub instance base URL (no trailing slash). Defaults to https://api.dealhub.io. Use your region-specific instance if applicable (for example https://service-eu1.dealhub.io).

Generating an API Key

The DealHub Authentication Token is generated by a CPQ administrator.

  1. Sign in to DealHub as a CPQ administrator

  2. Go to Control PanelSystem SettingsAPI Settings

  1. Click Add to generate a new DealHub Authentication Token
  1. Copy the token immediately

    warning

    The token is shown only once. If you lose it, you must generate a new one.

  2. In Willow, go to IntegrationsNewBuilt-inDealHubUse

  3. Under Authentication Type, select API Key (or API Key (per user) to have each user paste their own token)

  4. Paste the DealHub Authentication Token

  5. Under Configuration, set the API Base URL (defaults to https://api.dealhub.io; use your region-specific instance if applicable)

  6. Click Save Changes, then Connect

Available Tools

The connector ships with the following tools:

  • Quote ManagementGet Quote, List Quotes, Get DealHub Quote ID, Get Quote Document, Create Opportunity, Get DealRoom Signers
  • Headless QuotingSimulate Quote, Generate Quote, Submit Quote, Publish Quote, Sign Quote Externally
  • VersionsList Versions, Get Version by ID, Get Version by Name
  • Product CatalogGet Version Products, Get Products by SKU
  • PlaybookGet Playbook Data, Get Generate Quote Template
  • UsersList Users, Get User by ID, Get User by Login, Create or Update Users
  • AsyncGet Async Request Status

Key Concepts

  • CRM-governed — DealHub operates as a satellite to your primary CRM. Many calls rely on identifiers that originate there, such as external_opportunity_id and external_customer_id.
  • Version-based configuration — Products, pricing, and API configuration are encapsulated within a Version. Many calls operate in the context of a specific version_id (or the currently active version).
  • Asynchronous operationsGenerate Quote, Submit Quote, Publish Quote, Sign Quote Externally, and version/catalog operations run in the background and return a tracking id. Poll Get Async Request Status to check progress.

Common Use Cases

Retrieve a full quote

  1. Use List Quotes with external_opportunity_id to find the quote linked to a CRM opportunity
  2. Use Get Quote with the dealhub_quote_id and feature = all to fetch the complete quote (line items, answers, approvals, summary, DealRoom info)
  3. Use Get Quote Document to download the PDF/Word output for a submitted quote

Simulate pricing without saving

  1. Use List Versions (filter by ACTIVE) to find the version_id
  2. Use Simulate Quote with the version_id and either an external_opportunity_id or geo_code + currency, plus quote_data and line_items

Generate a quote end to end

  1. Use Get Generate Quote Template for the target version + playbook to get the exact quote_data and line_items structure
  2. Use Generate Quote with external_opportunity_id, request_action (draft/submit/publish/sign_externally), document_type, and the filled template
  3. Poll Get Async Request Status with the returned request id until it is done
  4. Use Get DealRoom Signers to track signatures once the quote is published

Renewal automation

  1. Use Create Opportunity to create the opportunity in DealHub (owner, currency, customer)
  2. Use Generate Quote referencing the new opportunity

Troubleshooting

403 Unauthenticated / Forbidden

Requests fail with 403.

Cause: The DealHub Authentication Token is missing, invalid, or was revoked.

Solution:

  1. Confirm the token is pasted correctly in Willow (no extra spaces).
  2. Generate a fresh token in DealHub under Control PanelSystem SettingsAPI Settings.
  3. Reconnect the integration in Willow.

Wrong instance / DNS or 404 errors

Requests fail to reach DealHub or return unexpected 404s.

Cause: The API Base URL points at the wrong DealHub instance.

Solution:

  1. In Willow, open the DealHub integration → Configuration.
  2. Set the API Base URL to your instance (for example https://api.dealhub.io or your region-specific host like https://service-eu1.dealhub.io), with no trailing slash.

400 Bad Request on Get Quote Document

Cause: The quote is still a Draft (documents are only available for submitted quotes), or the requested document_type isn't enabled for that quote's playbook.

Solution:

  1. Confirm the quote has been submitted/generated.
  2. Omit document_type to get the format the salesperson originally generated, or enable the desired format for the playbook in DealHub CPQ settings.

400 Bad Request on Simulate Quote

Cause: Both external_opportunity_id and (geo_code + currency) were provided, or quote_data was omitted.

Solution:

  1. Provide either external_opportunity_id or both geo_code and currency — not both.
  2. Always include quote_data (send [] if there are no answers).

Asynchronous action seems to have no effect

Cause: Generate Quote, Submit Quote, Publish Quote, and Sign Quote Externally are asynchronous — a 202 response only confirms the action was accepted.

Solution:

  1. Use Get Async Request Status with the returned request id to confirm completion.
  2. Verify the quote is in a valid state for the action (for example, a quote must be Ready to be sent or Published before it can be signed externally).

Additional Resources

Need Help?

If you encounter issues not covered in this guide, please contact Willow support with:

  • The exact error message and HTTP status code
  • The tool you were using (e.g., Generate Quote)
  • Your DealHub instance base URL