Dynamic Parameter Configurations in FME Flow Apps

Zoe Forbes
Zoe Forbes
  • Updated

Introduction

User parameters in FME workspaces allow your end users to control how the workspace runs without directly editing it. In FME Flow Workspace Apps, parameters are the foundation of creating user-friendly interfaces and simple self-serve tools. To read more about the basics of user parameters, follow this tutorial.

Workspace Apps can be configured to launch with pre-populated parameters using default values. However, what if you want the values of a parameter to be dynamically populated by data in an external source, a calculation, or other means? Introduced in FME Flow 2025.2, user parameter values can now be dynamically loaded at launch time with query strings, workspaces, resource files, or URLs.

In this article:

  • Static parameter settings set default values that apply to all Flow App users. To make changes, the app must be edited and saved.
  • Dynamic parameter settings mean the default values and choice options can differ depending on how the Flow App was launched or on external sources. Authors can control which parameters are dynamic. A parameter's settings (i.e., prompt, visibility, type) cannot be dynamic.

Prerequisites

  • FME Flow 2025.2 or newer is required for this tutorial. Dynamic parameters are not available in earlier versions.
  • Use the attached workspaces to follow along with the tutorial.

Step-by-step Instructions

1. Download the Main Workspace

From the article attachments, download DriveBC_Events.fmw and open it in FME Workbench.

main_workspace.jpg

In this tutorial, we will be using this workspace to demonstrate various use cases for dynamic parameters. The workspace extracts driving alerts across the province of British Columbia using the DriveBC Open511 API. Announcement information is transformed for display in an HTML web map.

2. Inspect the Workspace User Parameters

In the Navigator pane, right-click User Parameters to inspect the workspace's parameters. Each parameter is referenced in the OpenAPICaller's query string to filter the API results. Optionally run the workspace to understand how the parameters are used and to view the output web map.

The DriveBC Open511 API allows you to filter results with multiple values in a query string as long as they're separated by commas. Comma-delimiting is set in the Event Type and Region parameters under Choice Configuration > Advanced.

3. Publish the Workspace to FME Flow

Publish this workspace to your FME Flow instance in a new repository named "Dynamic Parameters Tutorial" with the Data Streaming service.

For detailed instructions on how to publish to FME Flow, please see the instructions below; otherwise, continue on to step 4. 

  • To publish a workspace from FME Workbench to FME Flow, follow the generic instructions below using the specific details listed in the article. If the article does not have a specific repository name listed, we recommend creating a Training repository. If a specific service is not listed in the article, please use the default Job Submitter.

    1. Click Publish

    From the File menu, click Publish to FME Flow, or from the toolbar ribbon, click Publish.

    Toolbar Ribbon:


    File Menu:

    Deploy Menu (2025.1+):
    DeployToFlow.png

    2. Add a Web Connection

    In the Publish to FME Flow wizard, a FME Flow connection needs to be selected or created. To create an FME Flow connection, click the drop-down under FME Flow Connection and select Connect to FME Flow.

    The following instructions are for a basic connection, but if your FME Flow is set up for Microsoft Azure, SAML, or Windows Credentials, please see the Using Web Connections to Connect to FME Flow documentation.

    An FME Flow Connection dialog will appear; here, we will set up the connection. The connection information and credentials can be obtained from your FME Flow Administrator. If you have not yet logged into FME Flow after installing, please do so prior to continuing, as you will be prompted to change the password from the default:
    Username: admin
    Password: admin

    • • Web Service: FME Flow

      • Server URL: http://localhost

      • Connection Name: Training FME Flow

      • Authentication: Basic

      • Username: your username

      • Password: your password

      Click OK. FME will try to authenticate the connection. Once authenticated, this connection will be available whenever you publish a workspace. The connection will only need to be created once.

    • • Web Service: FME Server

      • Connection Name: Training FME Server

      • Server URL: http://localhost

      • Username: your username

      • Password: your password

      Click Authenticate. FME will try to authenticate the connection. Once authenticated, this connection will be available whenever you publish a workspace. The connection will only need to be created once.

      Click Next to move to the Create Repository page of the dialog

    3. Create Repository

    Repositories are used to store groups of related items that have been published to FME Flow (similar to directories). Items such as workspaces, source data, custom formats, custom transformers, and templates can be published to a repository.

    If you need to create a new repository, click on the New button next to Repository Name. Enter the repository name and an optional description. Click OK to close the Create New Repository dialog.

    To select an existing repository, click the drop-down next to Repository Name and select the desired repository.

    4. Upload Files

    Some workspaces require additional files to run correctly on FME Flow, so these need to be uploaded along with the workspace. To upload files, enable Upload data files at the bottom of the dialog.

    When files are uploaded through the publishing menu, they are stored within the repository. If you want to upload folder files (such as geodatabases) or to specify where the files stored, the Select Files button allows you to do that. For detailed instructions on how to use the Select Files button, see the documentation.

    5. Register Services

    The final step before publishing a workspace is to register services. Services control how the data will be output after the workspace is run.

    Services return results in different forms:

    • Data Download Service returns results as a downloadable zip file

    • Data Streaming Service returns results as a data stream

    • Job Submitter Service accepts and runs workspace job requests

    • KML Network Link returns a KML Network Link that can be used in Google Earth

    • Notification Service allows for event-driven messaging

    Typically, the Job Submitter is always enabled, but multiple services can be enabled. Once services have been enabled, click Publish.

    6. Review Translation Log

    To confirm whether or not the workspace was published successfully, check the Translation Log. The Translation log will show which repository you published to, which files were included, and a quick link to run the workspace.

