> ## Documentation Index
> Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
> Use this file to discover all available pages before exploring further.

# Parameter Updater

> Review and batch-edit model parameters from a Speckle dashboard, then apply the changes back to Revit, Rhino, or Civil3D via Issues.

<Warning>
  Parameter Updater is in **public beta** and available on all workspaces. It
  currently supports **Revit**, **Rhino**, and **Civil3D**.
</Warning>

Parameter Updater lets you review and batch-edit model parameters from a Speckle
dashboard, then apply those changes back to your model. Each batch of edits is
logged as an Issue so you can track what changed and why.

## Prerequisites

Before you begin, confirm you have:

* The **Speckle connector** for your authoring tool (Revit, Rhino, or Civil3D) installed and signed in.
* A model that has been **published** to a Speckle project at least once.

## Where to find Parameter Updater

In any dashboard, open the widget sidebar and scroll to the **Data Conditioning**
category at the bottom. Drag the **Parameter Updater** widget onto the canvas.

## End-to-end workflow

<Steps>
  <Step title="Publish a model">
    Open your model and use the Speckle connector to publish it to your target
    project and model. Wait for the publish to complete so you have at least one
    model version available as a dashboard data source.

    <Tip>
      If you want to edit or populate empty parameters, make sure to enable
      **Send null/empty parameters** in the connector settings before publishing
      your model to Speckle.
    </Tip>
  </Step>

  <Step title="Create a dashboard with that model">
    In the Speckle web app, go to your workspace **Dashboards**, create or open
    a dashboard, and add a **Model Viewer** widget that points at the published
    model and version. You should see the model rendered so the dashboard can
    read elements and parameters.
  </Step>

  <Step title="Configure the Parameter Updater widget">
    Add the **Parameter Updater** widget from the **Data Conditioning** category
    and configure its settings. Pick one or more model versions as data sources,
    choose editable and read-only columns (fields under `properties` are
    editable), and optionally group rows by a property such as level or type so
    you see a grouped table of elements.
  </Step>

  <Step title="Review and edit parameters">
    In the table, edit parameters directly in cells, set values for an entire
    group from the group header, or update only selected elements using the
    selection row; cells may be editable, read-only, or marked as “Missing
    parameter” when the element does not have that field. When you have unsaved
    edits, a footer bar appears at the bottom of the widget showing the number
    of pending changes with **Discard** and **Submit change requests** actions.
  </Step>

  <Step title="Submit a change request as an Issue">
    Click **Submit change requests** in the footer bar and fill in the dialog
    with a title, status, optional tracking fields, and a description that
    summarises the changes. When you submit, Speckle creates an **Issue** with a
    screenshot, viewer state, and the parameter changes stored as `objectDeltas`
    so you can track what changed and why.
  </Step>

  <Step title="Apply the approved changes">
    Open the same project in your authoring tool, find the published model card
    in the Speckle connector, and open the related Issue via the **Issues**
    icon. Use the **Apply changes** action so the connector sends the batch of
    parameter updates, validates each one, and applies them in a single
    transaction, showing a toast that reports whether all, some, or none of the
    parameters were updated.
  </Step>
</Steps>

## What you can and cannot edit

### Editable

* Parameters exposed under `properties` in the object tree — including instance, type, and system type parameters (Revit).
* Text, numeric, boolean (Yes/No), and some ElementId-backed parameters (for
  example materials and levels that can be resolved by name).

### Not editable

* **Read-only parameters** – system-controlled values that the native API does
  not allow you to change.
* **Missing parameters** – elements that do not have the selected parameter. The
  widget shows “Missing parameter” and skips these during bulk edits.
* **Linked model elements** – elements from linked models are blocked. The
  connector reports “Cannot modify elements from a linked model”.
* **Parameters not published** – parameters that were not included when the
  model was published will not appear in the widget.

## Known limitations

| Limitation                 | Detail                                                                                                                                                                       |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Supported connectors       | Parameter Updater currently supports Revit, Rhino, and Civil3D. Other connectors are not yet supported.                                                                      |
| Path format                | The parameter path must resolve to three segments (scope, group, name) after stripping prefixes. If the path structure does not match, the update is rejected.               |
| Renamed or removed params  | If a parameter no longer exists or has been renamed since the model was published, the connector reports “Parameter not found”.                                              |
| Linked models              | (Revit) Elements from linked models cannot be updated. Requests targeting linked elements are skipped with an error.                                                         |
| Read-only enforcement      | (Revit) Some parameters appear editable in the dashboard but are marked read-only by the Revit API. The connector rejects these at apply time.                               |
| Unit handling              | (Revit) Numeric values are scaled to Revit internal units. Extreme values or unit mismatches can produce failures.                                                           |
| ElementId parameters       | (Revit) Setting ElementId values by raw ID is not yet supported. The connector attempts to resolve by element name (materials, levels, phases). Other types may not resolve. |
| No automatic Issue polling | The connector does not automatically poll for Issues. You must open the UI and trigger the apply action.                                                                     |

## What to test

For beta testing, focus on:

* **Happy path** – update a small set of parameters and confirm they apply correctly in your authoring tool.
* **Mixed results** – include parameters that should fail (read-only, missing,
  linked elements) alongside valid edits. Confirm the widget flags uneditable
  cells and the connector reports partial success with grouped errors.
* **Scale** – try batches of tens to low hundreds of elements and check that the
  experience remains usable and messaging is clear.
* **Issue traceability** – confirm each submission creates a single Issue with a
  useful screenshot, viewer state, and description so you can audit what was
  changed later.

## Feedback and next steps

* If something behaves unexpectedly, note:
  * The parameter path and element type.
  * The exact error text from the connector toast.
  * The Issue link from the Speckle web app.
* Share those details when reporting bugs so we can reproduce them quickly.
* If you want a walkthrough:
  * Book a short session for a live demo and onboarding.

<CardGroup cols={2}>
  <Card title="Book a Parameter Updater session" href="https://calendar.app.google/rtn2HBFZwXSZY7Br5">
    Provide feedback on Parameter Updater currently in public beta.
  </Card>
</CardGroup>
