Retreaver Campaign Webhooks: Data appending & ad hoc integrations

In Retreaver, a webhook is a method of processing call data through various systems. Webhooks can be used to request a response from a CRM which can retrieve tags and apply them to return callers, or send call data out to 3rd party systems or data appending services which can then be used to trigger various actions.


Retreaver Webhooks Overview


Adding webhooks to an existing Retreaver campaign

Adding webhooks to an existing Retreaver campaign

  1. Edit a Campaign.
  2. Scroll to the Webhooks section and click the green Add button.
  3. Select a webhook trigger from the drop-down menu
  4. Place tag values under matches if you wish to only trigger this webhook under certain circumstances
  5. Use Replacement Tokens based on existing tag keys to substitute tag values into your webhook URL.
  6. Click Update Campaign to save.

Webhook Examples Example webhook sending call data into Zapier to trigger a new Google spreadsheet row.

Configuring the webhook trigger

Configuring the webhook trigger

Webhooks can be triggered at various times during a call. There are varying types of triggers available, each executing at a different point in the call, but functionally equal in every other regard.


Start Ping Webhooks

Pings are used to retrieve data about a call from third party systems at the beginning of a call — this data is applied to the call as tags. Pings can also be used to inform third party systems about calls, without retrieving additional data. 

Ping Webhook Types

  • Start - Triggered as soon as the call is received. Native integrations with call start actions are run simultaneously. This ping is typically used to send caller data to a third-party service that will return additional data about the caller.
  • Selected - Triggered as soon as we've chosen a Call Endpoint (Buyer) to receive the call. This ping is typically used to send data about the caller to the agent interface/CRM of the person who will be taking the call.

    View our "How to Send Data to a Third-Party Service when an Agent is Selected" guide to learn more.


    The selected ping may be triggered more than once if you're routing to multiple buyers and the first buyer doesn't answer the call. This may cause data leakage - buyers will be getting data about a call without accepting it! Use an "answered" ping instead if this is a concern.

    Selected pings should only be used when you need to ensure that the buyer's system has been updated before receiving the call.

  • Answered - Triggered as soon as the call is answered by the Call Endpoint (Buyer). This ping is typically used to inform an external system that the call was connected and whom it was connected to.


Browser Emulated Webhooks

Browser Emulated webhooks can be triggered at various points during a call cycle. They are regularly used to send conversion information to a third party platform, or to send call data to a CRM at the end of a call.


  • Connect - Triggered at the end of a call if a call successfully connected to a buyer.
  • Conversion - Triggered when a call fulfills a campaign conversion criteria.
  • Non-Conversion - Triggered when a call did not fulfill a campaign conversion criteria.
  • Timer - Triggered upon the call reaching the timer specified under the webhook. Used to indicate if a call passed a certain time threshold.
  • Postback - Triggered when a postback is received, typically used to wait for a postback which could potentially update call attributes.
  • Always - Triggered at the end of every call and after any other applicable webhooks, typically used to send final call data into a CRM system.
Receiving data in response to a webhook

Receiving data in response to a webhook

Method 1: synchronously in the response body

Retreaver automatically parses the response body when executing a ping. If the URL you're pinging returns valid JSON, we'll apply the keys and values of the root JSON object to your call as tags.

Example start ping response

{"first_name": "Jason", "last_name": "Kay", "geo": "us-10101", "age": 23, "gender": "m"}

In this case, the response is parsed successfully and the call is tagged first_name:Jason, last_name:Kay, geo:us-10101, geo:us-ny, geo:us, age:23, gender:m.


The "geo" tag is automatically inferred from the callers area code, returning a geo zip code formatted as shown above will cause the caller's location to be overridden. In this case, we've added a geo state tag for New York and a geo country tag for USA. This is useful for properly routing callers whose area code doesn't match their physical location.

You can also return multiple values for a tag by setting the value to an array.

{"product_interest": ["mortgage", "insurance"]}

This results in the call being tagged product_interest:mortgage, product_interest:insurance.

Method 2: asynchronously via postback

Webhooks have a "time out" window of 5 seconds in order to return a response. Sometimes data is not immediately available to be returned, in which case you can either use our call handler postback or call source data writing functionality to send Retreaver additional data about the caller if your system requires time to process the request.

3 out of 3 found this helpful



Please sign in to leave a comment.