|
POST
|
Hello @Anonymous User, I am assuming in the Survey123 website under the Data tab you are selecting Export > Excel correct? You aren't using the Report functionality available in Survey123 right? If you are still seeing this issue if you navigate to your ArcGIS organization, navigate to the feature service the survey is pointing to, and export to excel from there is the same behavior observed? Thank you, Zach
... View more
10-01-2021
09:02 AM
|
0
|
0
|
822
|
|
BLOG
|
ArcGIS Survey123 provides a number of tools for you to customize your workflow and meet the specific requirements for your projects. Tools such as custom JavaScript functions, the Survey123 web app JavaScript API, Report REST API, creating custom functionality, Python tools, and so much more are all readily available for you to make use of and extend the capabilities of ArcGIS Survey123 to meet your project goals. These tools are constantly being updated and developed to accommodate more workflows and may be tough to keep track of what’s available and what’s the best option for you. This blog is intended to help expose you to all the Survey123 tools available to developers and provide some use cases and information as to why you may want to go with one tool over another. This blog will cover the following automation tools: Webhooks ArcGIS Survey123 module present in the ArcGIS API for Python Survey123 REST API Building a custom version of Survey123 Field app add-in’s (alpha) Embedding a survey Survey123 web app JavaScript API Webhooks: Typically, webhooks are used to connect two different applications such as Survey123 and Gmail and use web requests (HTTP requests) in order to exchange information. Webhooks allow you to automate tasks using connectors provided by the webhook provider of your choice. The two common webhook providers used with ArcGIS Survey123 are Microsoft Power Automate and Integromat, although other providers like Zapier and Tray.io can also be used. Using the connectors provided by your webhook provider workflows such as generating reports, sending emails, copying data into a relational database management system, or enriching your data using additional API services can all be achieved using webhooks. Typically, you would use a webhook to automate your workflow when you would like that automation to occur in real time as surveys are submitted. For example, as folks submit surveys you would like to immediately generate a report and send an email to the submitter containing the report as an attachment. Conversely, if you would like data updated in real time as submissions come in with services such as Esri’s geoenrichment API using a webhook would be a good option to help you reach your end goal. Please see these links for more information on getting started with webhooks: Webhooks documentation Getting Started with Survey123 and Integromat Survey123 Tricks of the Trade: Integromat Working with Survey123 attachments in Integromat Survey123 Tricks of the Trade: Working with attachments in Microsoft Power Automate Automating workflows with Survey123 and Microsoft Power Automate (formerly known as Microsoft Flow) Workflow Automation with Survey123 How To: Create an ArcGIS Survey123 connector for Microsoft Power Automate for use with ArcGIS Enterprise How To: Configure an Integromat webhook to upload ArcGIS Survey123 Feature Reports to a cloud service provider Calling Python scripts with Survey123, Integromat, and Google Cloud Functions Survey123 module present in the ArcGIS API for Python: Within the ArcGIS API for Python there is a module specifically designed for Survey123 workflows. The Survey123 Python module provides methods and resources to automate common tasks with your Survey123 surveys. Using the module, you can work with your surveys, identify properties, and generate Reports. Additionally, you can work with survey results whether that be through displaying the data in a Pandas data frame using a Jupyter Notebook or downloading results as a file geodatabase. The ArcGIS Survey123 module can be used with other modules available in the ArcGIS API for Python. This opens the door to automate end to end workflows as any method available in the ArcGIS API for Python can be used to achieve your end goal. For example, you can connect to a specific survey and work with the underlying feature service or perform a common task on a large number of surveys, such as sharing surveys to a group or cloning surveys between ArcGIS organizations. You may want to use the ArcGIS API for Python if you don’t need your workflow completed immediately like a webhook would provide, say you want to generate reports once a week or clone a handful of surveys from your development organization to you staging organization every quarter. Conversely, you may also want to consider using the ArcGIS API for Python if want to keep everything internal to your organization instead of using third party software. Say, for example, your organization does not allow you to use Integromat, you may want to use the ArcGIS API for Python to automate your report generation keeping everything internal. We have Python guides available for a handful of Survey123 workflows present in our documentation, and can also be downloaded from our Survey123-tools GitHub repo. We are working to add more workflows to the repo and documentation, and we are open to feedback on new workflows that folks would like scripted or enhancements to the existing guides to make them more meaningful. Please use these links for more information on getting started with the Survey123 module in the ArcGIS API for Python: Install ArcGIS API for Python Survey123 Python module documentation Survey123-tools GitHub repo Clone surveys from one organization to another 2021 Developer Summit Extending ArcGIS Survey123 presentation (Automating Tasks using Python section) Report REST API: The Survey123 REST API allows you to implement the power of Survey123 reports in your own applications. The Survey123 website uses the REST API when it is generating reports through the web UI, the REST API is documented publicly and can be incorporated into your own custom applications to generate reports as you like. Workflows that you would use in the Survey123 website like estimating credits, checking report template syntax, creating sample reports, and generating full reports are all accessible via the Survey123 REST API. The general workflow when using the Survey123 REST API is to start off by sending a submitJob request to the API. This request will contain information such as the REST URL for the feature layer associated with the survey, query parameters, item ID for the template item you would like to use, and a valid access token. The response of the submitJob request will provide the ID for that specific job. Using that job ID your application will need to send periodic requests to the jobs resource passing along the ID supplied from the submit job task. When the task finishes, and the report is ready the response of the jobs request will contain the result information on the report as well as the URL to download the report. You may want to use the Survey123 REST API if you have your survey embedded in a website or a custom application and you want to generate a report as soon as a user submits a survey and have the report available for download or view directly within your application. Another workflow would be if you wanted to create a custom Report widget for your ArcGIS Dashboard or Experience Builder application. Please use these links for more information on getting started with the Survey123 REST API: Survey123 REST API reference documentation Sample widget utilizing the REST API 2021 Developer Summit Survey123 REST API (Survey123 Report REST API section) Build a custom app: Using ArcGIS AppStudio with the AppStudio Developer Edition license you can modify any aspect of the ArcGIS Survey123 field app and connect to meet your needs. The source code for both applications is available in the AppStudio enterprise templates and can be modified to your liking. After you have modified the application to meet your needs you can publish the application to the app stores making it available to others. Customizations can be cosmetic like changing the field app and connect to your company’s colors or adding your company’s logo in the app all the way to functional like modifying functionality or adding new functionality that meet your specific needs. You may want to customize the ArcGIS Survey123 field app or connect if your workflow requires something that the out of the box ArcGIS Survey123 application doesn’t provide. Sticking with the reports theme, if you need a report generated as soon as a survey is submitted and have the generated report accessible within the Survey123 field app you can add in requests to the Survey123 REST API after the survey is submitted and generate a UI to access the report once it is generated. Please use these links for more information on getting started with building a custom Survey123 application: App customization documentation Configure Survey123 using ArcGIS AppStudio Field app add-in’s (alpha): The custom build of Survey123 may be a more tedious task than you would like. As Survey123 releases the code for those releases is updated in the Survey123 enterprise template available in ArcGIS AppStudio. This means each time there is an ArcGIS Survey123 release if you want to update you would need to update your app using the latest template and test to doublecheck everything still works as expected with the new release. You would then need to republish your app to the app store and have your users update the app on their end. If you need specific functionality that doesn’t come standard in the out of the box Survey123 application but you don’t want to deal with maintaining an entire app plus your customizations with each version release ArcGIS Survey123 field app add-in’s may be a favorable option. The benefit of add-in’s are they sit alongside the app store release of Survey123. Your custom functionality can live independently from Survey123 and as Survey123 updates there may not be anything you would need to do on your end. Currently field app add-in’s are in their Alpha stage meaning some additional steps are needed in the Survey123 field app in order to use them. There are four types of add-in’s available for the ArcGIS Survey123 field app, they are: Tool Custom question type Scanner control Camera control You may want to use add-in’s if you are looking for specific functionality that is not present in the out of the box release of ArcGIS Survey123, without the hassle of maintaining an entire application. Please use these links for more information on getting started with ArcGIS Survey123 add-in’s: Add-in’s documentation Add-in type documentation Survey123 field app API reference 2021 Developer Summit Extending ArcGIS Survey123 presentation (Add-in’s section) Embed a survey: ArcGIS Survey123 web forms can be embedded in other applications either using an iframe or using the JaveScript API which will be discussed next. Surveys can be embedded in ArcGIS Dashboards, Experience builder applications, HTML pages, or other custom applications. Embedded surveys support a number of URL parameters which help you fine tune how you want your survey to behave in your application. You may want to embed a survey in your application if you are looking to have folks take new surveys or edit existing surveys in web applications and do not require custom modifications. Please use these links for more information on getting started with embedding ArcGIS Survey123 surveys: Embed a survey using an iframe Embed a survey using JavaScript Survey123 Tricks of the Trade: Embedding a survey in an ArcGIS Dashboard How To: Embed a survey form and edit existing data from ArcGIS Survey123 in ArcGIS Dashboards Web app JavaScript API The ArcGIS Survey123 web app JavaScript API provides resources beyond simply embedding a survey in a web application. The web app JavaScript API provides constructors and methods that allow you to implement custom functionality allowing your application to interact with your Survey123 webform. Workflows such as setting question defaults based on a value in your application, modifying the style of the form, setting the webform mode, and setting custom scripts to run when a form is submitted can all be achieved using the web app JavaScript API. You may want to use the Survey123 web app JavaScript API if you plan on embedding your survey in a custom web application and would benefit from adding your own customization to the web form that will help make the integration seamless. Please use these links for more information on getting started with the ArcGIS Survey123 web app JavaScript API: Introducing the Survey123 Web App JavaScript API ArcGIS Survey123 Web App JavaScript API documentation 2021 Developer Summit Extending ArcGIS Survey123 (Web App JavaScript API section)
... View more
09-30-2021
05:57 PM
|
5
|
1
|
10144
|
|
POST
|
Hello @TL2, With the 3.13 release of ArcGIS Survey123 we have added support for viewing existing images in the inbox. At the moment you can only view and add new images. In the future we are hoping to add support for deleting and updating images from the inbox. Thank you, Zach
... View more
09-30-2021
02:39 PM
|
0
|
1
|
997
|
|
POST
|
Hello @JasonCyphers, The Survey123 website uses decimal date time whereas the field app uses both decimal date time and epoch time. The calculation you have written is in epoch time, your calculation will need to use decimal date time for it to work in both the Survey123 web app and field app. The calculation would need to be: int((decimal-date-time(${arrival_time})-decimal-date-time(${dispatch_time})) * 24*60) Please see the Constraints and Calculations section of Ismael's Esri Community blog for reference. Please also see the Decimal date time documentation for more information. Thank you, Zach
... View more
09-30-2021
02:19 PM
|
1
|
0
|
1944
|
|
POST
|
Hello @JessicaJThompson, When you refresh your inbox you are still seeing the inbox as empty correct? For the feature service that you configured with the survey is the parcel layer the only layer in the service or are there other layers? If there are other layers is the parcel layer the first layer in the service? Thank you, Zach
... View more
09-30-2021
02:00 PM
|
0
|
0
|
5057
|
|
POST
|
Hello @dedgar_polk, The behavior you are observing is different than the one Triston was encountering. The behavior you are running into has been noted in a few other Esri Community posts: https://community.esri.com/t5/arcgis-survey123-questions/repeat-appearance-not-working/m-p/1099738/highlight/true#M37304 https://community.esri.com/t5/arcgis-survey123-questions/survey123-version-3-13-229-pages-style/m-p/1099988/highlight/true#M37324 If you can pass along a copy of your XLSForm I can take a look into it and pass along what changes can be made to resolve the behavior. Thank you, Zach
... View more
09-22-2021
08:39 AM
|
0
|
1
|
3605
|
|
POST
|
Hello @Anonymous User, To confirm this behavior is observed with the latest 3.13 release of ArcGIS Survey123 as well right? If so I would also suggest seeing if there are any updates to the graphics drivers on the machine. Please use these links for reference regarding how to check and update the graphics drivers: http://www.algodoo.com/update-drivers/ https://support.microsoft.com/en-us/windows/update-drivers-in-windows-ec62f46c-ff14-c91d-eead-d7126dc1f7b6 Another thing to try is to use command line parameters to see if changing the rendering engine makes an difference. If you try angle as the rendering engine is there a difference in display? Thank you, Zach
... View more
09-21-2021
04:28 PM
|
1
|
1
|
3639
|
|
POST
|
Hello @JohnnyHarley232, Is the webhook configured with the survey or with the feature service? If the webhook is configured with the survey, Survey123 will submit a request to the Integromat payload URL right after the applyEdits request which goes to your ArcGIS organization with the same information. If you are seeing data in your feature service but the webhook isn't triggering there may be something going on with the request to the Integromat payload URL. In Integromat you can check the run history of the webhook, are there webhook triggers at the time your client is submitting data or are the only webhook triggers from your and your colleagues testing? Thank you, Zach
... View more
09-21-2021
03:52 PM
|
0
|
0
|
1459
|
|
POST
|
Hello @ZDouiri, We have ENH-000130906 logged to support Captcha in Survey123. The issue at the moment is if Survey123 were to implement Captcha it would provide a false sense of security. While automated form fills could be prevented for a public survey the REST endpoint is still publicly available for spam submissions and a basic python script would be able to spoof submissions bypassing Survey123 altogether. Ultimately to adequately make the workflow of using Captcha effective we need the implementation of ENH-000122698 on the ArcGIS Online/Enterprise side of things to be implemented so that both the Survey form and REST endpoint can be configured to prevent spam submissions. A few things that can be done now is to set “Only one submission is allowed per submitter” under the Collaborate > Share survey tab as that will use a browser cookie to prevent multiple submissions. Please see this documentation for the workflow. Alternatively another workflow that could be used is to publish a Survey123 survey then take the feature service that was created and re-add it to the Organization as an item with credentials stored so that limitations can be placed on the service to limit rate/referrer usage, and then update the form to use the feature service with stored credentials. From there the survey form can be embedded into a website using the Survey123 web app JSAPI and incorporated on a page with Captcha. Thank you, Zach
... View more
09-21-2021
03:42 PM
|
0
|
1
|
6435
|
|
POST
|
Hello @ANRGIS, You can use the not operator (!) to catch null submissions. The syntax would look like: ${embankmentdraintypes}${if ! embankmentdraintypes}None${/} Thank you, Zach
... View more
09-21-2021
03:24 PM
|
0
|
1
|
1631
|
|
BLOG
|
Hello @DataOfficer, That statement is no longer relevant, since the 3.9 release of ArcGIS Survey123 an update notification system was implemented. After the media folder is updated Survey123 will recognize that the form item has been updated and display a notification that an update is available. In Survey123 Connect under the options you can enable "Require update to the latest version of this survey" so that when someone selects the survey they will need to update it before starting a survey. Thank you, Zach
... View more
09-21-2021
02:45 PM
|
2
|
0
|
8767
|
|
BLOG
|
Hello @StuartMoore, @MillerDerek is correct the clone_items() method will clone the full item instead of a specific record in a survey. Please see the clone_items() Python API documentation for more information. Thank you, Zach
... View more
09-21-2021
02:31 PM
|
1
|
0
|
8087
|
|
IDEA
|
Hello @JonathanPendleton @JoshHabel @GaryElsner @erica_poisson, This workflow can be accomplished using custom JavaScript functions in your survey. The JavaScript function queries the feature service the survey is pointing to and returns the most recent submission and populates the questions in the sample. I have attached a sample XLSForm and JavaScript function that demonstrates the workflow. All that is needed is to publish the XLSForm and then update the REST URL in the JavaScript function with the REST URL for the feature service that was created when the survey was published. Please note this workflow will not work for select_one or select_multiple questions. We do have the search() appearance which can be used with select_one or select_multiple questions, but there is a known issue at the moment where defaults will not work with the search() appearance. Thank you, Zach
... View more
09-09-2021
01:45 PM
|
0
|
0
|
3423
|
|
POST
|
Hello @jaykapalczynski, Let's schedule a call to discuss the workflow and get it set up and running. Please feel free to email me at [email protected] and we can schedule a call to clear it up. Thank you, Zach
... View more
09-08-2021
05:55 PM
|
1
|
0
|
1850
|
|
BLOG
|
Hello @StuartMoore, Yes this workflow can be used to clone a single survey within the same organization, you would just need the code from the Clone full survey folder section of the sample notebook. Although if your survey was created in the Survey123 website you can use the "Save as" option in the website to create a copy of your survey. Thank you, Zach
... View more
09-07-2021
03:36 PM
|
1
|
0
|
8416
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | a month ago | |
| 1 | 05-22-2026 03:26 PM | |
| 1 | 02-27-2026 02:55 PM | |
| 6 | 12-17-2025 01:51 PM | |
| 1 | 11-04-2025 02:14 PM |
| Online Status |
Offline
|
| Date Last Visited |
3 weeks ago
|