A webhook is a URL endpoint or HTTP-based callback function (web script) that allows lightweight, event-driven communication between 2 applications via an application programming interface (API). Webhooks are used by a wide variety of web apps to receive small amounts of data from other apps.
To set up a webhook, the client application gives a unique URL to the server applications API and specifies which triggering event it wants to know about. Once the webhook is set up, the client application no longer needs to poll the server (constantly check); the server will automatically send the relevant payload (data) to the client’s webhook URL when the specified event occurs.
Webhooks are often referred to as reverse APIs or push APIs, because they put the responsibility of communication on the server, rather than the client. Instead of the client sending HTTP requests—asking for data until the server responds—the server sends the client a single HTTP POST request as soon as the data is available. Despite their nicknames, webhooks are not APIs; they work together. An application must have an API to use a webhook.
The name webhook is a simple combination of web/internet, referring to its HTTP-based communication, and the hooking programming function that allows apps to intercept calls or other events that might be of interest. Webhooks hook the event that occurs on the server app, and prompts the server application to send the payload to the client application via the web.
GoldMine RESTful API
Back in 2010, First Direct Corp started work on writing a RESTful API for GoldMine. A RESTful API, is an API that is accessed via HTTP and allows client applications to be developed to interact with the server application/database. Just about every web application today has a RESTful API. GoldMine obviously is not a web based application, it is a premise based software program with a SQL Server database back end. The GoldMine RESTful API allows for web based access to the GoldMine database. For years customers had been requesting integrations and features that were not easily accomplished without a RESTful API.
The GoldMine RESTful API is a self hosted web based API that requires a few things on the GoldMine users end.
- IIS Web Server, installed on a Server in your office.
- PHP and SQL Server Drivers installed
- Sub domain name be registered for your domain, ie; gmapi.yourdomain.com
- SSL Certificate be purchased or a 90 day free SSL can be used and renewed every 90 days vs every year with a paid one.
- Ports for HTTPS be opened on the Router/Firewall to allow access to the API over HTTPS
GoldMine Webhooks
As described above webhooks are used by a wide variety of web apps to receive small amounts of data from other apps. Customers looking to integrate various web applications with their GoldMine now have the ability to use/create GoldMine Webhooks vs paying to develop complex software applications and paying yearly maintenance costs to continue to use/update said software applications.
What are some examples of, uses of/for GoldMine Webhooks?
- Add new web form submissions to GoldMine – (automatically/instantly)
- Add new online orders to GoldMine – (automatically/instantly)
- Add new Calendly.com appointments to GoldMine – (automatically/instantly)
- Update GoldMine when subscribers unsubscribe from email campaigns – (automatically/instantly)
- Remove email addresses from GoldMine when a hard bounce occurs from email campaigns – (automatically/instantly)
- Create a Case in GoldMine when a new ticket is created in web based help desk software – (automatically/instantly)
- Add new SMS Text Messages in Twilio SMS to GoldMine CRM
In short, GoldMine Webhooks are comprised of a “triggering action” in one application and “resulting action(s)” in your GoldMine.
This “workflow” is automatic and requires no UI software or end-user interaction on your part.