Building webhooks in Zapier requires in-depth knowledge of building standard Zaps. Please be sure to read through the full Zapier help article here before diving into custom webhooks. If you're ready to build a custom webhook, make sure you've got documentation from the client or third-party software developer. This will be critical for mapping the data.


The easiest way to think of webhooks is as notifications. At their simplest, they carry a payload of data which is usually a single record that has been created or modified, although some apps will send along multiple records at once in the name of efficiency.

As mentioned in the Zapier Help article above, Zapier is the go-to solution for connecting our forms to third-party software not already included in the UXi Add-ons. However, just because the third-party is not listed in the Zapier 'Choose an Action App' list doesn't mean we can't build a Zap to send data to it. For this, we use the 'Webhooks by Zapier' action.

Below are step-by-step instructions on how to build a Zap. Each third-party software will have slight differences, so its important to test!


 

1. Install the Gravity Forms Zapier add-on

From the UXi add-on's screen, select the Zapier add-on and click Add.



2. Create Your Form

Once the add-on is activated, the first step in integrating with Zapier is going to be creating the form. By doing this, the list of fields associated with that form are up to date when you are configuring your Zapier settings on the Zapier dashboard.

 

 

3. Use Gravity Forms as a Trigger

Trigger steps are the part of your automations that tell your Zaps when to run. The first step is setting Gravity Forms as the trigger for your Zap.

  1. Log-in to Zapier.
  2. Click Make a Zap on the Zapier dashboard.
  3. Begore choosing a trigger, name Your Zap in the top left corner of the Zapier dashboard.

    Give the Zap a name that'll differentiate it from any others used on the same site. Name the Zap using this format:

    M number - Client Name - Function of Zap

     

    So for example, a Zap to send 'Bill's Billiards' Contact Us form entries sent to Infusionsoft, the Zap would be named as follows:

    M12345 - Bills Billiards - Send Contact Us form Submissions to Infusionsoft CRM

  4. Choose a Trigger App. Select Gravity Forms, then New Form Submission.
  5. When given the API key, copy it.
  6. Navigate back to the Gravity Forms dashboard and click Form Settings on the form you're integrating. From the Zapier Feeds page, click Add New.
  7. Here, on the Zapier webhook settings, paste the webhook URL and the Zap Name in the appropriate fields, set the feed to Active, and Save Zapier Feed.
  8. Back on the Zapier dashboard, click Ok, I did this.


4. Submit form entry to prepare the data feed

  1. When the feed has been saved on the UXi dashboard, navigate to the page using the form and submit a form entry. The data submitted will be used to map data from the form entry to the third-party.
  2. On the Zapier 'Pick A Sample To Set Up Your Zap' dashboard, select the form entry that was just submitted. 
  3. Click Continue.


5. Choose the 'Webhooks by Zapier' Action App

Now its time to select a destination for the data being pulled from the form entry. As mentioned above, the 'Webhooks by Zapier' action will be used here.

  1. On the Zapier 'Choose an Action App' dashboard, search for 'Webhooks by Zapier'. Click on it to move on to configure the action.

6. Map the data from form submission to third-party

On the following screen, the data from the test form submission made earlier will be used to map form entries to the third-party.

The main difference between this and a standard Zap is that the fields must be manually configured. Where a standard Zap will have fields like 'name' and 'email' pre-configured, custom webhooks will require them to be built by hand. Documentation sent from the client or third-party software developer will be critical here. It will tell us how to label and map each of the following steps.


  1. The first step is to enter the URL that will submit the webhook. 
  2. The next step is to determine the Payload Type, or how the data needs to be received by the third-party software. Using the documentation made available by the client or developer, determine which  format we'll use to send the data.

    There are three common serialization formats that you will commonly see:
    Form
    user_name_first=John&user_name_last=Glenn&user_email=testing@madwiremedia.com@user_phone=555-555-5555&user_selected_service=marketing

    JSON
    {
    "user_name_first": "John",
    "user_name_last": "Glenn",
    "user_email": testing@madwiremedia.com
    "user_phone": 555-555-5555
    "user_selected_service": marketing
    }

    XML
    <user_name_first>John</usert_name_first>
    <user_name_last>Glenn</user_name_last>
    <user_email>testing@madwiremedia.com</user_email>
    <user_phone>555-555-5555</user_phone>
    <user_selected_service>marketing</user_selected_service>

  3. Next, map each individual field using the data submitted in the test form entry. Select the field from the recently made submission. *You should be seeing the data from the test form entry made in step 4.1. Any time dynamic data from the submission is used, the result will be green highlighted text.

    This could take some trial and error. Because the zap relied on third-party software, reaching out to the developer could be required for this step.
  4. Click Continue.
  5. Review the sample data on the next screen.
    - If it seems to be missing anything, click Edit Template in the let column to make further revisions.
    Once the data looks complete, click Send Test.
  6. The next screen will display the result of the Test Zap. Use the info shown here to double-check the data being sent to the third-party software. When you're happy with the data, click Finish
  7. Move the Zap into its corresponding folder
  8. IMPORTANT: Turn the Zap On
    The Zap is not running until it's been turned on!
  9. Live test!
    At this point, make live submissions to the form and check the dashboard for the third-party software, reach out to the client, etc to find out if the Zap is working properly.