Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-esri
Community n8n nodes for ArcGIS Online and ArcGIS Enterprise. Work with feature layers, attachments, portal items, and webhooks directly inside n8n workflows.
Features
- Feature Layer operations — Query, Add Features, Update Features, Delete Features (by Object IDs or Where clause), Apply Edits, and Get Layer Info.
- Attachments — Add, list, delete, and download attachments as n8n binary data.
- Portal & Item Management — Search Items, Update Item Sharing (private / organization / public), and Get Web Map Specs.
- Triggers — Poll an ArcGIS feature layer for added / updated / deleted features, or expose a webhook URL for ArcGIS to call.
- Authentication — Public layers need no token; private layers work with an explicit access token or an OAuth2 (client credentials) credential that is resolved automatically per execution.
Installation
Install the package in your n8n environment (Docker, desktop, or self-hosted) with:
npm install n8n-nodes-esri
For a Docker setup, add the package to your Dockerfile:
FROM n8nio/n8n
RUN npm install n8n-nodes-esri
Restart n8n. The Esri node, its triggers, and the credential type appear in the node panel.
Credentials
Create a registered application in ArcGIS Online or your ArcGIS Enterprise portal, then add an Esri / ArcGIS Online (Client Credentials) credential in n8n:
| Field | Description |
|---|---|
| Portal URL | Sharing REST endpoint, e.g. https://www.arcgis.com/sharing/rest. Bare portal domains are normalized automatically. |
| Client ID | The Application ID from your registered app. |
| Client Secret | The Application Secret. Stored encrypted by n8n. |
Credentials are optional for public feature layers and for operations where you supply an Access Token manually. They are required for the Generate Token operation and for the poll trigger's Esri Credential authentication mode.
When credentials are configured on the action node and no Access Token is provided, the node requests an access token automatically (cached for the execution) and injects it into every request.
Esri node (actions)
Select a Resource and an Operation, then configure the shown fields.
Feature Layer
The Layer URL must point to a specific layer, including its layer ID:
https://services.arcgis.com/<org>/arcgis/rest/services/<Service>/FeatureServer/0
Get Layer Info — returns layer metadata (fields, extent, capabilities, edit fields info).
Get Layer Fields & Domains — returns one output item per field with
name,alias,type,nullable,editable, anddomain(coded values list or range). Enable Include Sample Features to also fetch sample records and attach asampleValuesarray to every field (sample count controlled by Sample Size).Query — filters features with a
Whereclause and supports geometry filters, ordering, and pagination through Additional Query Options.Add Features — enter field/values in the easy form, or provide raw Esri feature JSON:
[ { "attributes": { "name": "Example" }, "geometry": { "x": -117.195, "y": 34.057, "spatialReference": { "wkid": 4326 } } } ]Update Features — in easy mode the feature is addressed by Object ID Field + Object ID Value; the Object ID is included in the update automatically.
Delete Features — delete by comma-separated Object IDs or by a Where Clause. Empty inputs are rejected before the request is sent.
Apply Edits — add, update, and delete in a single transactional request.
Responses follow n8n's item mapping ([{ json: ... }]), one output item per input item.
Attachments
Attachments require a feature layer with attachments enabled and a Feature Object ID:
- Add Attachment — uploads the file in the selected Binary Property (
multipart/form-data) to the feature. - Get Attachment — lists attachment metadata and adds a ready-to-use
attachmentUrl. - Delete Attachment — deletes an attachment by Attachment ID.
- Download Attachment — downloads the file and returns it as binary data in the configured Binary Output Property (e.g.
data), so downstream nodes like Convert to File or Write Binary File can consume it.
Portal & Item Management
The Portal URL defaults to https://www.arcgis.com/sharing/rest or the URL from your credential. Trailing slashes and missing /sharing/rest suffixes are normalized automatically.
- Search Items — Portal search; each result is returned as its own output item.
- Update Item Sharing — set an item to Private, Organization, or Public (Everyone), optionally sharing with comma-separated Groups.
- Get Web Map Specs — returns the full Web Map JSON from
content/items/<id>/data.
Token & Config
- Generate Token — exchanges the credential for an access token, emitted with
expires_in. - Get Configs — returns the named layer/portal configurations you enter, useful for centralizing connection details in one node.
Esri Poll Trigger
Polls the layer on the n8n schedule (Poll Times control; default every minute) and emits Added, Updated, Added or Updated, or Deleted events.
- Editor Tracking strategy (default) reads
editFieldsInfofrom the layer metadata and uses the exact creation/edit field names. Editor Tracking must be enabled in ArcGIS. - By Object ID strategy detects additions only (use it when Editor Tracking is unavailable).
- Deleted events use an Object ID snapshot; each poll compares IDs and emits the ones that disappeared (attribute data is unavailable after deletion).
The checkpoint is stored in n8n static data. The first live run establishes a baseline and emits no historical changes; subsequent scheduled runs emit changes. Changing the layer, event type, strategy, or filter creates a new baseline.
For private layers set Authentication to Esri Credential — the trigger generates and injects a token on every poll, so no separate token node is required.
Esri Webhook Trigger
A standalone webhook trigger that provides Test and Production URLs. Activate the workflow and register the Production URL in the ArcGIS Feature Layer webhook settings.
- Supports Basic Auth, Header Auth, or None.
- Choose when to respond (immediately, after the last node, or via a Respond to Webhook node), plus response code, body, and headers.
Setup example
A simple workflow that emits newly added parcels from a private layer:
- Add an Esri Poll Trigger node.
- Layer URL:
https://services.arcgis.com/<org>/arcgis/rest/services/Parcels/FeatureServer/0 - Trigger On: Added · Tracking Strategy: Editor Tracking
- Authentication: Esri Credential → select your credential.
- Activate the workflow and connect a node to handle the emitted features.
Development
npm install
npm run build # compiles TypeScript and copies node icons to dist/
The compiled package lands in dist/. Source is organized under nodes/Esri/ (node metadata + actions/ by responsibility) and credentials/. Run npm run build and restart n8n after source changes. prepublishOnly rebuilds automatically on npm publish.
Contact
Maintained by Raafat Kamel — rafatkamel96@gmail.com
License
MIT