Work orders in batch
Can read the request spreadsheet, reject what is outside the area or has no coordinates and create the tasks in the Field Maps task layer (esritask_* fields), with assignee, due date and priority.
Octo for field work and operations in ArcGIS
Survey123, Field Maps, Workforce, QuickCapture and Notebooks already handle field data collection. With the ArcGIS Python API, Octo can turn a spreadsheet of requests into Field Maps tasks, prepare the offline map, publish the form from a versioned XLSForm, generate draft inspection reports in batch and check the quality of the collected data every day. Everything starts in staging and ends in a human decision: signed reports, publishing to production and approval of the inspection stay with authorized people.
arcgis, published October 20, 2026Six possible deliverables, drawn from the survey. All of them use the ArcGIS Python API or Survey123 exports, start in a staging organization and go to review by whoever is responsible for the operation.
Can read the request spreadsheet, reject what is outside the area or has no coordinates and create the tasks in the Field Maps task layer (esritask_* fields), with assignee, due date and priority.
Can create the map's offline area by script (offline_areas.create) and generate the fieldmaps.arcgis.app link that opens the right map on the team's device.
Can keep the XLSForm as CSV in git, check the structure, build the .xlsx and publish to staging with Survey.publish(..., schema_changes=False), which stops and describes any schema change.
Can number the approved inspections, estimate the cost with Survey.estimate and generate the PDFs in batches with generate_report, from the approved .docx template.
Can write and schedule a notebook that checks the day's inspections (missing photos, point outside the area, duplicates) and sorts the outstanding items by supervisor.
Deliverable: the day's outstanding items, per supervisorCan configure Survey123 or feature service webhooks (FeaturesCreated, with HMAC signature) to notify another system on each submission, and prepare the receiver that checks the signature.
The same Octo cycle, applied to field operations. Each arm has a narrow role; approving the inspection, signing the report and publishing to production are done by people.
ArcGIS Online or Enterprise, which apps the team uses (Survey123, Field Maps, Workforce, QuickCapture), which forms, layers and dashboards exist, and where requests originate today.
Task layer fields, type and priority codes, form fields, report numbering, coordinate system and time zone of the dates.
Saved profiles, no passwords in files; least privilege on the service account; citizens' photos and addresses treated as personal data (LGPD), with only what is necessary.
Field Maps tasks instead of Workforce (deprecated in the API since 2.4.4), scheduled notebook or webhook, single batch or in parts, Online with credits or Enterprise.
Python scripts with the ArcGIS API and XLSForm as CSV, each with the source of the syntax noted in the file itself and a simulation mode that runs without touching ArcGIS.
Runs with sample data, then in the staging organization, and checks by the result: the task on the device, the PDF opened, the outstanding item in the supervisor's text.
Only with your explicit OK, it publishes the form, creates the tasks or schedules the notebook in production, with the credit estimate approved first.
Version of the form, report template and API used in each batch, git tag of each publication and quality rules in force. The next job starts from this record.
Octo does not sign reports, approve inspections or publish to production on its own. That belongs to the professional of record, the supervisor and whoever is responsible for the operation.
The criteria Octo uses to choose. Esri's apps remain the reference; the scripts prepare, check and consolidate.
| Task | Path | Note |
|---|---|---|
| Creating work orders in batch | Field Maps task layer + edit_features(adds=...) | Workforce only for legacy projects: module deprecated since 2.4.4, removal planned for 2027 |
| Sending the team to the right map | fieldmaps.arcgis.app link or build_field_maps_url | Test the link on the device before sending |
| Offline map of a region | Map(item=...).offline_areas.create(...) | Check with check_compatibility(); storage is billed in Online |
| Changing the form safely | XLSForm as CSV in git + Survey.publish(..., schema_changes=False) | Staging first, explicit approval for production |
| Reports in batch | Survey.estimate + generate_report(..., output_format="pdf") | 0.5 credit per record in Online; a draft, not a signed report |
| Checking collection quality | Survey.download("CSV") + script; scheduling with tasks.create | Rules defined by the supervisor |
| Reacting to each submission | Survey123 or feature service webhook | Receiver checks the HMAC signature |
| Copying a dashboard or form to another organization | gis.content.clone_items(...) | Map and image services are not copied |
Three steps. Each one only makes sense after the previous one has shown results in your operation.
A proposal, not a promise
With the Survey123 exports and the request spreadsheet, you ask in operational terms and Octo proposes the script and the list.
Tasks, offline areas and draft reports now come out in batch, first in the staging organization.
The daily check runs on its own in a scheduled notebook, and neighboring systems receive each submission by webhook.
Each point below has a source published by the vendor, the project or the responsible agency. The sources are in the next section.
4
points with a published source, each with its reference alongside.
arcgis.apps.workforce module reference says it has been deprecated since 2.4.4 and will be removed in fall 2027 (the notice on each class and method says "Removed in: 2.4.6"), and directs users to migrate to Field Maps tasks.Source: Python API reference, arcgis.apps.workforceSurvey.publish(xlsform=..., schema_changes=False) publishes the form from the XLSForm; with schema_changes=False, any schema difference becomes an error that describes the differences.Source: Python API reference, arcgis.apps.survey123Octo prepares everything, but does not sign. The document of record stays with whoever is accountable for it.
Gathers, calculates, organizes and produces the documents: spreadsheets, reports, maps and drafts.
Deliverable: material ready for reviewThe licensed professional reviews what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.
Step: review by whoever signsOcto does not sign. Designs, technical reports, ART/RRT, accountability reports and any official document are still signed by the licensed professional at the company or agency: here, the professional of record for the map or survey.
Signature: professional of record for the map or surveyEsri and PyPI documentation used in the survey, accessed October 29, 2026.
The assessment starts with a request spreadsheet or a Survey123 export you already have, without touching your production organization. You get a proposal for what can be prepared and checked in your operation and decide with it in hand.