ArcGIS Survey123
FormsArcGIS Survey123 is Esri's form centric field data collection product backed by hosted feature services. Agents find surveys, read, write, aggregate and attach to responses, generate feature reports, manage webhooks, and react to every new or edited submission.
What This Integration Enables
Survey123 is not a form tool that happens to store answers. A survey is an ArcGIS portal item, and every response is a row in a hosted feature service with geometry, attachments, and a schema, which is a very deliberate choice by Esri: it makes a submitted form a record of what someone saw, at a place, at a time. Teams pick it when the answer has to survive an audit, a dispute, or a regulator, not just a reporting cycle.
That is why this connector reaches all three surfaces rather than just the form. FlowRunner agents find surveys through the ArcGIS portal and resolve what each is attached to, query, aggregate, write, and correct responses in the hosted layer, fetch the photos and signatures a submission carried, render feature reports as Word or PDF documents from a template, and manage the survey's webhooks including ones set up by hand in the Survey123 designer. Reading and summarizing that record is safe work for an agent. Editing and deleting it is where FlowRunner's human-in-the-loop step earns its place, because ArcGIS has no recycle bin.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
Inspection to work order, with the photos attached
An inspector submits a site inspection and On Survey Response fires. The webhook payload carries attributes and geometry but never attachment bytes, so the agent immediately calls List Response Attachments and Download Response Attachment to pull the site photos into FlowRunner file storage where a later step can read them. It branches on the condition field, opens the work order in ServiceNow or Monday, and calls Update Survey Responses to write the ticket number and assignment back onto the response so the field crew sees it in the form. The finding and its images post into the operations channel in Slack, and a critical condition pages the on call crew through Twilio.
-
Nightly reports that cost what you expected
Feature reports render responses into Word or PDF documents from a template, and ArcGIS bills them per record. So the agent runs the sequence in that order: Count Survey Responses with a Where clause on the edit date to see whether anything was even submitted, Estimate Report Credits to learn what the run would cost before spending anything, then Create Report against the survey's template. It polls Get Report Job until the status settles, calls Download Report Output to store the rendered file, and hands it to the regional manager. Output files disappear when a job leaves the recent jobs window, so the agent collects them promptly rather than assuming they will wait.
-
Duplicate submissions from a crew with no signal
Field crews resubmit when connectivity drops mid form, which leaves two responses describing one visit. On a schedule, the agent queries the layer for responses that share an asset id and a date, pulls both with Get Survey Response, compares their attributes, and calls List Response Attachments on each to count the photos attached. It posts the pair side by side to the survey owner with the difference called out. Only after the owner names the survivor does the agent copy anything missing across and remove the other.
Human-in-Loop Highlight
Delete Survey Responses removes rows from the hosted feature layer outright. There is no recycle bin in the ArcGIS REST API, and a deleted response takes its attachments with it, which means the photo of the cracked weld and the inspector's signature go with the row. Nobody can re-collect them, because the inspector left the site three weeks ago. So the duplicate sweep never picks a survivor. It posts: "Two responses on the Riverside pump station for 14 March. Response 8841 has four photos, a signature, and the condition marked Fail. Response 8846 has no attachments, a completed repair note, and the condition marked Pass. Which one survives, and should the repair note be copied onto it first?" The operations supervisor answers, the agent copies the missing attributes across with Apply Survey Response Edits, and only then deletes the other row. The same rule governs Delete Response Attachments, which removes stored bytes rather than a link. The agent does the matching, the comparison, and the merge. The call that destroys evidence belongs to a person.
Agent Capabilities
37 actionsSurveys and Portal
8- Search Surveys Finds Survey123 surveys in the connected ArcGIS organization. Every survey is a portal item of type Form, and this searches only that type.
- Get Survey Reads a survey from the Survey123 application server, returning its definition and publishing state rather than the plain portal record.
- Get Survey Item Reads the ArcGIS portal item behind a survey: title, description, tags, type keywords, owner, folder, and sharing level.
- Get Survey Form Definition Reads the form definition attached to a survey item: every question with its name, label, and data type. Used to map answers onto another system's fields without guessing.
- Get Survey Feature Service Resolves the hosted feature service holding a survey's responses by following the survey's own relationship, so a flow author never pastes a service URL by hand.
- Get Survey Related Items Lists the ArcGIS items related to a survey, which is how a flow finds the response layer and the report templates attached to it.
- Search Portal Content Searches every item type in the organization, not only surveys. Used to find report templates, web maps, and feature layers by name.
- Get Current User Returns the ArcGIS account the connection authenticated as, with its role, privileges, and available credits.
Responses
9- Query Survey Responses Reads submitted responses out of the hosted layer with the full ArcGIS query surface: a SQL Where clause, field selection, ordering, and paging. The workhorse read.
- Get Survey Response Reads one response by its object ID, with its location when geometry is requested.
- Count Survey Responses Returns how many responses match a Where clause without transferring any of them, which makes it cheap enough to gate a scheduled flow on.
- Summarize Survey Responses Aggregates responses on the server rather than downloading them, running counts, sums, averages, and more, grouped by status, inspector, or site.
- Query Repeat Records Reads the child rows a survey's repeat questions produced, alongside the parent response they belong to.
- Add Survey Responses Writes new responses straight into the hosted layer without going through the form, for backfills and for records created by another system.
- Update Survey Responses Edits responses already stored in the layer, which is how a ticket number, an assignment, or a triage status gets written back where the field crew will see it.
- Delete Survey Responses Permanently removes responses, selected by object ID or by a Where clause. There is no recycle bin, and a deleted response takes its attachments with it.
- Apply Survey Response Edits Applies adds, updates, and deletes to one layer in a single transactional call, the only way to make a mixed edit atomic. Roll Back On Failure makes the batch land as a whole or not at all.
Attachments
4- List Response Attachments Lists the photos, signatures, audio clips, and files attached to a response, with each one's name, content type, and size.
- Download Response Attachment Fetches an attachment's bytes into FlowRunner file storage and returns a URL any later block can read. Necessary because a raw ArcGIS attachment URL will not resolve for an external system.
- Add Response Attachment Attaches a file to an existing response by streaming it from a URL into the hosted layer.
- Delete Response Attachments Permanently removes attachments from a response. This deletes the stored bytes, not just the link, and cannot be undone.
Feature Layers
2- Get Feature Service Info Reads the definition of the feature service behind a survey: its layers and tables, and what editing and querying it permits.
- Get Layer Info Reads one layer's schema, every field with its type and coded values, and the record cap that governs how a query has to be paged.
Reports
10- Create Report Submits a feature report job that renders selected responses into a Word or PDF document from a template. Runs in the background and is billed per record.
- Create Sample Report Renders a single test report so a template can be checked before a paid run. The right way to iterate on a template.
- Get Report Job Reads the current state of a report job, which is how a flow waits for rendering to finish before reaching for the output.
- List Report Jobs Lists the most recent report jobs for a user, which Survey123 caps at the last ten.
- Cancel Report Job Stops a report job that is still submitted or executing, and says so plainly when the job has already finished.
- Remove Report Job Drops a finished job from the recent jobs list, used to keep that short window clear of jobs a flow has already collected.
- Estimate Report Credits Reports what a report run would cost and how many responses it would render, without submitting the job or spending anything. Run it before any open ended selection.
- Create Sample Report Template Generates a starter template for a survey with a placeholder written for every question in the layer, and stores it in FlowRunner file storage.
- Download Report Output Fetches a rendered report file into FlowRunner file storage and returns a URL a later block can read or forward.
- Check Report Template Syntax Validates a template against a survey's schema before it is used, naming every placeholder that points at a field the layer does not have.
Webhooks
4- List Survey Webhooks Lists the webhooks configured on a survey with their events, target URLs, and active state, including ones created by hand in the Survey123 designer.
- Create Survey Webhook Registers a webhook on a survey so ArcGIS posts a payload when a response is submitted or edited.
- Update Survey Webhook Replaces an existing webhook definition. Survey123 stores a webhook as one object, so every field travels on every update.
- Delete Survey Webhook Removes a webhook from a survey. This is permanent and the webhook has to be recreated to restore delivery, so switch Active off instead when the pause is meant to be temporary.
Triggers
1 triggersEvent Triggers
1- On Survey Response Starts a flow when a response is submitted to the chosen survey, or edited, or either. FlowRunner registers a Survey123 webhook on the survey when the flow starts and removes it when the flow stops, which means the connected account needs edit rights on the survey. Only two events exist, a new response and an edited one, so a deleted response never fires this trigger and a flow that has to notice deletions polls Count Survey Responses instead. The payload carries attributes and geometry but never attachment bytes, so follow it with List Response Attachments when the flow needs the files.
Frequently Asked Questions
What can FlowRunner do with ArcGIS Survey123?
FlowRunner agents can run Search Surveys, Get Survey, and Get Survey Item in ArcGIS Survey123, plus 34 more actions.
Does connecting ArcGIS Survey123 to FlowRunner require OAuth?
Yes. ArcGIS Survey123 connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.
Can ArcGIS Survey123 trigger a FlowRunner workflow automatically?
Yes. ArcGIS Survey123 supports 1 trigger that can start a FlowRunner workflow automatically.
Start building with ArcGIS Survey123
Free plan, no card required. Connect in minutes.