You can share custom geoprocessing tools you create from ModelBuilder models or Python scripts to your ArcGIS Enterprise portal. Unlike a tool shared with a geoprocessing package, a web tool is hosted on—and runs in—your portal server or a server federated with your portal. You can access web tools in ArcGIS Pro and Map Viewer, as well as custom web apps such as those built with ArcGIS Web AppBuilder.
In this tutorial, you'll share a model tool as a web tool. The tool has already been created. First, you'll run the tool locally in an ArcGIS Pro project to ensure that it runs successfully. Then you'll share it as a web tool and run it in your portal from ArcGIS Pro.
The model tool you'll share is essentially the same one that you build in the Make a geoprocessing model quick-start tutorial. Completing that tutorial is not a prerequisite, but it will be useful if you aren't familiar with geoprocessing models, or if you want a better understanding of how the tool works.
- Video length: 8:49
- This video was created with ArcGIS Pro 2.8.
- Estimated time: 45 minutes
- Software requirements:
- ArcGIS Pro Basic
- Membership in an ArcGIS Enterprise organization with an administrator role or a custom role that includes the privilege to publish web tools
- ArcGIS Enterprise 10.6 or a later version
Download the data and open the project
You need access to a web browser to download the project data. Follow these steps:
- Go to the Share a web tool overview page on ArcGIS Online.
- Click Download.
- In the Downloads folder on your computer, double-click Share_a_web_tool.ppkx to start ArcGIS Pro and open the project.
The project opens with a map view of the Marlborough region of New Zealand. The model tool analyzes the proximity of invasive grasses to locations where people may encounter and spread them. Layers representing invasive grasses and contact locations are present in the Contents pane.
Run the geoprocessing model as a tool
Before you share a tool to the web, you must run it in an ArcGIS Pro project. This ensures that the tool can access its input data and that it runs successfully. To understand what the tool does, you'll look at it in a ModelBuilder view.
- Click the Summarize Invasive Species view tab to see the model.
As input, the model takes locations such as campgrounds or hiking trails where people may encounter invasive grasses. A buffer distance around the location is specified and an invasive grass species is chosen. The model calculates the amount of invasive grass in the buffer zone (or zones, if there are multiple input features) and creates an output feature class with the results.
- In the model, hover over the element representing the Buffer tool to see its parameters.
- Close the Summarize Invasive Species view by clicking Close on its tab.
- On the ribbon, click the View tab. In the Windows group, click Reset Panes and click Reset Panes for Geoprocessing.
This ensures that the Contents, Catalog, and Geoprocessing panes are open and that other panes are closed.
- Make the Catalog pane active. On the Project tab, expand the Toolboxes container and expand Share_a_web_tool.tbx.
The Summarize Invasive Species model tool is displayed.
Tools can be built-in tools , model tools , or script tools See Geoprocessing vocabulary for more information.
- Right-click Summarize Invasive Species and click Open.
The tool opens in the Geoprocessing pane. At the top of the pane, the Parameters tab is selected.
- Click the Human Contact Locations drop-down arrow and click Commercial Campgrounds.
- For Buffer Distance, type 1.5. Change the units from Unknown to Kilometers.
- Click the Invasive Species drop-down arrow and click Nassella Tussock Range.
- Click the Area Unit of Measure drop-down arrow and click HECTARES.
- In the Output Feature Class box, type Nassella_Tussock_Near_Campgrounds.
The output feature class will be created in the project's default geodatabase.
- Click Run .
When the tool finishes, a completion message appears at the bottom of the Geoprocessing pane and a layer is added to the Contents pane.
The new Nassella_Tussock_Near_Campgrounds layer is symbolized with a black outline and hollow fill. At the present map scale, the features may be obscured by the Commercial Campgrounds symbols.
- Zoom in on the map to see the buffer features around the campgrounds.
- In the Contents pane, right-click the Nassella_Tussock_Near_Campgrounds layer and click Attribute Table .
The table contains a record for each campground.
- In the table, right-click the Summarized area in HECTARES field heading and click Sort Descending .
Four campgrounds contain Nassella Tussock within a 1.5 kilometer radius.
- Close the table.
- In the Contents pane, right-click the Nassella_Tussock_Near_Campgrounds layer and click Remove .
- Make the Catalog pane active. On the Project tab, expand the Databases container and expand model_output.gdb.
The geodatabase contains a feature class named Nassella_Tussock_Near_Campgrounds. This is the output data created by the tool.
Every ArcGIS Pro project has a default geodatabase, which is marked with the Default icon . This is the workspace to which most geoprocessing outputs are written unless otherwise specified. When you create a project, a default geodatabase is created with the same name as the project. However, you can change the default geodatabase. In this project, model_output.gdb is the default geodatabase.
- On the Quick Access Toolbar, click Save to save the project.
Configure the web tool
Now that the tool has been run successfully, you can configure it as a web tool. You'll share it with your organization so that your colleagues can access it from ArcGIS Pro and other client apps. Hosting the web tool in your portal makes it readily accessible throughout your organization. It also allows you to enforce consistency with respect to input data and parameter settings.
Imagine that your organization plans to partner with the regional government in Marlborough to increase monitoring of invasive grasses. Concerned citizens can submit an address or spatial coordinates, and analysts on your team can quickly determine how much invasive grass is nearby.
- On the ribbon, click the Share tab. In the Share As group, click the Web Tool drop-down arrow and click Share Web Tool .
This command is unavailable if you are not currently signed in to an ArcGIS Enterprise portal. You may need to manage your portal connections.
- In the Select Tool To Share window, click Summarize Invasive Species to select it.
- Click OK.
The Share As Web Tool pane appears.
You can also open the pane with these steps:
- On the ribbon, click the Analysis tab.
- In the Geoprocessing group, click History .
- In the History pane, right-click the Summarize Invasive Species entry, click Share As, and click Share Web Tool .
If an error message appears at the top of the pane, your account may not have the privilege to share web tools. See the software requirements for this tutorial.
On the General tab, under Item Details, the Name, Summary, and Tags boxes are populated with metadata that was previously created for the tool.
- Next to Data, hover over the information icon and read the message that appears.
The invasive grass datasets are authoritative data that must be used with the tool. Because this data is not registered, it will be copied to the server when you share the web tool. You don't need to change the default data option because data that is not registered is copied automatically. While the help message is displayed, you can press the F1 key to learn more about working with registered data.
- Under Location, accept the default settings.
The web tool will be shared to the root level of My Content in your portal and to the hosting server of your ArcGIS Enterprise portal.
- Under Share with, check the check box next to the name of your ArcGIS Enterprise organization.
All members of the organization who can create content will be able to run the web tool. Learn more about web tool general settings.
- At the top of the pane, click the Configuration tab.
In this tutorial, you will use the default settings. Learn more about web tool configuration settings.
- Click the Content tab.
- Next to the Summarize Invasive Species tool, click Configure Tool Properties .
- In the Description box, type (or copy and paste) the following text: Finds and summarizes invasive species within a buffer zone of designated locations.
- Under Parameters, expand Human Contact Locations.
The parameter description comes from the geoprocessing tool metadata.
- Click the Input Mode drop-down arrow and click User defined value.
Under the input mode setting, the geometry type defaults to Point.
When web tool users interactively add locations to analyze, they will be restricted to adding point features if they click the interactive input button . However, other geometry types—line, polygon, and multipatch—will be available from a drop-down list. If a user chooses one of these types, the interactive layer will be created with the appropriate schema.
The geometry type defaults to Point because you used a point layer (Commercial Campgrounds) for the contact locations when you ran the tool in the previous section. Learn more about interactive feature input in web tools and geoprocessing services.
You also see the table schema that will be used for interactively created point layers. This is the schema of the Commercial Campgrounds layer.
- Expand the Buffer Distance parameter.
By default, the input mode for this parameter is set to User defined value. The default value is 1.5 kilometers—the setting you used when you ran the tool. The web tool user can change this value.
- Expand the Invasive Species parameter.
The default input mode is Choice list. The web tool user should be able to choose an invasive grass species to analyze, but no other layers should be available. The data for the layers you select in the choice list will be copied to the server.
- In the list of layers, keep the boxes checked for the four invasive grasses listed below. Uncheck all other check boxes.
- White Edged Nightshade Range
- Kangaroo Grass Range
- Chilean Needlegrass Range
- Nassella Tussock Range (cannot be unchecked)
- Expand the Area Unit of Measure parameter.
For consistent reporting, your organization will use hectares as the unit of measure for all invasive grass analysis. You don't want tool users to choose anything else.
- Click the Input Mode drop-down arrow and click Constant value.
The constant value is automatically set to hectares, the unit of measure you chose when you ran the tool. Users will not see this parameter on the web tool.
- Expand the Output Feature Class parameter.
In the Name box, replace the default name with Invasive Grass Summary.
This parameter will not appear on the web tool. The web tool user can't change the output feature class name or location. The output feature class is created on the server and returned to the client running the web tool. It has the table schema shown (the schema of the output feature class when you ran the tool).
The last parameter, Feature Service Output, is checked by default. When checked, this parameter appears on the web tool. It gives the web tool user the option to write the analysis results to a feature service in the portal as well as to a local file geodatabase. When unchecked, the parameter does not appear on the web tool. Learn more about using web tools with an output feature service.
The Feature Service Output parameter was introduced at ArcGIS Pro 2.8. In earlier ArcGIS Pro versions, the option to create a feature service was always available on the web tool.
Share the web tool
You'll analyze the tool for warnings or errors and share it to your portal.
- At the top of the Share As Web Tool pane, click Back .
- At the bottom of the pane, under Finish Sharing, click Analyze.
A Messages tab at the top of the pane displays warnings and errors. There are four grouped warnings.
- Expand the group and hover over one of the warnings.
The warning informs you that the data source is not registered and will be copied to the server. (The same warning appears for each invasive grass type.) With large datasets, copying data to the server may slow down the sharing process. In this case, the datasets are small and you can safely disregard the warnings.
When you hover over a warning or error message, click Options to take corrective action or to open a relevant help topic. Learn more about errors and warnings.
- Click Publish.
When the tool is successfully shared to your portal, a message appears at the bottom of the pane.
If a web tool with the same name already exists in your portal, you'll get a publishing error. Click OK on the error message. In the Share As Web Tool pane, click the General tab. In the Name box, edit the tool name (don't include spaces). At the bottom of the pane, click Publish again.
- On the success message, click Manage the web tool to open a web browser to your ArcGIS Enterprise portal. Sign in if prompted.
The web tool's item page appears. You can come back at a later time to add more metadata and a thumbnail image to the item page.
- At the top of the item page, click Content.
The web tool appears in your list of content items.
In the next section, you'll access the web tool from ArcGIS Pro and run it in your portal. You can also use web tools in web apps.
Use the web tool
You'll run the web tool to simulate your intended use case: a concerned citizen wants to find out about invasive grass near a location.
- In ArcGIS Pro, make the Catalog pane active. Click the Portal tab at the top of the pane.
The SummarizeInvasiveSpecies web tool item appears on the My Content tab .
For other members of your organization, the tool appears on the My Organization tab . It can also be found on the ArcGIS Enterprise tab .
- Double-click the SummarizeInvasiveSpecies web tool item and double-click the Summarize Invasive Species web tool.
The tool opens in the Geoprocessing pane. The Buffer Distance and Invasive Species parameters are set by default. The settings can be changed but you'll accept them for now. Notice that the tool does not display parameters for the measurement units or the output feature class. You have the option to create an output feature service—if you have a publisher role—but you won't do that in this tutorial.
For the Human Contact Locations parameter, you can provide input data in various ways. You can choose a layer from the current map, browse to a dataset or web feature layer, or create features interactively in a new feature class. For your tool's purpose, interactive input is the most suitable method.
- Next to Human Contact Locations, click the interactive input button . (Click the button, not the drop-down arrow.)
An editable layer is added to the Contents pane. On the Geoprocessing pane, a feature template appears, and the construction toolbar appears on the map. In addition, a point feature class is created in your default geodatabase.
Before you add a location interactively, you'll rename the layer and choose a different symbol.
As a web tool user, you can create layers of different geometry types, using their associated schema types, by clicking the drop-down arrow next to the interactive input tool. As a web tool author, you can restrict the types of geometry that are created for feature layers and feature classes when you configure the tool. For more information, see Parameter filters.
- In the Contents pane, click the Summarize_Invasive_Species_Human_Contact_Locations_Points layer once to make its name editable. Type Citizen Request and press the Enter key.
- Under the new layer name, click its default symbol.
The Symbology pane appears and presents point symbol formatting options.
- At the top of the pane, make sure the Gallery tab is selected. In the search box, type Esri Pin and press the Enter key.
- In the list of results, click the medium-sized Esri Pin 1 symbol.
The layer symbol is updated in the Contents pane.
- Make the Geoprocessing pane active. Under the Human Contact Locations parameter, click the Citizen Request feature template.
The Point tool is selected by default
Suppose that you have been contacted by a vineyard owner who thinks she has seen Nassella Tussock near her property.
- On the ribbon, click the Map tab. In the Inquiry group, click Locate .
The Locate pane appears. In the pane, the Locate tab is selected.
- In the Locate pane, click Options and confirm that ArcGIS World Geocoding Service or another locate provider is available and enabled.
If the only provider is XY Provider, use spatial coordinates instead of a street address in the next step.
- Click in the search box. Type (or copy and paste) New Zealand State Highway 6 and Rapaura Road, Renwick, 7273 and press the Enter key. Alternatively, enter these coordinates in the search box: 173.8170288°E 41.4865202°S.
The map zooms to the location and a temporary marker is placed at the street intersection.
- Hover over the location and click to create a point feature in the Citizen Inquiry layer.
The new feature is saved automatically.
- On the ribbon, on the Map tab, in the Navigate group, click the Explore tool .
This stops the interactive feature input process.
- In the Locate pane, in the search box, clear the result to remove the temporary marker.
- At the bottom of the map view, click the map scale drop-down arrow and click 1:10,000.
If this scale does not appear in your list of predefined scales, you can type it directly into the scale box.
- In the Contents pane, turn on the World Imagery (Clarity) layer.
There are buildings in the vicinity and some patches of Nassella Tussock.
The invasive grass features do not represent complete coverage of an area, but rather boundaries within which patches of invasive grass have been found. Some areas are more densely infested than others. Calculations of the amount of an invasive grass within a buffer zone are approximate.
- Make the Geoprocessing pane active and confirm that the Human Contact Locations parameter is set to the Citizen Request layer.
- Click Run .
When the operation finishes, a message appears at the bottom of the Geoprocessing pane. In the Contents pane, a layer named Invasive Grass Summary is added to the map.
- In the Contents pane, right-click the Invasive Grass Summary layer and click Zoom To Layer .
The map zooms to the extent of the 1.5 kilometer buffer.
- In the Contents pane, right-click the Invasive Grass Summary layer and click Attribute Table .
In the table, the Summarized area in HECTARES field shows that about 20 hectares of Nassella Tussock are in the buffer zone.
- Close the attribute table.
Before running the web tool, you can create multiple input features interactively. Each feature will be buffered and summarized. You can also run the tool multiple times while continuing to add features interactively. Each time the tool runs, a new output feature class is created.
After you run the tool, you can add more features by clicking the interactive input button . However, this overwrites the existing layer (Citizen Request) and its source dataset. To resume editing without overwriting the layer, you can create features in the Create Features pane.
View output data and geoprocessing history
The source datasets for the Citizen Request and Invasive Grass Summary layers are in the default geodatabase. The analysis results are stored in the project's geoprocessing history.
- Make the Catalog pane active. At the top of the pane, click the Project tab.
- If necessary, expand the Databases container and expand the model_output geodatabase.
The geodatabase contains a feature class named feature_set<number>. This is the data source of the Invasive Grass Summary layer. It also contains a feature class named Summarize_Invasive_Species_Human_Contact_Locations_Points. This is the data source of the Citizen Request layer.
- On the ribbon, click the Analysis tab. In the Geoprocessing group, click History .
The History pane appears. It contains entries for your two successful geoprocessing operations: the web tool and the desktop tool . Hover over the entries to see details about each operation.
- On the Quick Access Toolbar, click Save to save the project.
Web tools work just like the custom script or model tools they are based on and produce the same results. They are readily available to users in your organization and can be shared publicly. With ArcGIS Pro 2.6 or later versions, you can overwrite a web tool if you need to modify it.
When you run a web tool, the geoprocessing is done on the portal server, not on your computer. The output data is returned from the server and written to the project's default geodatabase.
ArcGIS Pro isn’t the only client application that can run web tools; Map Viewer, ArcGIS Web AppBuilder, and custom web apps can also run web tools For another introduction to sharing web tools, see How to publish a web tool from ArcGIS Pro.