In this blog we’ll show how CloudBees WEAVE@cloud can help make Webhooks something that anyone can use Vs them being something that only nerds get to have fun with (and make use of). We have a video demo at the end if you’d prefer to just jump ahead an view that.
Most cloud services provide some sort of “direct” integration with at least a few “core” 3rd party services, allowing their customers to easily sync data from their service to these 3rd party services. It’s not practical, however, for a provider to build out an endless list of direct integrations. For that reason, many providers offer Webhooks as a catch-all notification integration option within their API offerings, allowing the customer to manually configure the service to send notifications to any public web address.
Webhooks are a beautifully simple concept (most of the time*). As a user of a service “SERVICE_X” providing Webhook notification functionality, you just need to:
- Work out what is the public web address to which SERVICE_X should “send” (POST, PUT etc) the event notification e.g. when a new Account is added in SERVICE_X, post the relevant event details to your public web address (e.g. “https://api.acme.com/accounts”).
- Configure SERVICE_X with the web address.
The public web address could be that of a web application you developed yourself (e.g. on the CloudBees PaaS), or it could be another 3rd party SaaS that you are using, to which you want to send event notification coming out of SERVICE_X.
A more concrete use-case example might be something like the following: whenever there’s a new/updated Contact in Salesforce, create/update a record in the “contacts” table in the MySQL DB (or another DB e.g. Postgres/Elephant, Cloudant, Oracle etc) used by your RUN@cloud App**.
One could use Webhooks to solve this use-case by developing a web application to receive the Webhook notification from Salesforce***, process the notification data and then insert/update the data into the MySQL DB. So while the concept and mechanics of Webhooks are very simple, they typically require some development effort in order to properly wire the event data into the consuming service/app/database.
We’ve done a lot to make this process a lot easier with the CloudBees WEAVE@cloud service. You don’t need to develop and maintain the logic required to consume data from a Webhook notification event because WEAVE@cloud will take care of this for you in a way that even non-techie people can use.
Salesforce to a MySQL DB is only one of an infinite number of possible examples. Another example that we thought was very interesting (and probably one that a non-techies might be more likely to encounter) was using WEAVE@cloud Webhooks to sync Unbounce form submits to Zendesk Tickets. We even created a video demo to show how it’s done…
* Webhooks are one of those simple ideas you’d think nobody could possibly take and make a balls of implementing. Not so I’m afraid !! I won’t mention names though…
** You can actually perform this integration directly using WEAVE@cloud i.e. use the Salesforce connector - it takes care of installing the webhooks/triggers etc in Salesforce.
*** Salesforce call Webhooks “Outbound Messages” i.e. a different name for the same thing.