Creating a template
Upload a .docx with curly-brace variables, label each one, and bind it to known data so your team can generate contracts from your own paper.
A template is a reusable .docx contract — your own paper — that your team
fills out and generates new contracts from. Instead of starting each agreement
from scratch, you upload a standard document once, mark the parts that change
as variables, and let teammates produce a ready-to-review (and ready-to-
sign) contract in a few clicks.
Templates are organization-wide. Only an organization admin can create, edit, replace, or delete a template. Any member can then generate contracts from the templates an admin has set up — viewers can't.
Preparing your .docx
Templates use single curly braces to mark where information should be inserted.
Anywhere you want a value filled in, write a token in {single_curly_braces} —
for example:
This Agreement is entered into by
{counterparty_name}("Counterparty") on{effective_date}.
A few things to know about tokens:
- Use single curly braces —
{counterparty_name}, not{{...}}. - A token can be styled (bold, underlined, split across formatting) and Fusial still reads it as one variable.
- Control-flow tokens such as
{#section}and{/section}are ignored — only plain value tokens become variables.
Uploading the template
Open Templates from the sidebar and click New template. If you don't have any templates yet, the page shows an empty state — "No templates yet" — with the same button.
In the New template dialog, drop in (or pick) your .docx file. Templates
accept .docx files up to 25 MB. Click Create template, and Fusial
scans the document for {variables} and opens the template editor.
Labeling variables
The editor opens on the template you just uploaded, ready for you to "Label each detected variable and bind it to known data." It has two parts.
Template details
At the top, set how contracts made from this template are created:
- Template name — what the template is called in the list and pickers. Required.
- Description — an optional note describing when to use it.
- Contract type — the type applied to generated contracts: NDA, MSA, SOW, DPA, Order form, Employment, or Other.
- Our role — the role your organization plays: Counterparty, Customer, Vendor, Employer, Employee, Party A, Party B, or Other.
- Title pattern — an optional template for the contract's title, written
with the same
{variable}tokens as the document — for example,{counterparty_name} — MSA. Tokens that aren't in your document render empty. If you leave it blank, generated contracts fall back to the template name.
Variables
Below the details, the Variables section lists every {token} Fusial found
in your document, in the order they appear, with a count of how many were
detected. For each variable you can set:
- Label — the human-readable name a teammate sees when filling out the form (e.g., Counterparty name).
- Input type — what kind of value it is, which controls the form field: Short text, Long text, Date, Number, Currency, Dropdown, or Yes / No.
- Bind to — connect the variable to known data so it fills in automatically. Leave it on None (rep fills it in) for a free-form field. See Bindings below.
- Default — an optional value pre-filled on the form.
- Options — for a Dropdown, the list of choices, one per line.
- Help text — an optional hint shown under the field.
- Required — toggle on to make a teammate fill the field before they can generate the contract.
If the document has no detectable tokens, the section says "No {variables}
detected in this .docx. Check that tokens use single curly braces, then replace
the file below." — so replace the file once you've
fixed the tokens.
Click Save template when you're done. The button stays pinned at the bottom as you scroll.
Bindings
A binding ties a variable to data Fusial already knows, so the value is filled in for you instead of typed by hand. Some bindings resolve completely automatically — the teammate never sees a field for them — while others ask the teammate for the value once and then save it back to the right place.
| Bind to | Fills with | On the form |
|---|---|---|
| Counterparty name | The selected counterparty's name | Auto-filled |
| Counterparty domain | The selected counterparty's domain | Auto-filled |
| Your organization name | Your organization's name | Auto-filled |
| Contract owner name | The contract owner's name | Auto-filled |
| Today's date | The date the contract is generated | Auto-filled |
| Primary contact name | The counterparty signer, saved to their contact | Asked once |
| Primary contact email | The counterparty signer, saved to their contact | Asked once |
| Effective date | Saved to the contract | Asked once (date) |
| Contract value | Saved to the contract | Asked once (currency) |
| Term (months) | Saved to the contract | Asked once (number) |
When a binding fixes the kind of data — an effective date, a contract value, a term length — Fusial locks the variable's input type to match, showing "Set by the binding" under the (disabled) type selector.
The Primary contact bindings do double duty: the name and email a teammate enters are written into the document and saved as the counterparty's contact, so the finished contract can be sent for signature without re-entering anything.
Replacing the document
When your paper changes, you don't have to rebuild the template. In the Source document section, click Replace .docx and pick the new file.
Fusial re-scans the new document and reconciles it with your existing work:
- Variables whose tokens still appear keep their labels, types, and bindings.
- New tokens are added with default labels for you to refine.
- Tokens that no longer appear are dropped.
You'll see "Document replaced" and the variable list refreshes so you can review anything new. Generated contracts already created from the template are unaffected.
Deleting a template
In the Source document section, click Delete and confirm. Fusial warns that the template "will be removed. Contracts already created from it are unaffected." Deleting a template only removes the template itself — every contract someone already generated from it stays exactly as it is.