Survey123 extensibility

You can extend Survey123 in a number of ways. You can change the branding of the field app, create custom functionality to modify how the field app works, or embed the web app in your website.

You can extend Survey123 in the following ways:

  • Embed a survey form in a web app.
  • Rebrand the field app.
  • Use the report API to turn your survey response into richly formatted printable documents.
  • Modify the field app to create a custom app.
  • Build an add-in for the field app.
  • Use Python to work with data captured with Survey123.
  • Use a link to open the Survey123 field app or web app in a custom state.
  • Build custom JavaScript functions to use in the field app or web app.

The developer documentation focuses on the first five of these.

Embed a survey form in a web app

You can embed a form in your custom web app and customize its style and interaction with other elements.

With minimum configuration, you can embed a survey using an iframe, or you can embed a survey using JavaScript API, which provides additional properties and methods you can use.

Turn your survey responses into richly formatted printable documents

The reports that you generate for survey results in the Survey123 website can also be triggered from your own web app using the Survey123 REST API. The most common workflow is to submit a report generation job and retrieve the results. The following steps are required:

  • Submit a report request using the createReport endpoint. The response includes a jobId to track this request.
  • Make a request at jobs/ to check the status of the job. Once finished, the job has jobStatus of esriJobSucceeded , esriJobPartialSucceeded or esriJobFailed .
  • Repeat the previous step at intervals of 5 to 10 seconds until one of the identified jobStatus values appear.
  • If jobStatus is either esriJobSucceeded or esriJobPartialSucceeded , you can then download the output file. Either a file URL is present in the resultInfo property for each file or an itemID for the file located in your ArcGIS organization is given.

For a complete list of properties and methods, see the REST API reference.

Rebrand the field app

The source code for Survey123 is available as a template in ArcGIS AppStudio. With some configuration, you can change the colors and logos in the app to suit your organization or project. You can then share this custom app with users within your company or publish it to the app stores.

See Configure Survey123 using ArcGIS AppStudio for steps to rebrand as well as the properties that can be modified.

For an example of how to rebrand Survey123, see the Extending Survey123, Part 1: White Labeling blog post.

Modify the field app to create a custom app

You can also change any aspect of the field app code to create a custom app. You can then share this custom app with users within your company or publish it to the app stores.

Build an add-in for the field app

A Survey123 add-in is a discrete collection of files that can change the behavior of Survey123 to suit your project. Instead of changing the source code in Survey123, you add functionality in a modular form. You can create add-ins that run in the background and add-ins that your users interact with, similar to a survey.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.