4. Create and Run a New FME Flow Workspace App

In FME Flow, configure a new Workspace App with the DriveBC_Events.fmw workspace. Run the Workspace App to view the output web map in your browser.

web_map.jpg

Static Parameter Configuration

If you would like parameter defaults to be constant for all users at all times, Parameter Defaults can be used. 

To demonstrate this, open the Workspace App settings described above and expand the Parameter Defaults section. Uncheck Use Default for the "Filter by Date" parameter, and change it to a custom date.

set_date_default.jpg

Save and refresh the live workspace app page. The default date will be updated.

date_default.jpg

Dynamic Parameter Configuration

Dynamic Parameters let you update default values and choice options without changing the Workspace App's settings. They can be loaded dynamically via:

  • The Workspace App URL query string
  • Custom JSON parameter configuration from any of the following:
    • FME workspace
    • Resource file
    • URL

1. Enable Dynamic Parameters

In the Workspace App's settings under Parameter Defaults, enable Dynamic Parameters. For more technical requirements for dynamic parameters and testing tools, click View Guide.

dynamic_parameter_guide.jpg

Setting Parameters with Query Strings

The first way to dynamically set Workspace App parameters is with query strings. This allows authors to launch Workspace Apps with different default values based on the URL. This can be generated manually or programmatically by an external application.

Step-by-step Instructions

1. Enable URL-Based Configuration and set Allowed Parameters

Toggle on Enable URL-Based Configuration, and under Allowed Parameters select the "date" and "event_type" parameters. Click Save and return to the Workspace App's settings.

enable_url_config.jpg

2. Generate a Schema Sample

Click View Guide and navigate to the Generate Configuration tab.

For this example, select the "date" and "event_type" parameters. A schema containing the current parameter values will appear and be marked as valid JSON. This tool lets you generate, test, and validate JSON parameter schemas.

generate_configuration.jpg

3. Edit the schema

Change the default value of "date" from "20260317" to a different date (e.g., "20260518").

{
  "name": "date",
  "defaultValue": "20260518"
}

