---
key: create-a-clause
title: Create a clause
audience: staff
section: agreements
routes: ["/agreements/clauses"]
permissions: ["agreements.clauses.update"]
features: ["agreements.clauses"]
since: 0.0.1
updated: 0.0.1
status: published
summary: Write one reusable block of contract wording, such as payment terms or a cancellation policy, add the fill-in details that change per customer, and publish it for templates to use.
keywords: [clause, contract wording, terms, payment terms, cancellation policy, boilerplate, reusable text, fill-in]
related: [create-an-agreement-template, create-an-agreement, find-an-agreement]
---

In the sidebar, open **Settings**, then choose **Clauses** under **Agreements**. The page address is `/agreements/clauses`. The heading reads **Agreement Clauses**. A clause is one reusable block of contract language, such as a payment term or a cancellation policy, that templates pull in so you write it once and every agreement stays consistent.

## Before you start

- Viewing needs permission to view clauses. Creating one needs the clause create permission, editing needs the clause update permission, and publishing needs the clause publish permission.
- A published clause version never changes. To reword it you create a new draft version and publish that, so agreements already signed keep the wording they were signed with.

## Steps

1. Press **New clause**. The **New agreement clause** drawer opens.
2. Under **Clause metadata**, type a **Title** such as "Payment terms". **Key** is an optional short nickname. Choose a **Type** (**General**, **Commercial**, **Compliance**, **Legal** or **Operational**) and, if you like, a **Category** (**Confidentiality**, **Payment**, **Security**, **Services**, **Term** or **Termination**). Add a **Description** of when to use it and comma-separated **Tags**.
3. Under **Clause content**, choose the **Body format** and type the wording in **Clause text**.
4. For anything that changes from one agreement to the next, such as the customer's name or a dollar amount, press **Add fill-in detail** under **Fill-in details**. Give it a **Fill-in name** (for example "customer.name"), a **Friendly name**, a **Detail type** and, optionally, a **Default value** and **Description**.
5. Check **Preview**, add **Version notes** describing what this draft changes, then press **Create clause**. Nova saves a draft and opens the clause editor.
6. When the wording is final, press **Publish draft** in the editor and confirm with **Publish clause**. Templates can now use it.

## What you see

- Three tiles: **Visible clauses**, **Active clauses** and **Visible variables** (the fill-in details across the clauses shown).
- Columns: **Clause**, **Type**, **Status**, **Variables** and **Updated**. Each row's menu offers **Open detail**, **View history** and, when there is a draft, **Open editor**.
- Filter by **Status** (**Draft**, **Active**, **Deprecated** or **Archived**) and **Publish State** (**Has draft** or **Has published version**), or search by title, key, category or variable.

## If something looks different

- **New clause** is missing: your role cannot create clauses.
- The editor shows **Immutable published state**: this clause has no draft. Press **Create editable draft** to make one.
- **Publish draft** is greyed out: save your changes first; publishing is off while the editor has unsaved edits.
- You want to put clauses into a document: see [[create-an-agreement-template]].

[[route:/agreements/clauses|Open Clauses]]
