Skip to main content
A parameter set is a named collection of values for multiple parameters. You can create parameter sets at the project level or the pipeline level. Parameter sets are useful when multiple values must change in sync, such as:
  • Environment-specific settings (dev, staging, prod)
  • Regional configurations (US, EU, APAC)
  • Tenant- or customer-specific values
  • Currency, locale, or compliance variations
Project parameters interface showing default, EU, and APAC parameter sets
After you define parameters and group them into parameter sets, you must decide which set to use at execution time. The selected parameter set determines the values Prophecy injects when a pipeline or app runs.

Set hierarchy

When you first open parameter settings, both project parameters and pipeline parameters include an empty default parameter set. The default set serves two purposes:
  • It defines the list of parameters that exist.
  • It provides baseline values that other sets can inherit.
When you create additional parameter sets:
  • All parameters from the default set appear automatically.
  • You provide new values for any parameters you want to override.
  • Any value you do not override is inherited from the default.
For interactive development, the default set is active unless you manually activate another set.

Create parameter sets

To create a new parameter set, you first need to define the variables in the default parameter set.
  1. Open Parameters from the project header.
  2. Select either Project Parameters or Pipeline Parameters.
  3. Add variables to the set by clicking + Add Variable.
  4. Enter values for each variable, or leave them empty to inherit from the default set.
  5. Click Save.
To add and activate a new parameter set, you need to:
  1. Open Parameters from the project header.
  2. Click + Add Parameter Set.
  3. Enter a name for the parameter set.
  4. Assign values to the variables or leave them empty to inherit the default.
  5. Toggle Active to make this set the active configuration.
  6. Click Save.

Example

There are many use cases where you may want to leverage multiple parameter sets. This example demonstrates how to use parameter sets to process sales data for different global regions. When you switch regions, you often need to change more than one piece of information at a time. In this scenario, we use two parameters that must stay in sync:
  • currency: Labels the final report (for example, USD or EUR).
  • fx_rate_table: Tells the pipeline which database table contains the specific exchange rates for that region.
By grouping these into parameter sets, you ensure that when you switch sets, pipelines use both the correct label and the correct exchange rates.

Define the default values (USA)

First, set up your standard operating values in the default set:
  1. Open Parameters in the project header and select Project Parameters.
  2. Click + Add Variable and name it currency.
  3. Set the value to USD.
  4. Click + Add Variable again and name it fx_rate_table.
  5. Set the value to fx_rates_usd.
  6. Click Save.
After saving the set of variables, you can reference currency and fx_rate_table in any pipeline in the project. Your pipeline will use the default set values by default for interactive runs.

Create a regional override (Europe)

Next, create a set for your European operations:
  1. Click + Add Parameter Set and name it Europe.
  2. In the Europe set, change the value of currency to EUR.
  3. Set the value of fx_rate_table to fx_rates_eur.
  4. Toggle Active to make this set the active configuration.
  5. Click Save.
By switching the active set to Europe, you update your entire project to handle European data without manually changing every pipeline component.

Select parameter sets at runtime

How you select a parameter set depends on how the pipeline or app is executed.

On-demand pipeline runs

Interactive pipeline runs use the active parameter set for both project and pipeline parameters.

On-demand Prophecy App runs

You can select a parameter set when creating a Prophecy App or modify it afterward in app settings. This determines which pipeline parameter values the app uses when it runs. On-demand app runs always use values from the active project parameter set.

Pipeline schedules

When you schedule a pipeline, you can choose which pipeline parameter set to use for that schedule. This lets you run the same pipeline with different configurations on different schedules.

App schedules

When you schedule a Prophecy App, you can choose which pipeline parameter set to use for that schedule. This lets you run the same app with different configurations on different schedules.

Deployed pipelines

When you publish a project, you can choose which project-level parameter set to use. This allows you to publish different configurations to different environments without modifying the project. The selected project parameter set applies to all deployed pipelines in the published project. Pipeline parameter sets selected for schedules also apply to those scheduled runs. If a pipeline parameter and a project parameter share the same name, the pipeline parameter value takes precedence. Deployment activates pipeline schedules so it’s all wrapped up in this step.