What is a Webhook?
A webhook is a technical process of transferring data between systems. At its most basic level, it can be defined as a type of API that sends machine (computer) readable data format from one application to another. These are usually web-based applications. Where a webhook is different to the more traditional APIs is that they are event-triggered. An easier way to think of this is as a computer version of a voicemail. An action is taken on ‘System A’ that triggers a set of pre-defined data to be left at a set URL. ‘System B’ then collects that data immediately and can perform whatever action has been pre-programmed into ‘System B’.
How Can I use them?
There is really no limit to how you can integrate different systems in your business with webhooks. A few examples:
- Upon an opportunity being won in BuddyCRM, automatically create an invoice in your accounts package (such as Xero, Quickbooks, etc)
- Upon an opportunity reaching a certain % progress, send it to a technical quoting tool
- Upon marking a quotation as active, send it to your ERP (such as SAP or Sage)
- Upon a new lead being created, send it to your email drip marketing campaign
Plus many many more. Your BuddyCRM Account and Customer Success Managers will be able to help you analyse your existing business processes and identify areas that webhooks can help streamline and automate.
There are two elements to creating a webhook process successfully. The first is triggering the webhook within BuddyCRM. When creating your workflow, such as “When Opportunity Closed as WON”, there is a new output option to ‘execute webhook’.
You then select the webhook that you will have created under TEMPLATES > WEBHOOKS in the ADMIN module.
When creating the Webhook, there are a few key steps. Please note that this does require at least some basic knowledge so if in doubt, please contact your BuddyCRM Customer Success Manager. It also depends on what system you are integrating with. Our favourite tool for leveraging the power of webhooks is Zapier (www.zapier.com) and BuddyCRM offers the chance to circumvent having to purchase your own Zapier Account by bringing you under our Zapier accounts.
The following steps show how to integrate through Zapier but should you be integrating directly to your own other systems then your provider will have documentation to assist.
In Zapier, when you create the first step, it gives you a webhook URL to post data when the webhook is triggered by the BuddyCRM workflow
Then within BuddyCRM, you add this URL to the webhook template you are creating and select what request type it is. In this example we are POSTING data.
Then, as per the requirement of the system you are sending data to, enter the required data in the ‘parameters’, ‘authorization’ and ‘headers’ menus. This is normally key information to authenticate with the system you are sending data with so it should be contained within the integration documentation of that system.
In this example with Zapier, I add no data into these areas with the exception of Authorization where I select “no auth”
In ‘Body’ area, I then add the content that I wish to be contained within the webhook which are my BuddyCRM fields. You can free type any static text to be sent too.
You can send any field from within BuddyCRM to avoid confusion, you will need to set the merge tag values for fields you want available in this area within the DATA MANAGEMENT > MERGE TAGS area of the ADMIN module.
Once you have saved and created the webhook and configured the workflow to trigger, in our example, you would go back to Zapier and complete the process. In our example, we are creating an invoice in Xero. As such we would select Xero as the next step and connect our Xero Account.
And we would then map the fields being sent by the BuddyCRM webhook to the corresponding fields in Xero
That’s it, the webhook should then work and you will have a working integration between two of your key systems removing hours of manual work.
As we have said before, this does require some technical knowledge so please do reach out to your BuddyCRM Customer Success team and they will be happy to help. Email email@example.com or call +44 (0)121 288 0808.