Skip to content
English
  • There are no suggestions because the search field is empty.

Building Integrations with API and Webhooks

Webhooks allow external applications to receive automated notifications whenever specific events occur in Termsheet. When a subscribed event is triggered, Termsheet sends an HTTP POST request to an endpoint URL you provide, containing details about what changed. This is useful for syncing Termsheet data with third-party systems, triggering automations, or building custom integrations without polling the API.

💡Things to Consider

CRM Event Types:

  • Company Created

  • Company Deleted

  • Company Updated

  • Contact Created
  • Contact Deleted
  • Contact Updated

Deal Event Types:

  • Deal Created
  • Deal Deleted
  • Deal Updated

Property Event Types:

  • Property Created
  • Property Deleted
  • Property Updated

Lease Event Types:

  • Lease Created
  • Lease Deleted
  • Lease Updated
  • Unit Created
  • Unit Deleted
  • Unit Updated

⚙️Steps

Webhooks are configured from the Termsheet Settings panel. You'll need admin access to create or manage webhook subscriptions.

  1. Navigate to Settings and select Webhooks.
  2. Click + Create Webhook.
  3. Complete the form's required fields
  4. Webhook Name: Enter a descriptive label to help identify this webhook subscription among others in your workspace. This name is only visible in Termsheet and is not sent with webhook payloads.
  5. Endpoint URL: The full URL of your application where Termsheet will send event notifications — for example, https://yourapp.com/webhooks/termsheet. This must be unique across all webhook entries in your workspace.
  6. API Key (optional): An optional key you define and implement in your application to verify that incoming requests are genuinely from Termsheet. Include it in your app's request validation logic.
  7. Event Types: Select one or more events you want to subscribe to. Termsheet will only send notifications for the events you choose — all other events will be ignored. For example, selecting Deal Created and  Deal Updated, means your endpoint receives payloads only for those three actions.

 

Technical Integration

 

For each event we will send a HTTP request to the Endpoint URL you provided in the Webhooks configuration.

 

This HTTP Request will always use the method POST:

 

The request headers

{
"Content-Type": "application/json",
"X-Webhook-Api-Key": your_api_key_here
}

The "X-Webhook-Api-Key" will contain the API Key you provided when creating the Webhook via UI.

 

The JSON body structure

{
"event_type": "lease.created",
"event_data": { serialized_object },
"event_timestamp": "yyyy-mm-dd hh:ii:ss"
}

Event Type

The event_type attribute will always be a lower case string with the object name combined with the action.


List of event types

Event Type event_type
Company Created company.created
Company Deleted company.deleted
Company Updated company.updated
Contact Created contact.created
Contact Deleted contact.deleted
Contact Updated contact.updated
Deal Created deal.created
Deal Deleted deal.deleted
Deal Updated deal.updated
Lease Created lease.created
Lease Deleted lease.deleted
Lease Updated  lease.updated
Property Created property.created
Property Deleted property.deleted
Property Updated property.updated
Unit Created unit.created
Unit Deleted unit.deleted
Unit Updated unit.updated

Event Data

The event_data holds the represation of the subject of the action that generated the webhook.

 

Deleted action

The data for the deleted action will be just the object id

{ 
"id": object_id
}

 

Created and Updated actions

The data for created and updated action will be the serialized object as JSON with the standard attributes and custom fields