So what is a webhook?

Webhooks are a type of API that allows two servers to talk to each other without the client needing to constantly poll the server looking for new data.

For example you could trigger a new account to be created in your accounting system when you mark a deal as won in your CRM. Webhooks are typically very quick and easy to setup, and developers love them for the reasons below.

But first, what is an API?

API stands for application programming interface, and essentially is a set of definitions and protocols used to build and integrate application software. We use API's to retrieve information from a server, and we also use them to write information back to a server. Information is generally transferred using XML or JSON, two file formats which make it easy for other apps to interpret and manipulate the data being sent.

In this model, the client doesn't know if something has changed on the server, so we have to build a polling service. This sends a regular request until a change is detected and the server's API returns the relevant data, sometimes called the payload. This process has to run continuously which can place a drain on resources both on the client and server.

How are Webhooks different?

Webhooks are a way for two servers to communicate without the client needing to constantly poll an endpoint. To setup a webhook, the client provides a unique URL to the server and specifies what event it wants to act as a trigger e.g. Client account record is created or updated. When that event then occurs, the server will automatically send the payload back to the client.

Instead of requiring the client application to make an API call to determine whether there is new information available at the server's endpoints (which is inefficient and can lead to degraded performance), webhooks allow one server (the provider) to send events directly into another server (the consumer).

Webhooks are often referred to as push APIs because they put the responsibility of communication onto the server, rather than the client.

Key benefits

  • Eliminate the need for polling
  • Are quick to setup
  • Automate data transfer
  • Good for lightweight, specific payloads

Common use cases

  • Create a new record in client application e.g. new Client or Project etc
  • Update records in client application e.g. change of address
  • Send a notification when an event occurs on server e.g. order status is updated

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C
Text link

Bold text

Emphasis

Superscript

Subscript

Say hello!

We’re always up for a chat, we'd
love to hear from you...

Send

Thank you

Your submission has been successfully sent!

Error message