RevOps keeps your business informed of key events in your customer lifecycle by sending webhook requests for each important event.

With every change to a Deal in RevOps, an event will automatically be sent to each webhook that you have configured to receive deal events.

URLs for webhooks can be configured in your RevOps instance at /integrations/webhooks

Deal Webhook Response Format

A Deal object represents a complete view of your deal in any status. This includes agreement terms, skus, feature_flags and other important contract information that can be used to provision billing, activate customer entitlements and much more.

The standard webhook response payload will contain a deal property. In the reference documentation below, you can discover the pertinent information for your task at hand.

{
  "body": {
    "event": {
      "id": "671b6fad-2634-49b4-bef5-5f4f18887ad6",
      "time": 1619674995,
    },
    "deal": { /* Defined in this reference documentation */ }
  }

deal

A complete list of properties on a customer deal.

name type description
id string (UUID) id is a globally unique identifier addressing the deal.
status string (ENUM) An enumerated value representing the current deal. See Deal Status for options.
signed_contract_url string (URL) URL to the completed signed Contract. The field is null when signing has not started or incomplete.
contract_activates_date string (ISO8601) The date of contract activation in ISO8601 format. All dates are in UTC.
opportunity_id string The string representing the deal's associated Opportunity from the connected CRM.
original_net_price string (Money) The originalNetPrice describes a calculated total of the original deal without user-defined deviations.
original_net_price_currency string (ENUM) See Currency section on supported currency values.
original_net_price_precision int Precision value right of the decimal of originalNetPrice.
net_price string (Money) The netPrice describes a calculated total of the final deal amount with all user-defined deviations.
net_price_currency string (ENUM) See Currency section on supported currency values.
net_price_precision int Precision value right of the decimal of netPrice.
skus array (sku Objects) A complete list of products (SKUs) associated with this deal. See SKUs section for more information.
terms array (term Objects) A complete list of Legal and Payment Terms associated with this deal. See Legal Terms section for more information.

Property schema definitions for object models.

The following describes all higher-level object models described in deal properties.

deal.status

Deal Status describes the business workflow status.

List of Status Options for deal.status

name description
draft Deals in draft are private and not submitted for approval.
attention Deals in attention are to be responded to urgently defined by company's policy. Deals moved into this status can trigger notifications.
in-review Deals in in-review are under standard SLAs defined by company's deal desk.
approved Deals ready to be sent to customer's for negotiation are put in approved status.
negotiation Deals in negotation are available to be viewed publicly by the customer.
signing Deals in signing status are out for signature, where at least one signature has been submitted.
signed Deals in signed status have completed all buyer and seller signatures.
rejected Deals in rejected status are not available for signature. They can move back to draft by owners when being edited.
deleted Deals in deleted status are not available via the REST API and have been archived from users.

deal.skus

deal.skus contains a list of sku objects. A SKU object represents a purchased item that contains information about how to price, collect, and activate entitlements known as feature flags.

List of Properties for <sku>

Name Type Description
id string (UUID) id is a globally unique identifier addressing the sku.
friendly_name string Friendly name is a short string the SKU is referred to.
status string (ENUM) Status defines whether the SKU is active, retired, or archived.
quantity int An integer value representing the total quantity of the SKU.
title string Public title of the SKU used on customer facing contracts.
description string Public description of the SKU that is displayed on customer facing contracts.
original_description string Default public description the SKU used on customer facing contracts.
unit_name string A singular or plural noun describing the SKU in units.
billing_schedule string (ENUM) The schedule the SKU will be charged on. Enumerated values: monthly, annual, quarterly, one-time, usage
sku_group string (ENUM) A Sku Group defines how to group the sku together on a quote. Options are professional-services, fixed-costs, variable-costs.
feature_flags array <FeatureFlag> A list of feature flag objects configured for the SKU. See Feature Flags for definition of objects in array.
unit_price string (Money) The list price defined by the user.
unit_price_currency string (ENUM) The currency of unit\_price.
unit_price_precision int The precision of unit\_price.
original_unit_price string (Money) The original list price defined by the administrator.
original_unit_price_currency string (ENUM) The currency of original\_unit\_price.
original_unit_price_precision int The precision of original\_unit\_price.
net_price string (Money) The total price of the SKU on the contract.
net_price_currency string (ENUM) The currency of net\_price.
net_price_precision int The precision of net\_price.
original_net_price string (Money) The total price of the SKU based on the original\_unit\_price.
original_net_price_currency string (ENUM) The currency of originalNetPrice.
original_net_price_precision int The precision of originalNetPrice.
annual_price string (Money) The annual price (12 x unit\_price x quantity) of the SKU based on user-defined values.
annual_priceCurrency string (ENUM) The currency of annual\_price.
annual_pricePrecision int The precision of annual\_price.
original_annual_price string (Money) The original annual price (12 x original\_unit\_price x quantity) of the SKU based on administrator-defined values.
original_annual_price_currency string (ENUM) The currency of original\_annual\_price.
original_annual_price_precision int The precision of original\_annual\_price.
monthly_price string (Money) The monthly price of the SKU based on user-defined values.
monthly_price_currency string (ENUM) The currency of monthly\_price.
monthly_price_precision int The precision of monthly\_price.
original_monthly_price string (Money) The original monthly price of the SKU based on administrator-defined values.
original_monthly_price_currency string (ENUM) The currency of original\_monthly\_price.
original_monthly_price_precision int The precision of original\_monthly\_price.
pricebook_id string The CRM external identifier for what catalog the SKU belongs to.
product_id string The CRM external identifier for what product the SKU represents.
product_code string The ledger code for what product the SKU's revenue is recognized in.

sku.feature_flags

Feature Flags can be assigned to SKUs. They define what features are gated, limited, or a set number and what restrictions can be set on products.

List of Properties for feature_flag

Name Type Description
id string (UUID) id is a globally unique identifier addressing the flag.
friendly_name string friendly\_name is a label used to identify the feature flag.
mode string (ENUM) feature\_flags.mode can be one of the following options: gate, limit, number.
enabled boolean Indicates if the flag is enabled for the current sku.
value string (Optional) Maximum value for limit

Example: Gate Flag to enable SSO.

{
  "name": "enable-sso",
  "mode": "gate",
  "enabled": true
}

Example: Limit Flag to set total allowed users to 10.

{
  "name": "user-limit",
  "mode": "limit",
  "enabled": true,
  "value": "10"
}

Example: Number Flag to set total included number of connections.

{
  "name": "connections",
  "mode": "number",
  "enabled": true,
  "value": "1000"
}

deal.terms

deal.terms contains a list of term objects.

A term defines legal terms and conditions of a deal that customers must agree to.

List of Properties for term

Name Type Description
id string (UUID) id is a globally unique identifier addressing the sku.
description string Public description of the Term that is displayed on customer facing contracts.
friendly_name string Friendly name is a short string assigned to the Term
is_modifiable boolean Indicates if term conditions are modifiable or must be accepted as defined
is_reserved boolean Indicates if the term is one of the reserved RevOps legal terms
is_standard boolean Indicates if the term is standard for the customer organization and eligible for auto-approvals
type string (ENUM) Identifies the type of legal term. See term.type for possible values
value string Value of the the accepted term. Possible values are determined by term.type
value_options list List of valid value options for this legal term. See term.valueOption
variables list List of variables attached to the term. See term.variables

term.type

We can distinguish term types by the term.type property.

Built-in Term types

Built-in term types define important Terms that are needed to build a complete billing solutions for the Deal.

Term Type Category Description
accountId billing A Term with this type defines the identifier used to connect and synchronize accounts across your CRM and billing systems. This identifier is used to record usage data and create invoices.
billingStartDate billing A Term with this type defines the start date of the first Invoice. This will be a string ISO8601).
contractActivationDate billing A Term with this type defines the starting date of the Deal as a string (ISO8601).
contractTermLength billing A Term with this type defines the length of the contract in months.
daysUntilDue billing A Term with this type specifies the number of days until the Invoice is due.
latePaymentPercentageFee billing A Term with this type defines the penalty for late payment as a floating point number.
purchaseOrderNumber billing A Term with this type defines the purchase order number.

User defined Terms types

Term Type Description
boolean A Term containing arbitrary text.
date A Term containing a date field. This will be a string (ISO8601).
dropdown A Term containing a predefined set of valueOptions.
contract-period A Term containing the contract period as two ISO8601 datetime stings.
money A Term containing a monetary unit amount.
number A Term containing a number value.
text A Term containing arbitrary text defined by the Term Language.

term.value_options

value_options are pre-defined values that customers can choose from.

Name Type Description
friendly_name string Friendly name is a short string assigned the value option
value string Value assigned to the term when selected by a customer

term.variables

Term variables can be attached to a term to provide added flexibility.

Name Type Description
default_value string Default value to assign to the variable when a new deal is created
friendly_name string Friendly name is a short string assigned the value option
value string Value assigned to the term when selected by a customer
variable_name string A singular or plural noun describing the term variable.