# Using workbook templates

Save a workbook’s layout as a [template](https://dev.nominal.io/platform/reference/glossary.md#template "A workbook saved without a run or asset, so the same analysis can be applied to each new run or asset."), then open the same analysis on any asset or run.

## In code

**Python**

```python
from nominal.core import NominalClient

client = NominalClient.from_profile("default")
template = client.get_workbook_template("<ri.scout.instance.template.identifier>")

workbook = template.create_workbook(asset="<ri.scout.instance.asset.identifier>")  # or run="<ri.scout.instance.run.identifier>"
print(workbook.nominal_url)
```

**Rust**

```rust
use nominal::core::{WorkbookCreate, WorkbookDataScope};

let client = nominal::NominalClient::from_profile("default")?;
let template = client.templates().get("<ri.scout.instance.template.identifier>").await?;

let workbook = client.workbooks().create_from_template(
    &template,
    WorkbookDataScope::assets(["<ri.scout.instance.asset.identifier>"]), // or WorkbookDataScope::runs([...])
    WorkbookCreate::new(),
).await?;
println!("{}", workbook.nominal_url());
```

## In the Nominal app

1. In a workbook laid out the way you want, open the workbook menu (the logo ▾ at the top left) and choose **File** ▸ **New template**. The template opens in a new tab. Only a workbook on a single asset can become a template.
2. Click **PUBLISH**, enter a **Message**, and click **PUBLISH**.
3. To use the template, on an asset’s or run’s page click the arrow beside **NEW WORKBOOK**, choose **New workbook from template**, and click the template.

To change a published template, or bring its changes into a workbook made from it, see [🔒︎Workbook templates](https://docs.nominal.io/core/documentation/platform/workbooks/workbook-templates).