Add a new choice to "event_type" by adding a new object to the choices array. Set its display attribute to "Partly Icy" and its value attribute to "PARTLY_ICY".

    ...
    {
    "name": "event_type",
    "defaultValue": ["HAZARD"],
    "choices": [
      {
        "display": "Partly Icy",
        "value" : "PARTLY_ICY"
      },
      {
        "display": "HAZARD",
        ...

Click Test to make sure your changes are parsed correctly. Also, click Preview to see how the parameters will appear to the end user.

edit_configuration.jpg

Dynamic choice lists and trees can have multiple default values by using a JSON array.

4. Generate the URL

To configure the URL-encoded query string, copy the JSON from the Generate Configuration tab, open the Generate URL Config tab, paste the JSON into the text box, and click Generate URL.

generate_url.jpg

Open the URL to see the JSON schema reflected in the Workspace App's default parameters. If they do not appear, save the Workspace App settings and try again.

This URL can now be edited directly or, using the steps above, generate another set of default parameters. No further changes to the Workspace App are required.

Note that steps 2-4 can be done entirely outside of FME Flow using a JSON editor and a URL encoder.

Getting Parameters from a Workspace

An FME workspace can be used to create a dynamic parameter configuration. This workspace runs when the Workspace App opens, enabling real-time, customizable parameters. Using a workspace to generate the JSON gives you the full integration and transformation capabilities of FME to derive the parameters.

In FME Flow 2025.2, the data source workspace must be published in the same repository as the App's workspace and use the Data Streaming service. In 2026.1+, dynamic parameters support workspaces in any repository using any service.

Step-by-step Instructions

1. Download and Inspect the Helper Workspace

From the article attachments, download DriveBC_DynamicParameters.fmw and open it in FME Workbench. Test the workspace by running it. The workspace creates the JSON schema by gathering the following information:

a. Sets the default value of the "Filter by Date" parameter to today's date.

b. Gets all possible regions in B.C. to populate the "Filter by Region" parameter.

c. Gets the types of currently active alerts available for selection in the "Filter by Event" parameter.

helper_workspace.jpg

There are a few important considerations when designing a workspace for dynamic parameters:

  • Minimize the workspace runtime by simplifying the workspace. Avoid making the end user wait too long for the workspace to run and return the parameter configuration.
  • To get a list of unique values from attributes, use transformers like the Sampler, DuplicateFilter, or Aggregator.
  • For choice parameters, the ListBuilder is necessary to create a choice array in the final JSON output.
  • Before the JSON writer, the "name" attribute must be created to designate the parameter being modified and optional default value(s).
  • When setting up the JSON writer, in the Parameters, disable "Write Feature Type Key" and "Write Geometry" to create the correct schema. The name of the JSON writer feature type and output file name do not matter.

2. Publish the Workspace to FME Flow

When you are done inspecting the workspace, publish it to FME Flow.

3. Configure the Workspace App and Test

Back in the Workspace App settings, edit the Dynamic Parameter Configuration as follows:

  • Enable Dynamic Parameters: Yes
  • Enable Configuration Loading at Launch: Yes
  • Data Source: Workspace
  • Repository: Dynamic Parameters Tutorial
  • Workspace: DriveBC_DynamicParameters.fmw

Click Test to make sure the workspace was parsed correctly.

launch_workspace_settings.jpg

4. Save and Open the Workspace App

Save these settings and open the Workspace App. The "Filter by Date" parameter will now always display the current date, and the "Filter by Event" and "Filter by Region" parameters will reference up-to-date data from DriveBC's Open511 API whenever the Workspace App is launched.

launch_workspace_final.jpg

Getting Parameters from a Resource File

You can also reference a JSON file in FME Flow's Resources that contains the parameter configuration. Reasons you may want to use a Resource file to store the JSON configuration could include:

  • Live data in dynamic parameters is unnecessary.
  • Not wanting a workspace to run every time the Workspace App is opened.
  • Periodically updating the JSON can be handled by a separate process, such as an Automation or Schedule.

Step-by-step Instructions

1. Create a New Resource Folder

Go to FME Flow's Resources > Data. Create a new folder named "Dynamic Parameter Configurations".

2. Upload the JSON Configuration

From the article attachments, download the sample_parameters.json file and upload it to the newly created Resource folder.

launch_resource_json.jpg

3. Configure the Workspace App and Test

Return to the Workspace App settings, and edit the Dynamic Parameter Configuration:

  • Enable Configuration Loading at Launch: Yes
  • Data Source: Resource
  • Resource: Click Resource and select the uploaded sample_parameters.json file.

Click Test to make sure the file was parsed correctly.

launch_resource_settings.jpg

4. Save and Open the Workspace App

Save these settings, then open the Workspace App to see how the parameters now reference the information in the JSON file. Optionally, open the JSON file in a text editor to edit the default values or choices, and re-upload the file to see the parameters change in the App.

Getting Parameters from a URL

The last method for dynamically setting Workspace App parameters is to make a web request for the JSON configuration. This involves making a request to an external URL, API, or system that hosts or returns a valid JSON schema.

Step-by-step Instructions

1. Configure the Workspace App and Test

In the same Workspace App, edit the Dynamic Parameter Configuration:

  • Enable Configuration Loading at Launch: Yes
  • Data Source: URL
  • JSON URL: https://support.safe.com/hc/en-us/article_attachments/44436792266253

Click Test to make sure the workspace was parsed correctly. 

launch_url.jpg

2. Save and Open the Workspace App

Save these settings and open the Workspace App. All three fields should have the default values and choice options as seen in the test results. Compare these to the parameters in the original DriveBC_Events.fmw workspace and see how the values have been replaced.

launch_url_app.jpg

In this basic example, we're using a hosted static JSON file. However, you have the freedom to point this URL to any system, FME Flow Data Virtualization endpoint, API, etc. that generates the JSON schema.

Data Attribution

The data used here originates from data made available by the British Columbia Government. It contains information licensed under the Open Government License - British Columbia.

Was this article helpful?

We're sorry to hear that.

Please tell us why.

As of January 14th, 2026, comments on knowledge base articles have been closed. To make sure questions don’t get missed and to enable more community support, we’ve moved discussions to the FME Community. If you have a question or a comment about this article, please create a new post or create a support ticket.