Outgoing Webhooks allows you to set up a Webhook or API call to a system other than CustomerGauge whenever a survey complete happens. This is ideal if a portion of your organisation closes the loop in another system, or if you'd like your survey feedback to flow back into a data warehouse.
Disclaimer: Outgoing Webhooks require technical expertise to be set up and maintained.
Requirements
To start setting up an Outgoing Webhook you'll need:
- Admin access to CustomerGauge;
- Sufficient access in the other system to obtain your authentication details;
- Technical experience on how to set up an API Call.
Which systems can be connected to?
Our Outgoing Webhooks are designed to easily connect to most API Suites. Some of the systems you can connect to are:
- Any system that allows authentication through OAuth 2 "Client Credentials" or "Resource Owner Password Credentials" grant types
- Any system that allows authentication through URL parameters, or headers (such as Basic Authentication)
- Microsoft Dynamics
- SugarCRM
- Freshdesk
- Zendesk
- ServiceNow
See our Recipes Overview to see some of the common implementations!
How to set up
- In the menu, navigate to Data → Integrations, and then on the Integrations page click the Webhooks tab.
- Click on New Webhook, followed by "Outgoing". This will take you to the New Outgoing Webhook form.
- Set up the API configuration as needed.
- Method: Choose POST to call a POST API (typically to create a new record) or PUT (typically to interact with an existing record) to call a PUT API.
- API URL: Add in the full API URL of the API you'd like to call.
- Secret: You can use this field to add a secret that can be used to sign the request. We recommend using a unique secret for every Webhook you set up. This is an optional field, and can be skipped if you're not going to verify the secret
- Custom Headers:You can set up a multitude of Custom Headers. Add as many as you need for your API Call.
- Header name: Add the header name that you'd like to add.
- Value: Add the appropriate value for the header you'd like to add.
- Secure: Check this box if you'd like to obfuscate the value. This is useful if you'd rather not expose sensitive information, such as API Keys.
- Add: Clicking this button will add the custom header to the list of custom headers. You'd still need to press the Save button in the Details step in order to save the Custom Header.
- Request Body: Add the Body of the API Request. You can add this in JSON, XML, or a raw body - depending on what your API needs.
- Next: Press the Next button when you're done setting up the API. It's in the next step where you can save your Webhook.
- Finish up the Webhook
- Name: Give a descriptive name to your Webhook.
- Enable/Disable: Choose whether you'd like your Webhook to go live immediately or not.
- Save: Press the Save button to save the whole setup.
Available Data Fields
The following list of fields can be used to send data to your external system by using the Merge Tag value in your Body.
Merge Tags are dynamic placeholders of data that will be filled in with the value of the Survey Response that triggers the Outgoing Webhook. Add the value in the "Merge Tag" column in the appropriate place in the Body to pass the value.
Merge Tag | CustomerGauge Field Description |
{{ event.account_display }} | Account Name |
{{ event.contact_first_name_display }} | First Name |
{{ event.contact_last_name_display }} | Last Name |
{{ event.division_display }} | Division |
{{ event.date_order_display }} | Order Date |
{{ event.date_email_sent_display }} | Sent Date |
{{ event.date_form_completed_display }} | Response Date |
{{ event.number_customergauge_display }} | CG-ID |
{{ event.nps_display }} | NPS Score |
{{ event.comment_display }} | Comment |
{{ event.followup_required }} | Follow Up Required (1/0) |
{{ event.followup_required_display }} | Follow Up Required (Y/N) |
{{ event.followup_details_display }} | Follow Up Details |
{{ event.touchpoint_display }} | Touchpoint |
{{ event.country_display }} | Country |
{{ event.job_level_display }} | Job Level |
{{ event.language_display }} | Language |
{{ event.email_display }} | |
{{ event.phone_display }} | Telephone Number |
{{ event.job_title_display }} | Job Title |
{{ event.segment_a_display }} through {{ event.segment_z_display }} | Segment A through Z Note: If you have HTML or XML in the segment, use the merge tag {{ event.segment_a_display | escape }} through {{ event.segment_z_display | espace }} instead. |
{{ event.additional_questions_list }} | Additional Questions & Answers formatted as a list. Note: This merge tag should always be sent in a JSON format. Do not add double quotes (") to this merge tag, it will cause a conflict with the response. |
{{ event.additional_questions_json }} | Additional Questions & Answers in a JSON format. Note: Do not add double quotes (") to this merge tag, it will cause a conflict with the response. |
{{ event.segment_1_display }} through {{ event.segment_5_display }} | Segment 1 through 5 Note: If you have HTML or XML in the segment, use the merge tag {{ event.segment_1_display | escape }} through {{ event.segment_5_display | espace }} instead. |
{{ event.number_customer_display }} | Customer Number |
{{ event.number_order_display }} | Order Number |
Diagnosing Failed Requests
In the Details step when editing an Outgoing Webhook you can configure Failure Alert Recipients. Any activated user that's configured as a Failure Alert Recipient in a webhook will receive an email alert when a Webhook request fails.
Upon receiving the email alert, you can click the Webhook Diagnostics button in the email. This will take you to the Stats of the Webhook at hand. Alternatively, you can find your Webhook in the Outgoing Webhooks page and click on Stats:
Here you'll be able to see a history of all the calls that occurred as part of the Webhook. Failures are very easily identifiable by the red icon in the Status column. You can also expand a call to see the exact Request Body and Response Body to help you figure out what .