Webhooks

Webhooks

In simple terms, a Webhook is basically a notification that is sent to a destination (URL) when an event occurs. With Zoho Forms, you can send a form submission to a URL or a third party web application of your choice as soon as a submission occurs.

If you are looking to process the data collected through Zoho Forms in your web application or use it in your business workflows, you can use Webhooks. You can receive form submissions as soon as it's collected without having to use APIs.

For example, you can directly store the collected data in your database, display it on your website, and do a lot more.

Configuring Webhook

To configure a Webhook, 

  1. ​Click the Integrations tab from the form builder and select Webhooks from the left menu.

  1. Click Configure Webhook and fill the following details:

    • Webhook URL: The URL to which the form submission should be sent.

    • Content Type: We send notifications to your Webhook URL through an HTTP POST request. The request body, containing the form data will be sent in one of these content formats:

Content-TypeData Transferred
application/jsonAll except file attachments
application/x-www-form-urlencodedAll except form attachments and subform data
multipart/form-dataAll except subform data

See the response format for each content type here

  1. Payload Parameters: Under this section, choose the fields whose data should be transferred using Webhooks.
    1. Under Payload Parameters, define a parameter name and choose the relevant form fields under Parameter Value.
    2. When using application/json content type, you can also transfer data from Subform using Webhooks.
  2. URL Parameters: If you would like to send additional information along with the collected data, you can specify it in this section. For example, you can include a secret key to every request being sent. This would help you in filtering out authenticate requests. These parameters will be added as query strings to the URL. Click on Add Parameters and enter the parameter name, value in the text boxes provided. 
  3. Custom Headers: You can set a custom header name and value to be passed with your collected data. 

Example: If you have set up basic authentication for your webhook URL, you can receive a corresponding header by setting up the custom header as follows:

 The custom header 'Authorization' will appear as:

Authorization: Basic dXNicm5hbWU6cGFzc3dvcmQ=

Note: The following must be noted while setting up a Custom Header :

  1. A standard (system) header cannot be redefined. 
  2. A custom header name must contain alphanumeric characters only. Only special characters allowed are underscore (_), period(.), and hyphen(-).
  3. Duplicate names are not allowed.
  1.  Click Save to save your settings and Webhooks will be enabled for this form.​​

Response Format for Content Type

  1. application/json - When you choose this content type, you will receive your response format as shown below.

{
    "Name": "Richard Johnson",
    "Email": "richardjohnson@zylker.com",
    "Phone": "xxxxxxxxxx",
    "Dependent_details": [
        {
            "Dep_Name": "Elizabeth Parker",
            "Dep_Email": "elizabethparker@zylker.com",
            "Dep_Relation": "Spouse"
        },
        {
            "Dep_Name": "Michelle Johnson",
            "Dep_Email": "michellejohnson@zylker.com",
            "Dep_Relation": "Daughter"
        }
    ]
}

Using this content type, you can transfer Subform data from your form. However, you cannot transfer form attachments through Webhooks.

  1. application/x-www-form-urlencoded - When you choose this content type, you will receive your response format as shown below. 

Name=Richard Johnson&Email=richardjohnson@zylker.com&Phone=xxxxxxxxxx

Using this content type, you cannot transfer form attachments and Subform data through Webhooks.

  1. multipart/form-data - When you choose this content type, you will receive your response format as shown below. 
Content-Type: multipart/form-data; boundary=---------------------------98954019110886277696241143
 
 
-----------------------------98954019110886277696241143
 
Content-Disposition: form-data; name="Name"
 
 
Richard Johnson
 
-----------------------------98954019110886277696241143
 
Content-Disposition: form-data; name="Email"
 
 
richardjohnson@zylker.com
 
-----------------------------98954019110886277696241143
 
Content-Disposition: form-data; name="Phone"
 
 
xxxxxxxxxx
 
-----------------------------98954019110886277696241143
 
Content-Disposition: form-data; name="IDcopy"; filename="ID.pdf"
 
Content-Type: application/pdf
 
 
Content of ID.pdf as bytes
 
-----------------------------98954019110886277696241143--

Using this content type, you cannot transfer Subform data through Webhooks. You cannot use this content type if you have configured the Manage Form Attachments option in your form.

Note: When using application/json or application/x-www-form-urlencoded content format, you can store your attachments in third-party cloud services using the Manage Form Attachments option and the link to the attachments can be sent through Webhooks. 

Share this post : FacebookTwitter

Still can't find what you're looking for?

Write to us: support@zohoforms.com