Template Variables
Template variables let you write one agreement that is automatically personalized for each user. Instead of every user seeing the same text, each person sees a version with their specific details — like their name, company, or contract start date — already filled in.
Variables are only available on Generated templates.
How It Works
In your template content, use {{variableName}} placeholders wherever a user's specific detail should appear:
This Non-Disclosure Agreement is entered into as of {{effectiveDate}}
by and between Your Company, Inc. and {{companyName}},
represented by {{recipientName}}.
Confidentiality obligations apply for {{confidentialityPeriod}}.
When a user is sent to the agreement, your system passes their actual details to Click. Click fills in the placeholders before showing the user the content. Every person sees a version rendered with their own data.
Screenshot: Rendered Generated agreement showing filled-in variable values — for example, the user's name and company already substituted into the agreement text
Defining Variables
After adding placeholders to your content, go to the Variables tab and define each one. For every {{variableName}} in your content, add a row:
| Field | What it means |
|---|---|
| Variable Key | Must match the name in your {{placeholder}} exactly. Case-sensitive — {{companyName}} and {{CompanyName}} are different. |
| Display Name | A readable label for your team, for example, Recipient Full Name |
| Type | The kind of data: text, number, date, or yes/no |
| Default Value | Optional. Used when a value is not provided for a specific user. |
| Required | When on, the agreement cannot be sent to a user without this value being provided. |
Mark all critical fields as Required. This prevents a situation where an agreement is shown with a blank placeholder because data was missing.
Screenshot: Variables tab showing a list of defined variables with their names, types, and required status
Variable Types
| Type | Use for | Examples |
|---|---|---|
| Text | Names, companies, free-form values | Jane Smith, Acme Corp |
| Number | Quantities, amounts | 30, 2.5 |
| Date | Dates and time periods | January 1, 2026 |
| Yes/No | Boolean flags | true, false |
For dates, Click displays the value exactly as you pass it — format it before sending.
Passing Variable Data
When your team or system creates a session for a specific user, the variable values are passed along with the request. If a required variable is missing, the agreement cannot be shown to the user.
Your developers will handle this using the Click API. Share the list of variable keys and their expected formats with them so they know what data to pass.
What Gets Captured in the Acceptance Record
When a user accepts a Generated agreement, the acceptance record includes a copy of the final rendered content — with all variables already filled in — so you have an exact record of what that specific user agreed to.
See Evidence Bundles for what each record contains.
Common Variable Patterns
| Variable Key | Display Name | Type | Used in |
|---|---|---|---|
recipientName | Recipient Full Name | Text | NDAs, contracts |
companyName | Company Name | Text | NDAs, partnership agreements |
effectiveDate | Effective Date | Date | Any dated agreement |
confidentialityPeriod | Confidentiality Period | Text | NDAs |
governingLaw | Governing Law | Text | NDAs, contracts |
subscriptionTier | Subscription Tier | Text | Billing terms |
Next Steps
- Creating Templates: full template setup guide
- Evidence Bundles: what gets captured per acceptance
- NDA use case: end-to-end example using variables