Skip to main content

Webhooks

If you want to take advantage of creating automation around your business workflows, RevOps webhooks gives you the tools you need to keep your systems up-to-date.

You can easily connect custom properties, pending deals, signed documents, and legal terms with only a few lines of code.

Use Cases​

  1. Activating accounts
  2. Activating features in your application platform
  3. Issuing SLAs to accounts

How does it work?​

On every change that occurs to an Object in RevOps, a webhook request will be sent to the URL assigned in your RevOps account. This request will contain information about the event and the specific Object instance to which the event pertains.

Configuring HTTP methods​

Webhooks currently supports the standard HTTP POST and GET methods. Choose your preferred option from webhook settings in RevOps dashboard.

Types of Webhook Objects​

Webhooks are supported by two objects, Deals and Accounts.

ObjectsDescription
DealsDeal Webhooks help you automate post-signature operations such as connecting to billing.
AccountAccount Webhooks help you automate post-account creation operations

Deal Webhooks​

Webhook EventDescriptionAttached Model
deal-createdWhen the deal is first created. This webhook event will only be occur once, when the deal is saved as a draft or first sent to Deal Desk.Deal
deal-updatedWhen any edits or status changes occurs on the deal.Deal
deal-signedWhen all parties have completed signature on the deal. This webhook event will only be sent once.Deal
deal-activeWhen customer has been activated for billing from the deal.Deal

Account Webhooks​

Webhook EventDescription
account-createdWhen an account is first created. Usually with a draft status.
account-deletedWhen an account has been deprovisioned.
account-updatedWhen an account property has been updated.

HTTP Response Format​

All HTTP responses are sent with content-type of application/json. Each request will contain an Event object and corresponding object such as a deal or account.

Content-Type: application/json

{
"event": {
"id": "6b82cbd3-dd0b-497e-bb44-292025c90481",
"time": "1562205650",
"type": "deal-created",
},
"<object>": {}
}

Responding to webhooks​

Your endpoint must return a 200 OK HTTP status code and a response body containing the following text: RevOps API Event Received. Otherwise, the callback is considered a failure and retried.

Failures and Retries​

If your callback url is not reachable or does not return an HTTP Status Code of 200 OK, RevOps will automatically retry the request. Every failed attempt will be retried for 5 times with 1 hour between each attempt. All requests timeout after 30 seconds and are considered failed attempts.

HTTP Security​

RevOps requires that all webhooks terminate with an https:// URL.

See Deal Webhooks response format for more information on the deal response and other objects.

Example Webhook Body from HTTP POST Request​

Content-Type: application/json
{
"deal": {
"id": "",
"contract_activates_date": "",
"customer": {}, // See Customer Data Model
"net_price_currency": "",
"net_price_precision": "",
"net_price": "",
"original_net_price_currency": "",
"original_net_price_precision": "",
"original_net_price": "",
"opportunity_id": "",
"original_net_price": "",
"signed_contract_url": "",
"status": "", //
"skus": [
{}, // See SKU Data Model
],
"terms": [
{}, // See Term Data Model
]
},
"event": {} // See Event Data Model
}

Testing webhooks​

You can test your own webhook service in RevOps or by issuing a curl request or similar. Make sure to test with Content-type: application/json.

curl -v -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X POST \
-d '{"deal": { ... }, "event": "deal-created"}' \
https://yourcompany.tld/revops-webhook