The tools and technologies that comprise ArcGIS have historically integrated with a variety of Microsoft technologies. As both Esri and Microsoft have evolved their product strategies, terminology and offerings, this close partnership has led to continued development, a mix of traditional and more cutting-edge patterns, and a wide array of ways that ArcGIS can be used with Microsoft.
This topic provides high level guidance around those technologies to provide suggestions on how they can be approached, with links to relevant ArcGIS or Microsoft documentation for additional context where appropriate.
See ArcGIS for Microsoft, for an overview of ArcGIS product support with various Microsoft technologies.
The Microsoft 365 business productivity suite includes a variety of applications that can integrate with ArcGIS or be used with ArcGIS systems. These integrations bring ArcGIS capabilities directly into the tools that users are already familiar with.
ArcGIS for Excel is a Microsoft 365 add-in that allows users to combine data from their Excel spreadsheets with ArcGIS basemaps and content into a map embedded directly in the Excel experience. Users can connect to content from their ArcGIS Online or ArcGIS Enterprise organization. The add-in also includes a rich set of spatial functions that can be used directly in Excel without a map interface, for geocoding, working with geometries, and other workflows. Maps created in Excel can also be published back to ArcGIS Online or ArcGIS Enterprise.
ArcGIS for SharePoint is a SharePoint app and web part that can be enabled by a Microsoft administrator, which is then available to users to create in SharePoint pages. Similar to ArcGIS for Excel, users can draw data from SharePoint lists onto a map, integrate ArcGIS layers from ArcGIS Online or ArcGIS Enterprise, and share results back to their GIS system for further use.
ArcGIS for Teams allows users to bring maps and location intelligence into the Microsoft Teams application to support situational awareness and other workflows. Users can install the Teams plugin from Microsoft AppSource for local use or privileged users can add ArcGIS for Teams to channels or meetings with sufficient privileges.
ArcGIS Online users with data in OneDrive can publish these cloud drive files as hosted feature layers using the ArcGIS Online interface.
Organizations that use OneDrive or SharePoint sites to share data and files for projects should be aware of some important recommendations related to use of these services with ArcGIS Pro. While single-user workflows or access to data may be compatible with OneDrive, multi-user access to projects or data is likely to lead to issues without careful management.
Teams that work with Microsoft Visio can make use of the architectural diagramming toolkit provided as part of the Architecture Center. Visio is also a useful tool for diagramming workflows, process diagrams, and other content relevant to ArcGIS systems.
Microsoft Defender is another Microsoft 365 component that is often used with ArcGIS systems, applied to the underlying operating system of client and server machines. While antivirus software brings significant threat protection options, it can also interfere with software workflows across ArcGIS applications. See the ArcGIS Antivirus guidance document in the ArcGIS Trust Center (ArcGIS login required) for more details on recommended exclusions and patterns for effective use of antivirus.
Microsoft Fabric is a enterprise data consolidation, storage and analytics platform from Microsoft that incorporates several key applications and patterns into one unified experience. ArcGIS technology is relevant to several parts of the Microsoft Fabric story, and integration points range across these areas.
Users can access their own data from data frames, but also query from web services to access authoritative organizational or public datasets, for comparison or interaction with their OneLake sources.
For more information on the use of GeoAnalytics Engine for Fabric, see the Esri documentation, the Microsoft documentation, or a video summary of the integration.
Spark job definitions can be used within Fabric Data Factory configurations, allowing geospatial steps to be added to existing or newly-developed data migration and transformation patterns.
Fabric workloads interface with OneLake, which brings together datasets from a variety of sources. Geospatial data stored in object storage or relational databases, inside of Azure or in another cloud provider, can be integrated into OneLake through database mirroring and storage shortcuts. Databases that interact with Fabric may also have spatial types (such as SQL Server or PostgreSQL) or host spatial data tables that can be used in Fabric workloads.
PowerBI is an essential component of Fabric – see additional description below of the use of Power BI with ArcGIS data.
Similar to ArcGIS for Microsoft Fabric, Azure Synapse Analytics supports use of ArcGIS GeoAnalytics Engine within PySpark notebooks.
Microsoft Power Platform includes several patterns for working with ArcGIS services and interfaces as described below.
The ArcGIS Connectors for Power Automate are a set of Power Automate-native connection points to ArcGIS services, supporting a wide array of integration scenarios. Power Automate can be used for workflow-based actions, as a scheduled ETL pattern, or based on other event-driven triggers within or outside of the Microsoft or Azure systems. The ArcGIS Connectors support ArcGIS Enterprise, ArcGIS Online, or ArcGIS Location Platform, each with slightly different capabilities. Common integration patterns using these Connectors include:
Connect to a remote data source through that provider’s Power Automate connector, and feed data into an ArcGIS feature service.
Enrich records using geocoding or geoenrichment services before passing them to another step or location
Trigger emails based on feature edits
Receive webhooks sent from an ArcGIS Enterprise, ArcGIS Online, or ArcGIS Field Maps workflow.
Complete a spatial join and summary between multiple datasets, with an output into OneLake for further analysis.
These are just a few examples of workflows that can be supported by the ArcGIS Connectors for Power Automate, refer to the documentation for additional examples and guidance.
ArcGIS Maps for PowerBI is another geospatial capability provided by Esri for Microsoft users. Built directly into PowerBI, the ArcGIS Maps visual supports display of spatial data layers from PowerBI datasets, such as addresses or latitude and longitude locations, alongside reference layers from ArcGIS Enterprise or ArcGIS Online. As a native integration, users can work directly with the Maps visual alongside their existing data layers, in either Power BI Desktop, the online authoring experience or a published report online.
A common integration pattern used with Maps for PowerBI is to combine business data, such as sales by region, with a set of standard geographies - either something Esri provides such as US Counties, or an internal dataset like sales regions. These data can then be combined with a join, and used to symbolize data based on volume or other attributes while still using PowerBI slicers and filters to interact with the report.
Another common method for bringing ArcGIS interfaces or datasets into a Power Apps experience like a Canvas or Model-driven app is to embed an ArcGIS web application in an <iframe> element.
For more recommendations on this integration, see Embed an ArcGIS application in an iframe. For Power Platform use cases, especially if the embedded application requires a user login or authentication step, be especially careful to review the recommendations related to Single Sign-On.
Potential use cases for this pattern include:
Embedding an ArcGIS web application that loads a map of locations when viewing corresponding locations in a list
A feature editing application, built with ArcGIS Experience Builder, which loads as part of a permitting solution, supporting a step where a user must draw a boundary before returning to the Power apps form view for further data entry
A company can review their policy information alongside maps of flooding risk and policy coverage locations, to better understand the context and potential geographic implications of a change in approach or coverage
.NET developers have used ArcGIS SDKs for many years to build their own applications and workflows using spatial tools or functionality. Today, Esri provides several .NET development options that can support integration with this Microsoft technology:
ArcGIS Runtime SDK for .NET is designed for developers that want to create a mobile or native application with a map-centric experience. The SDK offers a set of classes and methods to interact with geospatial web services, complete on-device analytics, work offline with geospatial data, and support complex editing workflows. Applications built with this Runtime SDK can be deployed to iOS, Android, Windows and other operating systems.
ArcGIS Pro SDK for .NET is a .NET SDK designed for creating add-ins and configurations of ArcGIS Pro. This SDK can be used to create an add-in that integrates with an external service or system, or create a configuration that opens ArcGIS Pro with a specific set of tools or features enabled. Using the SDK, developers can create new user interfaces, support editing patterns, or work with map controls. For integration purposes, ArcGIS Pro add-ins are a common way to build a provider-specific interface for ArcGIS Pro, where users can log in to a remote system, work with a set of APIs, and extract data that can be displayed on a map in ArcGIS Pro, even working in bidirectional patterns where possible.
The ArcGIS Enterprise SDK for .NET can be used to develop server object interceptors and server object extensions that can be deployed to Windows-based ArcGIS Server sites. Both interceptors and extensions are useful for integration workflows, including:
A SOI applied to a feature layer query request can use a call to a separate API to enrich results by adding attributes that are not available in the GIS system
A SOE could be developed to access a separate database provider or data storage system, then called by a mobile application that is custom-developed for a certain workflow
Security integration for an SOI could introduce layer or row-level security by querying a separate security system using the username of the requesting user
Many organizations build an deploy ArcGIS systems that interact with Azure components and services. Architects that design systems for Azure make use of wide variety of services, and this section provides useful context for each service along with any standard integration patterns with ArcGIS software.
ArcGIS systems can be built from the ground up using atomic Azure services, can be deployed through automation with ARM templates, or can be built using the ArcGIS Enterprise Cloud Builder for Microsoft Azure, which provides a visual, wizard-based interface for deploying Azure resources and configuring ArcGIS software on those systems.
The most common architecture patterns in Azure rely on Azure Virtual Machines, which provide virtualized compute resources with a variety of operating system options. Many organizations use Azure VMs and supported Windows or Linux operating systems to host and deploy ArcGIS Enterprise components along with ArcGIS Pro. VMs provide a straightforward way to deploy specific compute resources, and are a foundational building block of many Azure-based architectures. Azure VMs support joining to an Entra ID domain, and login through Entra ID identities, which can simulate many of the user access and privilege patterns of on-premises VMs or endpoints.
The Azure Kubernetes Service (AKS) can be used to deploy ArcGIS Enterprise on Kubernetes to an appropriately-provisioned cluster. AKS is a robust Kubernetes hosting offering, and includes a variety of built-in features for scalability, resilience and observability. From an architectural perspective, note that AKS enforces regular upgrades to the Kubernetes version, which means organizations should plan to upgrade ArcGIS Enterprise on Kubernetes regularly to stay aligned to a supported release.
Azure Virtual Desktop (AVD) provides a managed VM offering for end-user clients. This service is often used in ArcGIS systems to provide access to a virtualized ArcGIS Pro host. Architecture recommendations for running ArcGIS Pro in VDI environments apply to AVD as well. Microsoft has published an example AVD architecture as part of their architecture center.
Azure Entra ID is an essential piece of almost all Azure deployments, and many organizations have moved towards either a hybrid directory offering with Entra ID or fully migrated to Entra ID. This technology is relevant to ArcGIS in several ways:
Organizations can configure ArcGIS Online or ArcGIS Enterprise to use Entra ID as an enterprise identity provider, either through SAML or OIDC protocols. Entra ID is also used like a traditional domain, where administrators can join VMs or database services to the domain for authentication purposes.
The Entra ID App Proxy service is an Azure solution for providing Internet access to internal applications or on-premises systems. The App Proxy component is installed on an internal web server, then configured to connect to Entra ID, which creates a public-facing URL for the application and passes traffic back to the internal server using a secure tunnel. In passthrough mode, the Entra App Proxy can be an effective way to provide internet-facing access to an internal application without building a DMZ or deploying a reverse proxy. When configured to pre-authenticate users, the Entra ID App Proxy is an example of an identity-aware proxy.
For many deployments based on virtual machines, the systems may integrate with Entra ID at some level, from DNS management to full domain joins. These configurations are best defined in alignment with other organizational IT initiatives, so that ArcGIS components are managed in an approved fashion.
A variety of managed database services in Azure are commonly used with ArcGIS systems. ArcGIS integrates with database services such as Azure SQL Database or Azure SQL Managed Instance for use as an enterprise geodatabase, to be accessed through query layers, or as a relational store for ArcGIS Enterprise on Kubernetes. Azure offers both SQL Server and PostgreSQL options, depending on organizational preference, and includes serverless options to balance performance and cost. Tight integration with Entra ID can be achieved with Azure SQL Managed Instance.
Azure CosmosDB is a flexible document database offering in Azure, which is relevant to ArcGIS in several scenarios. Azure Cosmos DB for PostgreSQL is a supported enterprise database hosting pattern for use with ArcGIS Pro and ArcGIS Enterprise. Cosmos DB can also be accessed from ArcGIS Velocity as a data source type to read records into Velocity for persistence and analysis.
Azure Application Gateway is a capable reverse proxy and load balancing solution that is often used to provide the common entrypoint for an ArcGIS Enterprise deployment. The Azure Cloud Builder deploys an Azure Application Gateway as part of the standard deployment architecture, and this service offers a variety of relevant features. Application gateways can help configure TLS certificate settings, forward to separate backend pools of servers, manage port translation to backend endpoints, and rewrite URLs, headers or other HTTP components as required for a configuration.
Azure Databricks is a managed Databricks service which builds on Azure compute and interacts with Azure storage containers and services. ArcGIS GeoAnalytics Engine can be used within Azure Databricks to complete data transformation and analytics workflows across large datasets.
Azure NetApp Files is a cloud-native storage offering from NetApp that provides highly capable filesystems for storage of critical system components or assets. ArcGIS Enterprise deployments can use Azure NetApp Files to store configuration files and content, especially in cases where high availability and system reliability are critical.
Azure API Management is a management platform for APIs which can be used with ArcGIS deployments in an API management pattern. Some common integration patterns with Azure API Management include applying customized security to GIS services, creating endpoints that proxy to different services based on different configurations, or reverse-proxying requests selectively into infrastructure.
Azure Monitor and Azure Log Analytics are observability offerings from Azure that support advanced query and visualization of application performance data. ArcGIS Enterprise on Microsoft Azure can be configured to send ArcGIS Server logs to Azure Monitor, where they can be analyzed alongside other system metrics.
Azure Functions are lightweight, serverless applications that can be invoked through a URL or request. Python-based Azure Functions can make use of the ArcGIS API for Python to make requests to ArcGIS services, create or update content, or write rows to feature services. NodeJS-based Azure Functions can use the arcgis-rest-js library to accomplish similar integrations. Note that arcpy cannot be run within Azure functions as it requires an ArcGIS software license.
Many ArcGIS systems store datasets in Azure Blob Storage accounts and containers, primarily in blob containers. Common workflows include imagery data storage, backup patterns, and foundational system storage for ArcGIS Enterprise. Azure Blob Storage can be used as the storage location for system directories, supporting the content store for Portal for ArcGIS and the configuration store and server directories for ArcGIS Server sites, and it can be configured as the object store. ArcGIS Enterprise deployments can register an Azure storage account or Azure Data Lake Storage Gen2 container as a cloud store, which can then be used as an input for analytical processes or an output location for the results of analysis workflows.
ArcGIS Data Pipelines can also connect to and pull files from Azure Blob Storage containers. In most scenarios, direct-read of vector data in S3 is not supported for mapping workflows, but use of those vector datasets in analytical inputs is common for geoanalytics workflows using ArcGIS Pro or ArcGIS GeoAnalytics Engine running in a Spark environment within or adjacent to AWS. ArcGIS Pro can also connect to and read Apache Parquet files from cloud storage connections.
Azure Content Delivery Network (CDN) is a content deliver network offering from Azure that can accelerate web requests using global points of presence. CDNs can be integrated with web applications, or with ArcGIS Enterprise itself, with some important caveats. Some useful considerations for CDN usage are included in this Esri Community post.
Many organizations make use of SQL Server with ArcGIS, as a relational database repository for storing geographic or tabular data, accessed through an enterprise geodatabase or query layers depending on the use case. Many types of SQL Server functionality are compatible with ArcGIS workflows, several relevant best practices are provided.
For most interactions with enterprise geodatabase feature classes, use of ArcGIS tools is recommended, as certain configurations such as branch versioning or archiving can create complex SQL definitions that should be carefully navigated.
Use of ArcGIS spatial SQL functions within database logic can be useful for automating data workflows, combining different datasets, and creating new output tables or views.
When working with database views, ensure that the view performance is adequate in a SQL interface before working with the view from ArcGIS clients. Database systems that support materialized views may consider this functionality to improve query performance to a view with regular, scheduled updates.
Real-time workflows in Azure often make use of Azure Service Bus or Azure Event Hub, two Azure-native services that provide message handling, queueing and management. ArcGIS Velocity can integrate with these cloud feeds, to read events and process a feed through an analytical flow.