ArcGIS Field Maps
Analytics & DataConnect AI agents to ArcGIS Field Maps, Esri's mobile data collection app backed by hosted feature layers. Agents query and edit feature records, attach photos to field observations, and read layer metadata for downstream processing.
What This Integration Enables
Field Maps is where the data is collected, but the data does not live in Field Maps. It lives in ArcGIS hosted feature services, and that distinction is the whole point of this connector: the mobile app is the collection surface, and the feature layer underneath it is a queryable, editable database that other systems can reason about. FlowRunner agents work that layer directly. They query features with attribute filters and Esri JSON spatial filters, count matching features without pulling them, retrieve a single feature, and follow related records; add, update, and delete features, or reconcile a whole set of adds, updates, and deletes in one Apply Edits call with Rollback On Failure available where the layer supports it; list, query, add, download, and delete attachments, which is how field photos and documents move out to storage or into a report; and read feature service metadata, layer metadata, portal metadata, and search the portal for the items and services a flow should work against.
Several behaviours shape how flows are built here, and they are worth knowing before you write one. The Feature Service URL is per action rather than global, because feature services are hosted per organization, so every feature and attachment action takes the service URL and the numeric Layer ID. ArcGIS returns HTTP 200 even on failure, with the error carried in the response body, and this connector inspects every response and raises those as errors rather than passing them through as success. Editing is partial success by design: add, update, and delete return a per feature result array in which individual features can fail while others succeed, so a batch that reports back is not automatically a batch that worked. And deletes are permanent, with Delete Features accepting either a list of ObjectIDs or a SQL WHERE clause. On events, be plain about it: this connector exposes no triggers. ArcGIS hosted feature services do support webhooks, but they are configured in the ArcGIS admin rather than through this API surface, so change detection is polling. Query Features with an ordered filter on the edit or created date field, run on a schedule, is the pattern. The connector is built and verified against Esri's official ArcGIS REST API.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Daily Inspection Roll-Up
Crews collect inspections in Field Maps through the day. On a schedule, the agent calls Query Features with a filter on the edit date field to pull everything collected since the last run, calls Get Feature Count first so the flow knows the size of the batch before it fetches it, and appends each record to a reporting sheet in Google Sheets. For inspections marked as defects, it calls List Feature Attachments and Download Attachment to pull the field photo into FlowRunner file storage, then posts the record and the photo to the supervisor's channel in Slack. The morning review starts from a list of what actually needs attention instead of a map somebody has to scroll.
Asset Records Pushed Out for Survey
A capital plan or an asset register lives in another system. The agent reads the new assets from Airtable, calls Search Content and Get Feature Service Info to resolve the right feature service and layer ID, and calls Add Features to create matching points in the hosted layer with their attributes and Esri JSON geometry. Because Add Features returns a per feature result array, the agent inspects each result's success flag rather than trusting the call as a whole, and reports the failures with their error messages instead of silently dropping them. Field crews open Field Maps the next morning and the survey targets are already on the map.
Closing the Loop After a Review
An inspection is reviewed and approved in a back office system. The agent calls Query Related Records to pull the associated records, calls Update Features to set the inspection status to closed with the reviewer and the review date, and calls Add Attachment to attach the signed approval document to the feature so the evidence travels with the record. It then notifies the crew that collected it. The status a crew sees in the field is the status the office actually set, rather than a rumour that reaches them at the next toolbox talk.
Human-in-Loop Highlight
Delete Features accepts a SQL WHERE clause, and Esri's own guidance is blunt about what that means: a broad WHERE clause deletes broadly, and the delete cannot be undone. This is the one place in the connector where a single character changes the blast radius by orders of magnitude. A cleanup rule intended to remove test records collected during training, written as a status filter, will happily match production inspections collected by a crew last week if the status values were reused. There is no undo, no recycle bin, and the crew that collected them has already moved to the next site. So the agent never issues a WHERE clause delete on its own reasoning. It calls Get Feature Count with the exact same WHERE clause it intends to delete with, calls Query Features with that clause and a small result record count to pull a sample of what would go, and posts to the layer owner: "Proposed Delete Features on [service] layer [id] using WHERE [clause]. Get Feature Count returns [n] matching features. Sample of what would be deleted: [ObjectIDs with their key attributes and edit dates]. Approve, narrow the clause, or cancel?" The owner decides, and the approved delete runs through Apply Edits with Rollback On Failure set so the batch succeeds or fails as a unit rather than half completing. Querying, counting, downloading attachments, and updating statuses all run unattended, because they are recoverable. A WHERE clause that destroys field work is human-in-the-loop work, and the count is the evidence that makes the decision a real one.
Agent Capabilities
18 actionsQuerying Features
4- Query Features Returns features from a layer matching an attribute filter, an Esri JSON spatial filter, or both, with Result Offset and Result Record Count for pagination. This is also the change detection surface: run it on a schedule with an ordered filter on the edit or created date field.
- Get Feature Count Returns the number of features matching a filter without returning the features themselves. Used to size a batch before fetching it, and to establish the blast radius of a proposed delete.
- Get Feature Retrieves a single feature by ObjectID, with its attributes and geometry.
- Query Related Records Returns the records related to a set of features through the layer's relationship classes. Used to pull an inspection's child records or an asset's history alongside the parent.
Editing Features
4- Add Features Creates one or more features with attributes and Esri JSON geometry. Returns a per feature result array in which individual features can fail while others succeed.
- Update Features Modifies attributes or geometry on existing features by ObjectID. Returns a per feature result array. Used to write a review outcome back to the record the field crew collected.
- Delete Features Removes features by ObjectID list or by SQL WHERE clause. This is permanent and cannot be undone, and a broad WHERE clause deletes broadly.
- Apply Edits Reconciles adds, updates, and deletes to a layer in a single call. Set Rollback On Failure to make the whole batch fail together, which requires a layer that supports rollback.
Attachments
5- List Feature Attachments Returns the attachments on a feature, with their IDs. Used before downloading, because the download needs the attachment ID.
- Query Attachments Returns attachments across features matching a filter, with Result Offset and Result Record Count for pagination.
- Add Attachment Downloads a file from a URL you supply and posts it to a feature as a multipart attachment. Requires the layer to have attachments enabled.
- Delete Attachments Removes attachments from a feature. This is permanent and cannot be undone.
- Download Attachment Saves an attachment to FlowRunner file storage and returns a URL. Used to move field photos and documents into a report, a ticket, or object storage.
Metadata and Discovery
5- Get Feature Service Info Returns a feature service's metadata, including its layer IDs. Used to resolve which numeric Layer ID a flow should target.
- Get Layer Info Returns a layer's metadata, including its field definitions and types. Used to validate field names before writing anything back.
- Search Content Searches the ArcGIS portal for items and services, paging with Start and Number up to 100 per page and returning a `nextStart` of -1 when there are no more results.
- Get Item Retrieves a single portal item by ID, with its metadata.
- Get Portal Info Returns information about the portal the connection is authenticated against. Works with both ArcGIS Online and ArcGIS Enterprise.
Frequently Asked Questions
What can FlowRunner do with ArcGIS Field Maps?
FlowRunner agents can run Query Features, Get Feature Count, and Get Feature in ArcGIS Field Maps, plus 15 more actions.
Does connecting ArcGIS Field Maps to FlowRunner require OAuth?
ArcGIS Field Maps uses a custom authentication method to connect to FlowRunner.
Can ArcGIS Field Maps trigger a FlowRunner workflow automatically?
ArcGIS Field Maps doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with ArcGIS Field Maps
$100 in credits. No card required. Connect in minutes.