Webhooks

Webhooks are a widely supported method used to allow multiple applications to interact with each other, using HTTP POST requests to pass callbacks between them. For more information, see Wikipedia's page on webhooks. Common uses for webhooks include sending notifications via email or SMS, posting messages to social media, automatically writing records to a spreadsheet, and updating enterprise databases.

In ArcGIS Survey123, webhooks can be set up and activated when a survey response is submitted. For example, after a successful submission of information to the feature layer, the webhook could be called and trigger another action, such as sending a notification email, appending the survey content to a spreadsheet, and sending an alert.

Your workplace may have its own webhook provider, but a variety of third-party workflow services are available, such as Microsoft Power Automate, Integromat, Zapier, and tray.io. All of these can be used to incorporate Survey123 as a trigger for an automated process. In particular, Microsoft Power Automate and Integromat each have a built-in Survey123 connector, allowing you to integrate Survey123 into your webhook workflow with minimum difficulty, and without the need to configure the webhook in the Survey123 website or to input a payload URL.

Caution:

When you create or modify a webhook for a survey, the survey must be updated in the Survey123 field app for the changes to take effect.

There are numerous ways you can use Survey123 as a trigger in your workflows. The following sections demonstrate how to set up a webhook to send a notification email when a response has been sent that contains a question answered with a certain value.

Set up a webhook in Integromat

Integromat is an online automation platform. Sign up for a free account to get started. Integromat has templates to use as a starting point for including attachments in your email notifications, adding records to spreadsheets, and creating calendar items.

  1. Go to https://www.integromat.com/ and sign in.
  2. Click the Create a new scenario button.
  3. Search for Survey123 and select it. Click Continue.

    The Survey123 module is listed as a favorite in your scenario.

  4. Click the module icon in the middle of the screen and select Survey123 from the menu.

    Add Survey123 module

  5. Choose the Watch survey trigger module.

    This module is designed to run the scenario each time a survey response is submitted.

    The scenario icon changes color, and a wizard appears to help you configure the Survey123 module.

    Tip:

    The Create report module can be used to generate a report for a survey response.

  6. Click Add and provide a name for your webhook.

    This name should be unique to the survey you are configuring the webhook for.

  7. If this is your first time using this module in Integromat, set up a connection to your ArcGIS organization. You only need to do this once, as Integromat saves your information for future use. Click Add and name the connection to ArcGIS.
    • To connect to ArcGIS Online, click Continue to sign in to your ArcGIS organization.
    • To connect to ArcGIS Enterprise, register Integromat with your portal. For more information, see the Survey123 Tricks of the Trade: Integromat blog post.
  8. Choose a survey from your ArcGIS organization to connect to.

    Webhook for your survey

  9. Consider the options to include in your webhook, and click Save.

    Keeping the default value of Yes is recommended for all options, giving you the most flexibility when customizing your webhook.

  10. Click OK.

    Your webhook is created and the Survey123 module is configured.

  11. Click the Add another module button on the right side of the Survey123 module to connect another module to it.

    Add another module

  12. Search for Email and select the Email module.
  13. Select the Send an Email action.
  14. If this is your first time using this module in Integromat, click Add to set up a connection to your email account. Select a connection type and sign in to your account.

    You only need to do this once, as Integromat saves your connection for future use.

  15. Add a recipient email.

    This is the email address where the triggered email will be sent.

  16. Click in the subject text box. Choose fields from your survey to construct your email subject using the module settings panel that appears.
  17. Click in the content text box. Choose fields from your survey to construct the content for your email using the module setting panel that appears. You can format the content using HTML.
  18. Click OK.

    This scenario needs to send the email when a question has been answered a certain way, so you will provide a filter.

  19. Click the tools icon between the two modules, and select Set up a filter.

    Add a filter to your scenario

  20. Click in the Condition text box and choose the field from your survey that you want to use in the filter.

    Define your filter

  21. Choose the operator for the condition. In this case, choose the default, Equal to.
  22. Enter a value for the condition and click OK.
  23. Click Save to save your scenario.

    Optionally, you can click Run once to test your webhook. After clicking Run once, open Survey123 and submit a survey, ensuring that the survey response satisfies the filter condition. Confirm that the recipient receives the email.

  24. Use the on/off toggle button at the lower left of the page to activate your scenario. Set the schedule to Immediately to ensure that the scenario runs each time a survey response is submitted.

To learn additional ways to use Survey123 as a trigger in your workflows, see Integromat.

Set up a webhook in Microsoft Power Automate

Microsoft Power Automate (previously Microsoft Flow) is a webhook service provided in the Microsoft Office 365 platform.

  1. Open Microsoft Power Automate.
  2. Select My flows from the page side menu.
  3. Select Create from blank from the New menu.
  4. Click the Create from blank button.

    Next, you'll select a trigger.

  5. Type Survey123 in the search bar. Select When a survey response is submitted.

    Survey123 connector in Microsoft Power Automate

  6. If this is your first time using this connector in Microsoft Power Automate, click Sign In to sign in with your ArcGIS organization credentials.

    You only need to do this once, as Microsoft Power Automate saves your credentials for future use.

  7. Select the survey you want to use for your webhook from the drop-down list of surveys.

    You have now set up the trigger for your webhook. However, for the webhook to perform any actions with this trigger, your process needs more steps.

    This flow needs to send an email when a question has been answered a certain way so you'll provide a condition.

  8. Click the New Step button, and choose Condition at the top of the Actions section.

    Condition UI in Microsoft Power Automate

  9. Click the leftmost text box to open a dialog box to select a field in your feature layer. Select the survey question you want to use to qualify your survey.
  10. The middle text box is a drop-down menu where you select the condition on which to trigger. Since you're looking for an exact response, select is equal to.
  11. In the rightmost text box, type the value for the question for which you want to send a notification.

    You want this email sent only if the condition is fulfilled.

  12. Click Add an action in the If yes box. The If no box remains blank.

    Many mail services have connectors that can be used in this flow.

  13. For this exercise, select Office 365 Outlook - Send an email.
  14. Sign in to the mail service with your credentials, if your credentials are not already saved.
  15. Fill in the To field of your email; it is required for the connector. Fill in the rest in a way that will be easily recognizable and that contains relevant information.

    The dialog box that appears when you select a text box allows you to insert the contents of the survey response as necessary.

  16. When your email is complete, click Save.

Your webhook is complete and is active by default. The webhook will now execute every time a survey response is submitted with the given conditions.

Configure a webhook in the Survey123 website

Complete the following steps to set up a webhook in the Survey123 website:

  1. On your My Surveys page, select the Settings tab from the menu at the lower right of the survey's panel.
  2. Select the Webhooks section from the menu on the left.

    This page allows you to set and access all webhooks you've set up. If you haven't set up any webhooks in Survey123, the page is empty.

  3. Click Add Webhook.

    A new page opens where you can set up how the webhook will interact with your survey.

    Add webhook page in Survey123 website

  4. Provide a name for your webhook, which will be used to identify it in the future.
  5. The payload URL is where the survey information will be sent. This needs to be provided by an external webhook service.
  6. The trigger events describe the specific actions that will call the webhook. Select New record submitted.
  7. Event data allows you to choose the information from your survey that will be included in the payload: Survey info, Server response, Submitted record, User info, and Portal info. Check the Survey info and Submitted record options.
  8. The Status toggle button determines whether the webhook will be active when saved. Leave it set to On (the default).
  9. Click Save.

The webhook is ready to use and will execute every time a survey response is submitted. Rules set in the webhook provider can ensure that an email is sent only if certain criteria are met.