HOW TO

Add an Experience Builder app created in Developer Edition to ArcGIS Online or ArcGIS Enterprise

First Published: September 10, 2026
Last Published: September 10, 2026

Summary

Users may want to share ArcGIS Experience Builder apps created using the Developer Edition to ArcGIS Online or ArcGIS Enterprise.

Procedure

An alternative solution is to use the ArcGIS API for Python. The sample script provided in this article shows how to add ArcGIS Experience Builder Developer Edition apps to ArcGIS Online and ArcGIS Enterprise.

Sample script

from arcgis.apps.expbuilder import WebExperience
from arcgis.gis import GIS

gis = GIS("https://example_domain/portal", "username", "password")
print("Logged in as: " + gis.properties.user.username)

local_path = 'C:/.../ExB_Dev_app_name/cdn/1/config.json'
local_exp = WebExperience(gis = gis, path = local_path)

local_exp.datasources

# To bring local Experiences to AGOL or portal, we can use WebExperience.upload()

uploaded_exp = local_exp.upload(gis = gis, publish = True, title = "Imported app from Dev Edition with custom widget")

uploaded_exp

The following steps walk through the sample code above:

  1. Import the GIS and WebExperience classes and update the Python script to authenticate to your ArcGIS account.
from arcgis.gis import GIS
from arcgis.apps.expbuilder import WebExperience

gis = GIS("portal_URL", "username", "password")
print("Logged in as: " + gis.properties.user.username)

Sample outout:

Logged in as: username
Note:
Credentials should not be hard-coded. The values provided above are for demo purposes only.

code section from step 1 and sample output

  1. Get the path to the config.json file from your Experience Builder app folder (created in Developer Edition).
  2. Example path:
    • C:Users\<user>\<ExperienceBuilder_app_name>\cdn\<App_ID>\config.json
    • Note: <appId> is the integer corresponding to the apps you created in order.
  3. Use the code below to access the Experience Builder app from Developer Edition.
local_path = 'The_file_path_to_Experience_Builder_app/config.json'
local_exp = WebExperience(gis = gis, path = local_path)

local_exp.datasources

Sample output:

{'dataSource_1': {'id': 'dataSource_1',
  'type': 'WEB_MAP',
  'sourceLabel': 'web_map_name',
  'itemId': '<itemId>',
  'portalUrl': '<portal_url>'}}

code from step 4 and sample output

  1. To upload local Experiences to ArcGIS Online or your portal, use WebExperience.upload().
uploaded_exp = local_exp.upload(gis = gis, publish = True, title = "name_for_imported_Experience_Builder_app")

Uploaded_exp

code from step 5 and sample output

  1. Notice that a new Experience Builder item appears in your ArcGIS Enterprise or ArcGIS Online account, as shown in the next image.

new experience builder item

Considerations: 

  1. ArcGIS Online does not support custom Experience Builder widgets.
  2. Adding Experience Builder apps to ArcGIS Enterprise, it is recommended to review the "About release versions documentation" and ensure your Experience Builder Developer Edition matches your Enterprise version to avoid any incompatibility issues 
  3. When importing an application with a custom widget, verify that the custom widget has been previously added into your Portal for ArcGIS. You may need to update the custom widgets to use those that are already in your ArcGIS Enterprise.

Article ID: 000042450

Software:
  • ArcGIS Online
  • ArcGIS Enterprise
  • ArcGIS Experience Builder Developer

Get support with AI

Resolve your issue quickly with the Esri Support AI Chatbot.

Start chatting now

Related Information

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Start chatting now

Go to download options