Webhooks Overview

Webhooks are a powerful tool for creating event-driven integrations with the DealHub platform. Instead of you needing to constantly ask DealHub for updates, Webhooks will automatically send a notification to your system whenever a specific event occurs.

How It Works

Webhooks follow an automatic process that is described by the following steps:

  1. An event happens in DealHub (e.g., a sales rep submits a quote, or an admin activates a new version).

  2. DealHub automatically sends an HTTP POST request with a JSON payload to a secure (HTTPS) endpoint URL that you have configured.

  3. Your application, which is listening at that endpoint, receives the notification and triggers a downstream workflow.

This model is ideal for building integrations that need to react in real-time to actions taken by your sales team.

Webhooks Triggers

Webhooks are published for various activities related to the main business entities in DealHub, such as Quotes, Versions, and Users.

The following sections list every available webhook event and the specific actions or status changes that trigger them.

Quote Entity Events

These events track the lifecycle of a Quote (Proposal).

Event NameTrigger / Description
draftQuotePublished when a user creates a quote and saves it as a draft, or modifies an existing draft.
primaryQuotePublished when a user or system marks a specific quote as the "Primary" quote.
quotePendingApprovalPublished when a user submits a quote that requires approval. It is also published as each approver approves their part of the flow.
quoteReadyPublished when a quote is ready to be shared with the customer. This occurs when a quote requiring approval is fully approved, or when a quote requiring no approval is submitted.
quoteRejectedPublished when an approver rejects the quote.
quoteRecalledPublished when a user explicitly requests to cancel (recall) the quote.
quotePublishedPublished when the quote is published to a DealRoom.
quoteUnpublishedPublished if a user unpublishes the DealRoom.
quoteWonPublished when the quote is signed (either via DealRoom or externally).

Version Entity Events

These events track the configuration lifecycle (Version entity). The payload for these events includes a specific action field indicating the type of change.

Event NameAction (action field)Trigger / Description
versioncreatedAn administrator created a new version from scratch or duplicated an existing version.
versionactivatedAn administrator activated a specific version.
versionreactivatedAn administrator reactivated a version.

User Entity Events

These events track changes to users (Sales reps, Administrators, etc.) within the platform. The payload includes an action field specifying the change.

Event NameAction (action field)Trigger / Description
usercreatedA user was created (e.g., manually by an admin, via API, or upon first authentication).
usermodifiedA user was modified (fields updated, or active status changed by admin).
userdeletedA user was deleted from the system.

System & Async Events

These events relate to bulk data processes or asynchronous API requests.

Event NameTrigger / Description
productsUploadPublished when an SFTP product file upload or Open API upload is completed. The payload indicates if the upload status was success or error.
Failure WebHook v1Published if the system fails to execute an asynchronous API request (e.g., a request to duplicate or activate a version fails).

📘

Webhooks Use Case: BI Integration

  1. Configure a webhook to listen for the quoteWon event.
  2. When a deal is won, your endpoint receives the webhook notification.
  3. Your application extracts the dealhub_quote_id from the payload.
  4. Your application then calls the Get Quote API using that ID to fetch all the detailed line items and answers from the quote.
  5. This detailed data is then logged in your BI system for analysis and reporting.

This workflow allows you to sync rich data without cluttering your CRM, as all the interaction happens directly between your application and DealHub.

The Webhook Payload

Every webhook is sent with a JSON payload containing details about the event. All payloads include a standard event_info object, which contains:

  • webhook_id: The unique identifier of the webhook configuration.

  • event_id: A unique identifier for this specific event notification.

  • api_version: The version of the API that sent the event (currently 1.0).

  • request_id: A dedicated identifier included only if the event was triggered by an asynchronous API call (e.g., during a product upload or version activation).

For quote-related events, the payload will also contain essential identifiers like dealhub_quote_id and dealhub_opportunity_id, which you can use to make subsequent API calls. You can also configure DealHub to include answers to specific playbook questions in a field called additional_data.

Common Fields

Most business entity payloads (Quote, Version, User) also include:

  • execution_date: The GMT date and time the action occurred.

  • executed_by: The login/email of the user who performed the action (or "SYSTEM" for automated actions).

  • impersonated_by: The login of the admin if they performed the action on behalf of another user.

For quote-related events, you can also configure DealHub to include answers to specific playbook questions in a field called additional_data.

Next Steps

To learn how to configure the Webhooks to start receiving notifications from Dealhub, access the How to Configure Webhooks page.