Publish web tools

Web tools allow you to share your analysis with others in your portal. To create an analysis, you can use ModelBuilder or Python scripts. To learn more about web tools, see Web tools. Once you have published your web tools, you can use web tools in ArcGIS Pro, Python scripts, and web apps. The output feature service option is also available so your web tool results can be a hosted feature service.

Share your analysis

Administrators and limited publishers can publish a web tool from ArcGIS Pro 2.9 and later or within a Python script.


Only asynchronous execution mode is supported on ArcGIS Enterprise on Kubernetes 10.9.1.

It is recommended that you register the data your analysis will use with the organization prior to publishing. To learn more about copying or registering data, see Data and publishing in ArcGIS Enterprise.

You can also publish web tools when the geoprocessing service is on a federated server. To do so, choose the destination server in the sharing pane of ArcGIS Pro during the publishing process.

Publish a service definition file

If you have an existing service definition file, use the Upload Service Definition tool from ArcGIS Pro or Python. You cannot publish a geoprocessing service definition file from ArcGIS Enterprise Manager or portal.

Resources consideration

You may experience a delay in the publishing process because each web tool will have a new pair of pods, and the pods are not shared by other web tools. A dedicated service mode is only available to web tools. By default, each web tool will request a minimum of 3.064 GB of memory and 0.35 CPU, and a maximum of 6.1 GB of memory and 3.5 CPU. You can adjust these resources by managing service deployments. When you want to publish many web tools, confirm with your system administrator that sufficient resources are available. If your publishing fails, ensure your cluster has access to the container registry.

All deployments of web tools will have the name of the web tool as part of the deployment name. For example, a web tool named sampleservice will have deployments with the names sampleservice-gpserver and sampleservice-gpsyncserver. When you scale services, you only need to adjust the replicas of the GPSyncServer deployment of your web tool, where the geoprocessing tasks are executing. If your geoprocessing tasks will process large files, large amounts of features, or large rasters, adjust the maximum memory of the main-container of the GPSyncServer deployment. You can also adjust the number of instances maxInstancesPerNode in the ArcGIS Enterprise Administrator API for your service; however, you must ensure the GPSyncServer deployment has enough CPU and memory limit when all instances are running.