In as few words as possible, a webhook (in the specific usage in kvCORE) is a link that is sent from one computer to another (as opposed to you visiting the link in your browser.) When this link is used, it can trigger some automated service that uses the information in the link to do something special.

Webhooks can be complicated. If you're familiar with Zapier, a popular alternative to webhooks is a Zapier Campaign Action.

Webhook Example

Let's say that you want to send a custom  seller postcard or some other mailer as part of a smart campaign for sellers. Maybe it's the very first action that happens when they become a new contact in your system.

It's possible to do this in kvCORE so long as you have the following items:
 

  • Information the postcard needs (A name, address, maybe a valuation amount, etc.)  
  • A webservice that can mail out postcards for you, using the information above. Specifically, a webservice means that this third party postcard or mailer provides you with a webhook format that you can use.  
  • An automated process (smart campaign) that triggers the webhook at a specified time. 

Let's say we work with a third party postcard mailing service to accomplish this. For the sake of the example, let's also say that the reason I am using their service is because in my research or inquiry to them, I checked to see if they can send postcards from a webhook. They might say, yes we do offer this service. You can have postcards mailed on demand. It will cost you $0.90 per card mailed within the continental U.S., etc.

What we need to make sure of, is that their webhook allows us to send data using the 'GET' method. This is important because it is the method that the webhook action in kvCORE uses. If they describe to you or send you their documentation that has a bunch of programming, it probably is going to use, or it will show you that it is using an HTML 'POST' method to generate the card and send. We do not use 'POST.'

What's the difference? The GET method will allow us to build a link like the one described at the beginning of this article very easily. POST is more complicated, and in order to implement will require you to actually write code. I don't think either of us are interested in going down that road.

That 'GET' link will look something like this: 

  1. https://webhook.site/f5fcf629-3f46-4570-bc74-f482dafa0a00?name=&address1=&address2=&city=&state=&zip=

In kvCORE there are a quite a few variables (A.K.A Query Parameters) available. Everything from various pieces of lead contact information to even your information can be used.

This link has a few places we can insert variables. In looking at links like this, they all seem to have this pattern in them that is an = followed by an &.

These are the spaces in which your variables will go. To simplify it into plain english, read the link like name= AND address= AND price=. That tells you where to put your variables.
 

  1. https://webhook.site/f5fcf629-3f46-4570-bc74-f482dafa0a00?name={lead_name}&address1={seller_address}&address2=&city={seller_city}&state={seller_state}&zip={seller_zip}

You can see where I entered the {variables} that I want to feed to my webhook. ResourcesIf you're extra curious about webhooks and want to learn more, there is an in-depth writeup on the Zapier blog that spells it out pretty well. (Zapier does webhooks as well!)

https://zapier.com/blog/what-are-webhooks/ 

How To Use Webhooks in kvCORE

In kvCORE you can create webhooks with Templates. Templates are the actions that can be used for both emails and smart campaigns (See canned responses for more information if you are not already familiar with templates.)

Navigate to templates, and select 'Webhook' from the add list.

Adding A New Webhook

  1. Name - Name your webhook.
  2. Scope - Choose who can see this webhook in the templates list.
  3. URL - Paste the base URL+Auth Key of your webhook here. 
  4. MLSID - This only shows if you select a listing query parameter below.
  5. Query Parameters - enter the name of the query string parameter that will be used in your URL and then select which value it should equal to in the drop down menu. The query string parameter name will be the name expected by your webhook.
  6. Add - After adding your first parameter, the 'Add' link will show.

To fill out this modal, we'll break down the hypothetical URL for our postcard mailing service-themed example.

  • Base URL - The beginning part of the URL, before the '?' is what goes into the 'URL' field in the modal.
  • Query Params - Each Query Parameter has a 'label' that tells the API service at the third party which piece of data goes where. 
  • = - Each time you have a label, it's followed by an equals sign.
  • & - After every variable, the & symbol indicates that the next label follows. 

As you can probably guess, we need to extract each label, and add it as a Query Parameter, and select the variable from the list to the right.

After clicking 'Add Webhook' you will see your newly minted webhook in the list.

Now, in our Smart Campaign, we can add our new webhook with a Campaign Action. (When you edit a smart campaign, you can add or modify the "actions" or "events" that happen at specific times.)

Since I want this to send right away, I'll set it to send immediately.

Since we gave the webhook and campaign action a good name, the report in the timeline tells us exactly what happened.

That's it! You can now basically connect kvCORE to any third party services that use webhooks, increasing the power of your system exponentially. 

Did this answer your question?