HTTP as a trigger

This section explains how to create webhook URLs that capture and process data from external systems.

The HTTP app in Quickwork allows you to receive data from any external application through a webhook URL. It acts as a universal entry point for journeys, enabling automation when an external service, such as a form, API, or custom system, sends data to Quickwork.

This feature is ideal when a source system lacks a native connector. The HTTP trigger supports GET, POST, PUT, and DELETE requests, allowing you to capture, log, and process incoming data seamlessly within a journey.

This section illustrates two common scenarios that demonstrate how HTTP triggers can be used:

Scenario 1: Receiving data from an external application like Zoho Forms.

Scenario 2: Forwarding the received data to another app such as Google Sheets for further processing.

Scenario 1: Receiving data from an external application (Zoho Forms)

This scenario demonstrates how to configure an HTTP trigger in Quickwork to receive data from a real-time external system such as Zoho Forms. Each time a form is submitted, Zoho sends a webhook request to Quickwork, automatically triggering the journey and capturing form responses for further processing or logging

Pre-requisites

  • Access to Quickwork to configure the HTTP trigger and actions.
  • Access to a Zoho Forms account with ability to create or modify forms.

Configuring an HTTP trigger

  1. Create a form in Zoho Forms:

    1. Navigate to your Zoho Forms account.
    2. Create a new form from scratch or select a pre-built template, such as the Contact Us form.
    3. Click the Use this template button to open the form dashboard.
  2. Configure the HTTP trigger:

    1. In Quickwork, go to the journey configuration manager.

    2. Select HTTP from the app dropdown in the App field and choose New request on HTTP link as the trigger event.

    3. No authorization is required to set up an HTTP trigger.

    4. Enter a descriptive name for your webhook, for example, Demo.

    5. Upon naming the webhook, a custom URL will be generated. Copy this URL for later use.

  3. Integrate webhook with Zoho Forms:

    1. Return to the Zoho Forms dashboard.
    2. Navigate to the Integrations tab and select Webhooks.
    3. Click Configure Webhook and paste the previously copied webhook URL into the Webhook URL field.


    1. Define key-value parameters for the form elements as needed.


    1. Save your settings and click View Response Format to see the JSON format of the form response.

  4. Set up the webhook in Quickwork:

    1. Return to Quickwork and set the HTTP method as POST.
    2. Paste the copied JSON response into the Request payload (Body) field. Optionally, add request headers or parameters if necessary.
  1. Log the trigger response:

    1. Choose the Logger app in Quickwork and select Log a Message as the action.

    2. Drag and drop payload data pills from the Data Tree Output into the Message field to log each form submission.

  2. Test the HTTP trigger:

    1. Save the journey and start execution.
    2. Go back to Zoho Forms and obtain the shareable link of the Contact Us form by navigating to the Share tab.


    1. Open the form link in a web browser, fill out the form, and Submit.


    1. Verify the logged data in the History tab of Quickwork to ensure the HTTP trigger is capturing form responses correctly.

Scenario 2: Forwarding the received data to another app (Google Sheets)

Pre-requisites

  • A Google Sheets set up with the required columns for data entry.

Configuring an HTTP trigger

  1. Navigate to the journey configuration manager within Quickwork.

  2. Setup HTTP trigger: In the Event section, select HTTP from the App field drop-down menu and choose New request on HTTP link as the trigger event. This trigger will listen for incoming HTTP requests.

  3. Configure webhook:

    1. Enter a descriptive Webhook name, such as Demo Webhook. Upon naming, Quickwork automatically generates a custom webhook URL with the trigger name appended.

    2. Select POST as the HTTP method to accept data submissions.


    1. Specify the Request payload (Body) to allow the webhook to capture the necessary data. Provide an example of a body in JSON format, which will be utilized to construct the data schema for the information received from the webhook.

These values will appear as data pills in the Data Tree Output for subsequent steps.

  1. Configure Google Sheets action:
    1. Choose the Google Sheets app and select the Add row action.
    2. Link to an existing Google Sheets account or establish a new connection.
    3. Select the target spreadsheet and the specific sheet where data will be recorded.
  2. Set up data entry: Map the data fields from the webhook to the corresponding columns in Google Sheets using data pills. This step ensures that each piece of data from the webhook is correctly placed into the Google Sheet.
  1. Execute the journey:
    1. Click Save & Start to activate the journey.

    2. Copy the generated webhook URL from the Journey tab.

Test using Postman

  1. Sign in to Postman.
  2. Navigate to New Request in the Send an API request section.
  3. Select POST as the method to match the HTTP trigger setup. Ensure consistency in the HTTP method in the trigger event.
  4. Enter the copied URL into Postman.
  5. Set up the request body:
    1. Switch to the Body tab and select Raw with format set to JSON.
    2. Enter the JSON body. For example, {ID":"Q003", "Name":"Julia Andrew","Email":"[email protected]", "Gender":"Female","Role":"Receptionist} to match the input configured in Request payload (Body) of the HTTP trigger.
  1. Send the request: Click the Send button to transmit the data payload to the specified webhook URL and trigger the associated action in Quickwork.

  2. Verify the result:

    1. Return to Quickwork to check the journey’s execution under the History tab.

    1. Visit the Google Sheet to confirm that a new row has been added with the details submitted.

Troubleshooting

  • Webhook not triggering: Ensure the external system (e.g., Zoho Forms) supports webhook integration and that the Quickwork webhook URL is correctly pasted in its configuration.
  • No data in History tab: Check that the external form or system is sending a POST request and not a GET request.
  • Incorrect payload fields: Validate that the form fields and the keys defined in the webhook payload match exactly—field-name mismatches prevent data from appearing in the Data Tree Output.
  • Data not reaching destination (Google Sheets): Verify that the target spreadsheet exists, the connection is active, and the mapped columns correspond to valid data pills.
  • “Invalid Request Body” error in Postman: Check that the request body format matches the JSON structure defined in the Quickwork trigger.

✏️ Tips and recommendations

  • Naming webhooks descriptively helps in easier management and troubleshooting in multi-webhook setups.
  • Utilize the Logger app within Quickwork to log all incoming data and any errors or important events. This will provide a trail that can be invaluable for diagnosing issues.
  • Data transmission can occur through the body, header, or query parameters, with the choice depending on the type of data involved. For instance, authentication keys are typically sent in headers, smaller datasets via URL parameters, and larger datasets in the body.
  • Regularly review and test your HTTP triggers, especially if Zoho Forms or any related services are updated or if changes are made to form structures.
  • Keep an eye on deprecations or changes to APIs or webhook formats that might affect your journey.

📚 Additional resources

Introduction to HTTP
Using HTTP as an action