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