Skip to main content

Webhooks

Offorte can notify your application by using webhooks. A webhook consists of a https payload URL to be called and a list of events that will trigger calls. Rather than pulling information via our API, webhooks will push information to your endpoint. When one of those events is triggered (for example a new company is added), Offorte will send this notification as HTTP POST request, with a JSON body, to the endpoint(s) you specify.

If you're new to webhooks, read this guide to learn more.

Execution & timeouts

Offorte will try to call the payload URL up to 10 times before deactivating the webhook. The duration between attempts will grow exponentially longer to give your application time to recover. Please respond with a 2xx range HTTP status code, without redirects, so we know the response was succesful. The timeout for calling a payload URL is 5 seconds.

The maximum limit of webhooks is 10 different webhooks per account. We are throttling the events and remove duplicates from a batch so that no overloading is happpening. For example, when you update a certain company twice in 2 seconds, we will only send one event.

Events

By default an URL is subscribed to "all" events. You can also subscribe to individual events. The webhooks get triggered by the following events.

EventInfo
allDefault; Triggers on all events
contact_created
contact_updated
contact_deleted
contact_person_created
contact_person_updated
contact_person_deleted
proposal_created
proposal_details_updatedproposal detail changes: name, totalprice, status, contacts, versions, attachments
proposal_deleted
proposal_send
proposal_won
proposal_lostproposal closed
proposal_viewedproposal viewed firsttime or after 14 days of no activity and then viewed again
proposal_comment_receivedwhen a prospect asks a question through the proposal viewer
product_directory_created
product_directory_updated
product_directory_deleted
product_created
product_updated
product_deleted

Payloads

All payloads have the same JSON structure where the data field contains the details of the updated object. The data object generally has the same structure as documented in the rest api for the targeted entity/subject.

{
type: 'contact_updated',
date_created: '2025-10-16 18:05:00',
data: {
...
}
}

Endpoints

Go to the Webhooks section in the API reference to learn how to manage the webhooks.