What are webhooks, and how can you use them?

  • Published : October 4, 2023
  • Last Updated : October 4, 2023
  • 502 Views
  • 6 Min Read

A webhook is an event-driven Hypertext Transfer Protocol (HTTP) callback. In simple terms, webhooks are notifications sent from one program or an application. When an event occurs, a webhook delivers notification of that event from one application to the intended destination.

Webhooks in transactional emails 

An email webhook in the transactional email space relays notifications about events in a transactional email. They can be events related to email delivery, such as delivery or bounce notifications, or they can be events related to recipient activity, such as email open notifications and link click notifications. When these events occur, an email webhook notifies another chosen application or URL of the occurrence.

How does a webhook work? 

As previously stated, a webhook is configured to relay information when triggered by an event. This information is delivered to a URL of the user's choice.

Pre-requisite knowledge:

  • An HTTP request is a message sent from a client to a host located on a server. The aim is to request access or perform an action at the destination.

  • The most common types of HTTP requests are:  

    • GET: Used to retrieve data
    • POST: Used to submit or deliver data
    • PUT: Used to modify data at the source
    • DELETE: Used to delete data at the source
          • An endpoint or API endpoint is the destination to which the request is being made.

          When an event is triggered, the webhook in the source program makes an HTTP request. More often that not, this is a POST request that has a payload in the form of a JSON or XML file. The payload is the notification information that the webhook is delivering. This request is made to the endpoint provided, which is the destination URL chosen by the user.

          Webhooks vs APIs 

          Application Programmable Interfaces (APIs) are used as a bridge between two programs or applications. Much like webhooks, they also move or transfer data from one program to another.

          While they’re similar in most aspects, they differ in how and when the data is relayed. An API requires constant polling. That is, the receiving program constantly needs to check the source program for new information. On the other hand, webhooks are event-triggered. When there is new information, webhooks automatically relay the information. This eliminates the need for constant polling.

          Putting it in simple terms, an API is a request for information while a webhook is a notification delivered from one application to another.

          As an everyday example, let’s say you're expecting a delivery. An API is like having to open your door at regular intervals to check if the parcel has been delivered. A webhook is when the delivery agent rings the bell to let you know the parcel is here and hands it over to you. You don't need to keep checking for it.

          Why should you use webhooks? 

          You can use webhooks when you wish to trigger specific actions in your application on the occurrence of an event in another application.

          Email webhooks can help you stay informed of how your recipients interact with your emails as well as how your emails are performing. By using webhooks to get instant notifications, you can quickly troubleshoot any issues that might arise and also maintain a “good sender” reputation to keep your deliverability high.

          Webhooks are more efficient than other methods to relay data for many reasons:

          • It eliminates the need for constant polling, saving resources and time.

          • If the source programs support webhooks, it’s an easy and quick setup.

          • You receive instant notification as the event occurs in real time.

          Types of email webhooks  

          Email webhooks in ZeptoMail are used to track and notify recipient activity on transactional emails sent from ZeptoMail. The types of email webhooks in ZeptoMail are:

          • Bounce webhooks:
            Webhooks can be used to relay notifications when a sent email has been hard-bounced (permanent reasons) or soft-bounced (temporary reasons).

          • Open webhooks:
            Webhooks can notify the destination URL when an email sent from ZeptoMail has been opened.

          • Link click webhooks:
            Webhooks can help with notifying the destination application when a link embedded in the email has been clicked on.

          Take a look at our documentation to see how each type of webhook is handled.

          Different ways to use webhooks 

          Webhooks are versatile when it comes to how you can use them. Their usage is not restricted to simply developers or application owners. Depending on what you wish to achieve, webhooks can be used in numerous different ways to achieve different end results.

          Initiate action in your application 

          Webhooks can be used to initiate workflows in your own applications or platforms. Because webhooks essentially notify you about an event, you can build scripts to consume the information that the webhooks are bringing in. This information can then be used to power workflows in your own application. This method of webhook usage requires programming knowledge.

          For example, you can use a delivery webhook to notify your application when an email from your application has been delivered to the recipient. You can, in turn, build workflows to display to the application’s users that the email has been delivered.

          No-code usage with iPaaS 

          Programming workflows and scripts aren’t the only way to consume a webhook. If you're not a developer or don’t have programming skills, webhooks can still be very useful to you. Using Integration Platform as a Service (iPaaS) applications is a no-code method to use webhooks. You can configure webhooks to notify iPaaS applications like Zapier, Zoho Flow, Microsoft Power Automate, etc.

          For example, you can use a bounce webhook as a trigger to a Zap in Zapier. The Zap can trigger the addition of an entry in Zoho Sheets every time there’s a bounce.

          Trigger workflows for infrastructure management 

          Infrastructure as Code (IaC) and GitOps are two options for managing and provisioning infrastructure through code and automated workflows instead of manual processes. Webhooks can be used in two ways for infrastructure management. They can be used to notify you when there’s a change in the existing setup that eliminates the need for constant monitoring. Webhooks can also be used to trigger entire IaC workflows. Both of these usages can help reduce the number of steps and the time taken for infrastructure management.

          How do you create a webhook? 

          There are three key steps to creating a webhook:

          Step 1: Choose the data

          Choose the data that you wish to transfer using the webhook. Make sure that the POST required has the necessary data attached to it.

          Step 2: Configure the endpoint URL

          A webhook requires an endpoint URL to send the HTTP request to. You need to create a URL in your application that’s publicly accessible from multiple IP addresses.

          Step 3: Create a script to receive data

          Once you have the data from the webhook, set up a script to help capture the right data in the right format. By capturing the right data, you’ll be free to process it and create workflows with it as you wish.

          Configuring a webhook in Zoho ZeptoMail to receive instant notifications of recipient activity like opens, clicks, and bounces is as easy as entering a URL and checking a box next to the events. 

          Testing webhooks 

          If the application you’re using doesn't allow you to test webhooks, you can use third-party testing platforms, like RequestBin or Postman, to test and experiment with your webhook.

          Securing webhooks 

          Using a webhook means that the destination URL is accessible from the public web. It leaves room for unauthorized persons to send requests to your URL with false data. This calls for additional protection for the webhook.

          • Ensure that TLS connections have been implemented.

          • Add unique tokens to your URL that act as identification.

          • Implement basic authentication that provides a username and password for the authentication.

          • The provider should include a unique signature with the response so you can verify it.

          Securing webhooks in ZeptoMail is made easy by including a producer signature with the request and giving you the tools to verify it at the destination URL. Learn more here.

          You can read our detailed article on how to secure webhooks here.

          Wrapping up 

          Webhooks are a quick, easy, and efficient way to move data from one application to another. Email webhooks can help monitor email performance by providing instant notification of activities on the email.

          Related Topics

          Leave a Reply

          Your email address will not be published. Required fields are marked

          By submitting this form, you agree to the processing of personal data according to our Privacy Policy.

          You may also like