An ArcGIS Pro add-in is a signed .esriAddinX package built with the ArcGIS Pro SDK for .NET that adds your own ribbon buttons, tools, dockpanes and automation inside ArcGIS Pro. It is worth building when a workflow is repeated often, needs a guided user interface, must enforce data rules, or has to talk to systems such as SAP, IBM Maximo, RFID/RTLS or a document platform directly from the map.
Swedish Technology builds add-ins as versioned, code-signed .NET projects with unit tests, deployment guides and a hand-over so your GIS team owns them after go-live.
What problem does this solve?
Most GIS teams have at least one workflow that ArcGIS Pro can do, but only through ten manual clicks, three tools and a spreadsheet: assigning asset IDs that must match SAP or Maximo, validating attributes before an edit is saved, generating an inspection package for a district, or pushing selected features to another system. Out-of-the-box Pro cannot enforce your business rules or open your other systems from the map, so the work drifts to the most experienced analyst and stops when that person is on leave.
The hidden costs are consistency and audit. Manual steps produce features with wrong domains, duplicated IDs and edits nobody can trace. Downstream systems (asset registers, work orders, RFID inventories) then disagree with the map, and reconciliation projects follow. For government entities in the UAE these gaps also surface in audits and in KPIs on data quality.
The wrong answer is just as costly: an add-in nobody can maintain, built by a contractor who kept the source, tied to one ArcGIS Pro version, and abandoned at the next upgrade.
How the solution works
An add-in extends ArcGIS Pro from the inside. Using the ArcGIS Pro SDK for .NET (C#), we add ribbon buttons, map tools, dockpanes, custom property sheets and background tasks that run with the user's ArcGIS Pro licence and portal identity. The add-in encodes your rules (validation, ID generation, naming, required attributes) and calls your enterprise systems through a small, versioned integration service, so ArcGIS Pro never holds ERP credentials.
Deliverables are a code-signed .esriAddinX file, an installer or well-known folder deployment, source in your repository, automated tests for the rule logic, and an upgrade plan tied to Esri's SDK release cadence.
- 1Trigger The user selects features or a layer and clicks the custom ribbon button, or a map tool captures a click/sketch.
- 2Read context The add-in reads the active map, selection, geodatabase connection and the signed-in portal user via the Pro SDK (MapView, QueuedTask, Geodatabase API).
- 3Apply rules Validation and business logic run in .NET: required attributes, domain checks, ID format, topology or spatial checks against reference layers.
- 4Integrate Where needed, the add-in calls your integration service (REST/OData) to look up or create records in SAP PM, IBM Maximo, Odoo or an RFID/RTLS platform, using the user's SSO token.
- 5Edit & commit Approved changes are written through an EditOperation so they are undoable, versioned (branch or traditional versioning) and logged with editor tracking.
- 6Report The dockpane shows results, exceptions are written to a log/feature class, and optional reports or work packages are generated for supervisors.
Reference architecture
Keep the add-in thin and the rules and integrations testable. A typical layout has three tiers plus identity.
| Layer | What it contains |
|---|---|
| Client (ArcGIS Pro) | Add-in assembly (.NET 8 for ArcGIS Pro 3.x), DAML manifest defining tabs, buttons, tools and dockpanes; MVVM view models; localisation (English/Arabic). |
| Domain / rules | A separate .NET class library with the business rules and unit tests, so rules can be reused by an ArcGIS Enterprise service or a Python toolbox later. |
| Integration service | Small API (ASP.NET Core or Python) that brokers calls to SAP, Maximo, Odoo, RFID/RTLS or document systems; holds system credentials, applies rate limits and audit logging. |
| Data | Enterprise geodatabase (SQL Server, Oracle, PostgreSQL) or hosted feature layers via ArcGIS Enterprise/Online; editor tracking, versioning and attribute rules where possible. |
| Identity & security | Portal/OAuth or Entra ID SSO for the user; service-to-service secrets in a vault; TLS everywhere; no ERP credentials on the workstation. |
Deployment options: Deploy the .esriAddinX to the ArcGIS Pro well-known add-in folder via Group Policy/Intune, or host it in an ArcGIS Enterprise portal add-in gallery. The integration service runs on-premise or in a UAE-region private cloud.
Key capabilities
Custom ribbon tabs, buttons and map tools
Users get a guided one-click path for the workflow instead of a checklist of standard tools.
availableDockpanes and wizards
Multi-step tasks (e.g. inspection package, asset creation) run in a side panel with validation at every step.
availableRule enforcement before commit
Domain, format, spatial and cross-system checks stop bad data before it reaches the geodatabase.
availableEnterprise system look-ups from the map
See or create SAP/Maximo/Odoo records for a selected asset without leaving ArcGIS Pro.
custom developmentRFID / RTLS event linkage
Attach tag IDs to features and show last-seen location from an RTLS platform in the map.
custom developmentBatch and background jobs
Long tasks (QA of a district, export packages) run on the Pro background thread with progress and cancellation.
availableArabic / English UI
Bilingual labels and right-to-left aware panes for government users.
availableIntegrations
Integration is done through a service layer, not from the add-in directly, so credentials, retries and audit stay server-side.
| System | Integration point & data exchanged | Direction |
|---|---|---|
| SAP PM / S/4HANA | Functional location and equipment look-up, notification/work-order creation for a selected asset (OData or PI/PO/BTP). → ArcGIS – SAP Integration (PM/EAM, S/4HANA) | bi-directional |
| IBM Maximo | Asset and location sync, work-order status shown on the map, inspection results posted back (Maximo REST/OSLC). → ArcGIS – IBM Maximo Integration | bi-directional |
| Odoo | Asset/inventory records and maintenance requests linked to GIS features (XML-RPC/JSON-RPC). | bi-directional |
| RFID / RTLS platform | Tag-to-feature binding, last-seen location, geofence events surfaced in a dockpane. → ArcGIS RTLS & RFID Integration: Live Location in GIS | inbound |
| Document / correspondence systems | Attach drawings, permits and inspection reports to features; open the record from the map. → Document Management & Correspondence System | outbound |
Industry use cases
Municipal asset registers
Guided creation of assets with municipality-specific ID schemes and mandatory attributes; automatic check against the ERP register.
Roads & transport authorities
Inspection package generator: select a corridor, produce inspection features, forms and a map package for field crews.
Utilities
Network edit validation before posting to the default version; cross-check with SAP equipment status.
Oil & gas / industrial sites
Link RFID-tagged equipment to features and show last-seen locations for audits and turnarounds.
UAE & GCC considerations
Government GIS teams in the UAE typically run ArcGIS Enterprise on-premise or in a UAE-region cloud, with data classified under local information-security policies. Add-ins run on the desktop and read data through the organisation's own portal, so no data leaves the environment; the integration service can be hosted in the same network. Bilingual UI (Arabic/English) and Hijri/Gregorian date handling are usual requirements, and hand-over documentation in both languages is often part of the procurement scope.
Implementation approach
- 1Discovery (1–2 weeks) Observe the current workflow, capture rules and exceptions, agree the ArcGIS Pro version and licence level, and confirm which systems must be reached.
- 2Decision Written recommendation: add-in, Python toolbox, ArcGIS attribute rules/configuration, or a mix. Some workflows do not need code.
- 3Design UI mock-ups of ribbon and dockpane, rule catalogue, integration contract (fields, directions, error handling), security model.
- 4Build & test Iterative sprints; unit tests for rules; testing against a copy of your geodatabase; code signing.
- 5Pilot A small user group runs the add-in on real work for 2–4 weeks; feedback loop; performance checks on large selections.
- 6Roll-out & training Deployment via GPO/Intune or portal, user guide, admin guide, recorded training.
- 7Support & upgrades Support window, ArcGIS Pro version upgrade plan (SDK versions track Pro releases), source hand-over.
Security & deployment
The add-in runs under the user's Windows and ArcGIS identity, so existing geodatabase and portal permissions still apply. Enterprise credentials never sit on the workstation: integration calls go through the service layer with the user's SSO token or a service account, TLS, and audit logs. Add-ins are code-signed; unsigned add-ins can be blocked by ArcGIS Pro administrator settings. For classified environments the whole stack can run on-premise or air-gapped, with a manual deployment package.
Limitations & prerequisites
- Add-ins run only in ArcGIS Pro on Windows; they do not work in ArcGIS Online, Experience Builder or field apps — those need widgets or web services instead.
- Each ArcGIS Pro major version ships a matching Pro SDK; add-ins may need recompilation and testing at upgrades (budget for it).
- Requires an ArcGIS Pro licence for every user and, for enterprise data, appropriate ArcGIS Enterprise/geodatabase permissions.
- Business rules must be documented before development; unclear rules are the main cause of scope growth.
- Integrations depend on API access to SAP, Maximo, Odoo or the RTLS platform being granted by their owners.
- Heavy processing on very large selections can block the UI if not run on the background thread; performance testing on realistic data is part of the pilot.
Add-in vs Python toolbox vs configuration
Choose the lightest option that meets the need.
| Criterion | ArcGIS Pro add-in (.NET) | Python toolbox / ArcPy | Attribute rules & configuration |
|---|---|---|---|
| Guided user interface | Yes — ribbon, tools, dockpanes | Tool dialog only | None |
| Interactive map tools (click/sketch) | Yes | No | No |
| Rule enforcement on edit | Yes, at commit | Only when the tool runs | Yes (Arcade), limited external calls |
| Calls to SAP/Maximo/RTLS | Through service layer | Possible (requests) but weak UX | Not practical |
| Skills needed | .NET/C#, Pro SDK | Python/ArcPy | Arcade, geodatabase design |
| Upgrade effort | Recompile per Pro major version | Usually low | Low |
| Best for | Daily, guided, integrated workflows | Batch/scheduled processing | Data-quality rules inside the geodatabase |
In practice many solutions combine two: attribute rules for basic quality, an add-in for the guided workflow, and a Python toolbox for scheduled batch work.
FAQ
Number of distinct workflows/screens, complexity of business rules, number of external systems, bilingual UI, and the level of testing/hand-over required. A single-purpose validation button is days of work; a multi-step wizard integrated with SAP and RTLS is weeks to a few months.
Discovery and design usually take 2–4 weeks; a first usable version 4–10 weeks depending on integrations; pilot and roll-out add another 3–6 weeks.
No. Add-ins work with file/enterprise geodatabases and with ArcGIS Online. Enterprise matters when the workflow needs shared services, branch versioning or portal-based deployment.
Yes. Add-ins are desktop software; with an on-premise geodatabase and integration service the solution runs fully inside your network. Offline field work still needs ArcGIS field apps or offline maps.
We build against the Pro SDK matching your installed major version (e.g. 3.x). Each Pro major upgrade needs a recompile and regression test — plan it as part of your ArcGIS upgrade cycle.
You do. Source, build pipeline, signing certificate process and documentation are handed over; we can also maintain it under a support agreement.
Often, for batch or scheduled tasks. It cannot give interactive map tools or dockpanes, so for daily user-facing workflows an add-in usually pays back through time saved and fewer data errors.
Yes, through an integration service that reads the RTLS platform and returns positions/events; the add-in binds tag IDs to features and displays last-seen locations. Live streaming into web maps is better done with ArcGIS Velocity or a feature service updated by the service layer.
Have a workflow your GIS team repeats every day?
Send us a two-line description and a screenshot. We reply with a written view: add-in, Python toolbox, configuration or 'do not build' — with effort and risk.
Request an ArcGIS Add-in AssessmentSources & evidence
- Esri — ArcGIS Pro SDK for .NET (documentation & API reference) — official SDK wiki
- Esri — ArcGIS Pro SDK: Add-in fundamentals (ProConcepts)
- Esri — ArcGIS Pro SDK community samples
- Esri — Attribute rules in ArcGIS Pro
Vendor and product names are trademarks of their respective owners; references are for technical context and do not imply partnership, certification or endorsement unless stated on the vendor's official pages.