.png)
Esri ArcGIS Integration Guide
Integrate ArcGIS with enterprise systems through REST APIs, feature services, supported webhooks, batch edits, attachments, and secure authentication.
Esri ArcGIS integration options at a glance
ArcGIS integrations primarily use ArcGIS REST APIs for portal items, users, groups, feature services, map services, image services, geoprocessing, geocoding, routing, and administration. Selected feature services and portal resources support webhook-style notifications, although coverage varies by resource, event, and ArcGIS Online or Enterprise deployment. Batch edits, replicas, synchronization, asynchronous jobs, attachments, and item resources support larger data and file workflows where enabled. ArcGIS supports API keys, OAuth 2.0, ArcGIS tokens, and permission-based access. Martini can consume these endpoints, receive supported callbacks, orchestrate workflows, map geometry and attributes, manage pagination and retries, and synchronize ArcGIS data with enterprise applications.
| Integration point | Supported by Esri ArcGIS? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | ArcGIS REST APIs support portal items, users, groups, feature services, map and image services, geoprocessing, geocoding, routing, and administration. They are the primary interface for new integrations. | Martini can consume REST endpoints, configure authentication, paginate responses, transform payloads, apply business rules, and expose controlled APIs for downstream consumers. |
| Webhooks and outbound callbacks | Limited | ArcGIS supports webhook-style notifications for selected feature-service, portal, or content events. Coverage depends on the resource, event type, and ArcGIS Online or Enterprise deployment. | Martini can expose webhook-oriented endpoints, receive notifications, validate them, retrieve authoritative ArcGIS state, and trigger workflows. Reconciliation schedules can address missed events. |
| Bulk, asynchronous, and batch APIs | Yes | Feature services can support applyEdits, while replicas, change extraction, asynchronous geoprocessing, and other bulk operations are available where enabled by the service. | Martini can submit bounded batches, poll asynchronous jobs, handle operation-level results, apply timeouts, and retry failed work without repeating successful operations. |
| File and attachment APIs | Yes | Attachment-enabled feature layers and portal item resources support the transfer and management of images, documents, and other files associated with geographic content. | Martini can retrieve, transform, route, and upload files, associate attachments with feature object IDs, and track file-specific status and retries. |
| Authentication | Yes | ArcGIS supports API keys, OAuth 2.0, ArcGIS tokens, and user, group, role, item, and service permissions. The appropriate method depends on the ArcGIS product and deployment. | Martini can keep credentials in protected environment configuration or secrets management and orchestrate token acquisition, renewal, and least-privilege API calls. |
| Database and analytics access | Limited | ArcGIS can connect to supported enterprise databases and expose data through GIS services, but direct database access is deployment-specific and is not the general cross-platform integration method. | Martini can integrate with databases or ArcGIS services when the deployment exposes the required interface, while favoring documented REST resources for portability. |
| GraphQL APIs | Not confirmed | No generally available ArcGIS GraphQL API was confirmed in the reviewed documentation. REST should be used for standard ArcGIS integration scenarios. | Martini supports GraphQL consumption generally, but an ArcGIS GraphQL endpoint must be separately documented before it can be used. |
| SOAP APIs | Legacy | Older ArcGIS Server capabilities may expose legacy interfaces, but no current, generally recommended ArcGIS SOAP mechanism was confirmed for new integrations. | Martini can consume documented SOAP services when a specific ArcGIS deployment provides one, but REST is the preferred approach. |
How Esri ArcGIS exposes data and business events
Esri ArcGIS REST APIs
ArcGIS REST APIs are the primary integration mechanism for portal content, users, groups, feature services, map services, image services, geoprocessing, geocoding, routing, and administration. Feature-layer queries and edits are commonly used to exchange geographic features and attributes.
Martini implementation pattern
Martini implementation pattern: Martini workflows call the required ArcGIS REST resource, manage authentication and pagination, inspect both HTTP and operation-level errors, transform geometry and business fields, and write the result to an enterprise target or expose it through a Martini API.
Implementation sequence
Esri ArcGIS webhooks
ArcGIS supports webhook-style notifications for selected feature-service, portal, and content events. Notifications are not universal, and supported resources and event types vary between ArcGIS Online and ArcGIS Enterprise.
Martini implementation pattern
Martini implementation pattern: Martini exposes a webhook-oriented endpoint, validates the incoming notification, acknowledges it promptly, and starts a workflow that re-queries ArcGIS for the authoritative feature or item state. A scheduled reconciliation process can identify missed or duplicated notifications.
Implementation sequence
Esri ArcGIS batch and asynchronous operations
Feature services may support applyEdits, while replicas, synchronization, change extraction, and asynchronous geoprocessing are available when enabled by the target service. These operations are service-specific and require capability checks.
Martini implementation pattern
Martini implementation pattern: Martini partitions work into bounded batches, submits edits or starts an asynchronous job, evaluates each result, polls long-running jobs with a timeout, and routes partial failures without replaying successful operations.
Implementation sequence
Esri ArcGIS files and attachments
ArcGIS attachment-enabled feature layers and portal item resources support files associated with geographic features or content. Attachment operations may be separate from the feature edit operation.
Martini implementation pattern
Martini implementation pattern: Martini first creates or identifies the feature, captures its object ID, retrieves or transforms the file, uploads the attachment, and stores attachment identifiers and status for independent retry and reconciliation.
Implementation sequence
Common Esri ArcGIS integration patterns
Pattern 1: Synchronize ArcGIS features with field-service systems
When to use this pattern
Use this pattern when assets, inspections, service locations, or work-order references must stay aligned between ArcGIS and an enterprise application. A scheduled workflow is appropriate for recurring synchronization, while supported feature-service notifications can reduce latency.
Integration direction
Example Mapping
| Esri ArcGIS Field | Canonical Field | Target Field |
|---|---|---|
| feature.attributes.asset_id | assetIdentifier | ServiceNow asset identifier |
| feature.geometry | locationGeometry | ServiceNow location |
| feature.attributes.inspection_status | inspectionStatus | ServiceNow work status |
| feature.attributes.last_edited_date | sourceModifiedAt | ServiceNow synchronization timestamp |
Martini implementation pattern
Martini queries changed features using pagination, object IDs, or a persisted watermark, maps geometry and attributes to the target model, validates required fields and spatial references, and upserts the corresponding ServiceNow data. Stable business keys prevent duplicates, while partial failures are isolated for retry and scheduled reconciliation.
Martini capabilities used
- workflows
- REST API consumption
- scheduling
- data mapping
- validation
- business rules
- error handling
Pattern 2: Process ArcGIS feature-service edit notifications
When to use this pattern
Use this pattern for near-real-time actions when the target ArcGIS deployment supports the required feature-service webhook and event type, such as creating an incident for a critical asset change or starting an approval process for a submitted inspection.
Integration direction
Example Mapping
| Esri ArcGIS Field | Canonical Field | Target Field |
|---|---|---|
| featureId | sourceFeatureId | ServiceNow correlation ID |
| feature.attributes.priority | priority | ServiceNow incident priority |
| feature.attributes.status | operationalStatus | ServiceNow incident state |
| feature.attributes.description | eventDescription | ServiceNow incident description |
Martini implementation pattern
Martini receives and validates the notification, acknowledges it promptly, retrieves the current feature state, applies deduplication and routing rules, and creates or updates the downstream incident. Because webhook coverage is limited, a scheduled reconciliation workflow checks for missed events and re-queries authoritative state.
Martini capabilities used
- webhook consumption
- API endpoints
- workflow triggers
- REST API consumption
- business rules
- deduplication
- monitoring
Pattern 3: Publish enterprise operational data to ArcGIS feature layers
When to use this pattern
Use this pattern when work orders, customer sites, utility assets, delivery locations, or environmental observations from a business application must be represented geographically in ArcGIS.
Integration direction
Example Mapping
| Esri ArcGIS Field | Canonical Field | Target Field |
|---|---|---|
| plant.assetNumber | assetIdentifier | feature.attributes.asset_id |
| plant.latitude/longitude | locationGeometry | feature.geometry |
| workOrder.status | workStatus | feature.attributes.status |
| workOrder.updatedAt | sourceModifiedAt | feature.attributes.source_updated_at |
Martini implementation pattern
Martini retrieves source data, transforms coordinates into the feature layer's expected spatial reference, validates domains and required fields, and submits addFeatures, updateFeatures, or applyEdits. The workflow uses a stable source identifier, checks per-feature results, and retries transient failures without duplicating successful adds.
Martini capabilities used
- REST API consumption
- workflow orchestration
- data mapping
- geometry transformation
- validation
- batch processing
- retry handling
Pattern 4: Export ArcGIS content and attachments to enterprise analytics
When to use this pattern
Use this pattern for inspection-image archiving, regulatory extracts, analytics feeds, or distribution of selected ArcGIS content to an enterprise data platform or document repository.
Integration direction
Example Mapping
| Esri ArcGIS Field | Canonical Field | Target Field |
|---|---|---|
| feature.attributes.objectid | sourceObjectId | SOURCE_OBJECT_ID |
| feature.attributes.globalid | sourceGlobalId | SOURCE_GLOBAL_ID |
| feature.geometry | geometry | GEOMETRY |
| attachment.name | fileName | FILE_NAME |
Martini implementation pattern
Martini queries features or creates an extract, processes pages or replicas, normalizes JSON and geometry, and loads the result into the target platform. Attachments are handled as separate files with correlation IDs, while checkpoints, hashes, and status records support incremental processing and independent retries.
Martini capabilities used
- scheduled workflows
- REST API consumption
- pagination
- file handling
- data mapping
- JSON transformation
- checkpointing
- error handling
Applications commonly integrated with Esri ArcGIS
ArcGIS commonly participates in enterprise field operations, asset management, analytics, document management, and project workflows. Martini can orchestrate REST-based exchanges with the following named applications while keeping authentication, mapping, validation, retries, and synchronization state in reusable workflows.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce | Synchronize customer, account, site, service-territory, and field-service location data with ArcGIS features. | Salesforce → Martini → Esri ArcGIS | Expose or schedule a Martini workflow that retrieves Salesforce changes, maps business identifiers and location geometry to ArcGIS feature-layer fields, validates spatial references, and submits adds or updates. Use ArcGIS object IDs or stable business keys for subsequent updates and route partial edit failures for retry. |
| ServiceNow | Connect incidents, assets, locations, and work orders with ArcGIS maps and feature layers. | ServiceNow → Martini → Esri ArcGIS | Consume ServiceNow data through its APIs, transform asset and work-order fields into the target feature-layer schema, validate required fields and geometry, and use applyEdits where batching is appropriate. A reverse workflow can retrieve selected ArcGIS changes and update ServiceNow records. |
| SAP | Exchange asset, plant, work-order, material, and location data with ArcGIS services. | SAP → Martini → Esri ArcGIS | Use scheduled or event-oriented Martini workflows to extract SAP business data, apply canonical mappings and spatial transformations, and publish validated features. Persist correlation keys and synchronization watermarks so retries do not create duplicate features. |
| Microsoft Power BI | Provide ArcGIS-derived feature, location, and operational data for reporting and spatial analysis. | Esri ArcGIS → Martini → Microsoft Power BI | Query feature layers or export selected ArcGIS content, normalize attributes and geometry into an analytics-friendly model, and deliver the result through the target platform's supported API or an intermediate data store. Use scheduled workflows for refreshed extracts and monitor incomplete pages or failed jobs. |
| Tableau | Combine ArcGIS spatial data with operational and business metrics in dashboards. | Esri ArcGIS → Martini → Tableau | Retrieve ArcGIS feature data or extracts, transform JSON and geographic attributes into the required analytical representation, and publish or stage the result for Tableau. Apply incremental extraction and checkpointing for recurring refreshes. |
| Snowflake | Centralize ArcGIS feature data, change extracts, and operational geospatial information for enterprise analytics. | Esri ArcGIS → Martini → Snowflake | Use Martini to query ArcGIS REST resources, process pagination, replicas, or change extracts, map the result to warehouse tables, and load it into Snowflake through the target environment's supported interface. Store source IDs, timestamps, and extraction status for reconciliation. |
| Microsoft SharePoint | Archive or distribute ArcGIS attachments, reports, and documents associated with geographic features. | Esri ArcGIS → Martini → Microsoft SharePoint | Retrieve feature attachments or portal item resources, preserve feature and attachment identifiers, transform metadata, and transfer files through SharePoint's supported API. Handle file-specific retries independently from the feature synchronization workflow. |
| Jira | Associate geographic assets, incidents, or project work with Jira issues and map-based operational data. | Jira → Martini → Esri ArcGIS | Orchestrate REST calls between Jira and ArcGIS, map issue keys and geographic identifiers, validate feature-layer capabilities, and use idempotent update rules. Route rejected edits or missing geometry to an exception workflow for review. |
How to build a Esri ArcGIS integration in Martini
Objective
Configure the ArcGIS Online or Enterprise URLs, service and layer identifiers, authentication method, and environment-specific permissions without embedding secrets in workflow logic.
Instructions in Martini
- Choose API key, OAuth 2.0, or ArcGIS token authentication based on the resource and deployment
- Store credentials, client secrets, and tokens in protected environment configuration or secrets management
- Confirm permissions for viewing, editing, publishing, or administering each resource
- Configure separate development, test, and production endpoints
Objective
Select the trigger that matches the synchronization requirement and the ArcGIS capability available for the target resource.
Instructions in Martini
- Use a webhook-oriented endpoint for supported ArcGIS events
- Use a scheduler for polling, reconciliation, exports, and recurring synchronization
- Use an API-triggered workflow when another enterprise application initiates the exchange
- Define a fallback schedule when webhook coverage is incomplete
Objective
Retrieve the authoritative ArcGIS resource while accounting for pagination, service limits, object IDs, replicas, and asynchronous operations.
Instructions in Martini
- Inspect service metadata and supported capabilities before submitting edits
- Use result offsets, result counts, object IDs, replicas, or change extraction as appropriate
- Poll asynchronous job identifiers with bounded timeouts
- Retrieve feature details and attachments separately when required
Objective
Coordinate calls, branching, validation, enrichment, and target-system operations in a maintainable Martini workflow.
Instructions in Martini
- Separate notification receipt from heavier processing
- Apply routing rules based on feature attributes, item types, or business status
- Persist correlation IDs, watermarks, and synchronization checkpoints
- Use reusable workflow logic for common ArcGIS request and response handling
Objective
Convert ArcGIS JSON, geometry, attributes, attachments, and operation results into the canonical and target-system models.
Instructions in Martini
- Map feature-layer fields to stable business identifiers
- Validate point, polyline, or polygon geometry and spatial references
- Transform dates, coded domains, JSON structures, and file metadata
- Preserve ArcGIS object IDs or global IDs when they are needed for correlation
Objective
Apply business and data-quality rules before creating, updating, or deleting data in ArcGIS or downstream systems.
Instructions in Martini
- Check required fields, allowed domains, edit capabilities, and permissions
- Use stable keys to prevent duplicate features during retries
- Route invalid geometry, missing identifiers, and rejected edits to an exception path
- Apply least-privilege and content-sharing rules to portal operations
Common Esri ArcGIS data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Items | Manage portal content such as maps, layers, applications, files, and services. | SharePoint, Snowflake, Tableau, Microsoft Power BI, enterprise content repositories | Martini searches, retrieves, updates, or routes item metadata and resources through ArcGIS REST APIs, with permissions and deployment-specific URLs held in configuration. |
| Feature layers | Query and edit geographic features and their attributes, including locations, assets, inspections, and operational observations. | Salesforce, ServiceNow, SAP, Snowflake, operational databases | Martini validates geometry, spatial reference, required fields, domains, object IDs, and business keys before mapping queries or edits. |
| Feature services | Expose one or more feature layers for queries, edits, attachments, synchronization, and related operations. | ServiceNow, Salesforce, SAP, data warehouses, field-service applications | Martini consumes service metadata, paginates queries, submits add/update/delete or applyEdits requests, inspects per-operation results, and stores synchronization state. |
| Web maps | Represent map configurations containing operational layers, basemaps, pop-ups, symbology, and related settings. | Portal applications, reporting platforms, document repositories | Martini retrieves or updates web-map JSON when the authenticated principal has the necessary item permissions, applying controlled transformations rather than assuming a fixed schema. |
| Users | Represent ArcGIS accounts, profiles, roles, privileges, and content ownership. | Identity processes, governance workflows, enterprise directories | Martini can synchronize selected user metadata through REST resources while enforcing least-privilege access and avoiding unnecessary transfer of sensitive information. |
| Groups | Organize and share ArcGIS items among users and teams. | Portal governance processes, content-management workflows, enterprise applications | Martini can query group membership or item-sharing data, map it to a governance model, and route changes through approval or synchronization workflows. |
Authentication and security considerations
Authentication options
ArcGIS supports API keys, OAuth 2.0, ArcGIS tokens, and permissions based on users, groups, roles, item ownership, and service capabilities. The appropriate method depends on whether the target is ArcGIS Online, ArcGIS Enterprise, or a federated service.
Secure Martini configuration
- Store API keys, OAuth client secrets, and token-generation credentials in protected environment configuration or secrets management.
- Use least-privilege ArcGIS permissions for viewing, editing, publishing, or administration.
- Handle token expiry and refresh explicitly for scheduled and long-running workflows.
- Restrict API keys using the ArcGIS controls available for the service, such as referring URL, IP address, service, or privilege restrictions.
Operational considerations for Esri ArcGIS integrations
Limits and pagination
ArcGIS limits vary across ArcGIS Online, ArcGIS Enterprise, hosted feature services, location services, and ArcGIS Server deployments. Workflows should use bounded concurrency, configurable batch sizes, pagination, and retries with backoff.
Data integrity
Validate geometry, spatial references, required fields, coded domains, object identifiers, and edit capabilities. Use stable business keys or global IDs where supported, and design applyEdits retries to avoid duplicate adds.
Asynchronous work and errors
Inspect both HTTP responses and operation-level error structures such as error, addResults, updateResults, and deleteResults. Poll asynchronous jobs with timeouts and route partial failures separately from successful operations.
Webhooks and schema changes
Webhook coverage is resource-specific, so re-query authoritative state and schedule reconciliation. Externalize service URLs, layer IDs, mappings, and capability assumptions so changes between ArcGIS Online, Enterprise, and environments can be tested safely.
Why use Martini instead of scripts or point-to-point integrations?
Beyond point-to-point scripts
ArcGIS integrations often combine authentication, pagination, geometry transformation, feature edits, attachments, asynchronous jobs, and downstream business rules. Martini provides a workflow-based structure for coordinating these concerns without embedding the entire integration in a single script.
Maintainable integration assets
- Consume ArcGIS REST APIs and expose controlled APIs through reusable workflows.
- Separate webhook receipt, data retrieval, transformation, validation, and target-system writes.
- Apply consistent mappings, business rules, retries, checkpoints, and exception handling.
- Externalize environment-specific credentials, portal URLs, layer IDs, and service capabilities.
- Use monitoring and workflow logs to troubleshoot partial edits, missed notifications, and asynchronous failures.
Frequently asked questions
ArcGIS is primarily integrated through its REST APIs for portal items, users, groups, feature services, map and image services, geoprocessing, geocoding, routing, attachments, and administration. Selected resources support webhook-style notifications, while batch edits, replicas, synchronization, asynchronous jobs, and item-resource APIs support larger or file-oriented exchanges.
Yes. Martini can integrate with Esri ArcGIS by consuming ArcGIS REST APIs, receiving supported webhook notifications, exposing callback endpoints, and orchestrating workflows for pagination, mapping, validation, batch edits, attachments, retries, and downstream synchronization.
No. A dedicated Esri ArcGIS connector is not required. Martini can use ArcGIS's confirmed native integration mechanisms, including REST APIs, supported webhook notifications, file and attachment APIs, API keys, OAuth 2.0, and ArcGIS tokens.
Lonti does not charge an additional per-connector or per-vendor fee to integrate Esri ArcGIS. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Esri, cloud infrastructure, or other third-party systems depending on subscriptions, service credits, API usage, and deployment model.
Use ArcGIS REST APIs as the default integration method. Use feature-service or portal webhooks only for supported resources and events, batch or applyEdits operations when the service permits them, replicas or change extraction for larger synchronization scenarios, and attachment or item-resource APIs for files. A generally available ArcGIS GraphQL API was not confirmed, and REST is preferred over unconfirmed or legacy SOAP approaches.
Yes, Martini can receive webhook-oriented HTTP notifications, but ArcGIS webhook coverage is limited to selected resources and event types. The exact capability depends on the ArcGIS Online or Enterprise deployment and service configuration. Production designs should re-query ArcGIS for authoritative state and use scheduled reconciliation for missed notifications.
Workflows should inspect service limits, paginate feature queries, and use object-ID retrieval, replicas, or change extraction for larger datasets. Geometry and spatial references must be validated explicitly. Stable business keys, global IDs where supported, correlation IDs, and persisted watermarks help prevent duplicate features and repeated processing.
Yes. Martini can expose a controlled API that presents a canonical enterprise interface while its workflows call ArcGIS REST resources behind the scenes. This can centralize authentication, mapping, validation, business rules, rate control, error handling, and response normalization for consuming applications.
Related Martini documentation
Workflows
Integrate Esri ArcGIS with Martini
Connect ArcGIS REST APIs, supported notifications, feature services, attachments, and enterprise applications through maintainable Martini workflows.