Creating Contracts & Templates
A contract starts as a PDF and ends as a signable document with placed fields, assigned signers, and a delivery message. This page covers everything from upload to template-ready.
Two Workflows: One-Shot vs Template
| Workflow | When | What you do |
|---|---|---|
| One-shot contract | A unique contract for one specific client | Create the contract, pick a client + signer, send |
| Template | A repeating agreement you send to many people (NDAs, MSAs, contractor agreements) | Create the contract, place fields once, save it as a template, then Send it to each group of people. Each person signs their own copy |
Templates are far more efficient for repeating contracts because the PDF, placed fields, and message are reused on every send.
Opening the Create Modal
- Open Contracts in the left sidebar
- Click the Create Contract button (top-right toolbar)
- The Create New Contract modal opens
The button is visible to staff — see who counts as staff.
Step-by-Step
1. Contract Title (required)
Enter the contract name. It's the headline shown to recipients.
2. Contract PDF (required)
Upload the PDF the contract will use. Two ways:
- Upload from your computer
- Pick from the media library — re-use an existing PDF
The PDF becomes the canvas for field placement.
3. Default Message
Optional message to include in the email when the contract is sent. Plain text — appears above the "View Contract" button in the recipient's notification email.
4. Visibility
Pick one:
- Shared with client (default) — people at the recipient's client company can view the contract (view-only unless they're an assigned signer)
- Private to signer — only the assigned signers (and staff) can view
See Visibility Setting below for the detailed implications.
5. Save as Template
Toggle. If on, the contract is saved as a template. Templates:
- Show on the Templates tab of the Contracts page
- Can be sent to many people, each of whom signs their own copy (see Sending Contracts)
- Aren't sent when created
If off, the contract is a one-shot — you assign signers and send it directly.
6. Save
Click Create. ClientCove creates the contract with status Draft and saves the PDF. You're now ready to place fields.
PDF Field Placement
This is the core of the contract editor — the visual tool for declaring where signers sign, initial, and fill in details on the PDF.
Opening the placement tool
From the contract, click Configure Signature Fields. The fullscreen placement tool opens, showing your PDF with a toolbar.
The toolbar
| Control | Purpose |
|---|---|
| Signature | Add a signature field at the next click |
| Initial | Add an initial field |
| Name | Add a name field |
| Date | Add a signing-date field |
| Text | Add a text answer field — you'll be asked for its label |
| Checkbox | Add an acknowledgment checkbox — you'll be asked what the signer is acknowledging |
| Variable | Pick a value the portal fills in — client name, signer email and so on (see Variables) |
| Delete | Remove the selected field (Del key works too) |
| Page selector | Jump between PDF pages |
| Zoom out / Zoom in | Adjust zoom — percentage shown between |
| Save | Save the field placement |
Adding a field
- Click the field type button (for Variable, pick the value from its menu)
- Click on the PDF where you want the field to appear
- The field appears as a sized rectangle
- For Text and Checkbox fields, enter the label the signer will see — for example "Job title" or "I have read the confidentiality terms"
- Drag to reposition, or use arrow keys for fine adjustment
- Drag the corner handles to resize
Multi-page contracts
Use the page selector to navigate. Each field belongs to a specific page.
Saving
Click Save in the toolbar. You can re-open the placement tool any time to add, remove, or move fields — until the contract has been signed.
Field Types
| Type | What the signer does | What ends up on the signed PDF |
|---|---|---|
| Signature | Draws their signature | The drawn signature, scaled to fit the field |
| Initial | Draws their initials | The initials in the field |
| Name | Types their name | Their name in the field |
| Date | Nothing — it's filled in automatically | The signing date, set by the server. The signer can't change it |
| Text | Types an answer to the label you set (for example, a job title) | Their answer in the field |
| Checkbox | Ticks an acknowledgment (for example, "I have read the confidentiality terms") | A tick in the box |
| Variable | Nothing — the portal fills it in and the signer sees it | The value from the portal's records at the moment of signing |
Whatever the signer entered in text and checkbox fields also appears on the signing certificate.
Variables
A Variable field shows a value the portal already knows, so you don't have to type it into each contract. Add one from the Variable menu in the placement toolbar, then click the PDF where it should appear.
- Values are filled in at signing, from the portal's own records. The signer sees them on the signing page but can't change them, and the signed PDF carries the same values.
- On a template, each signer gets their own values — their name, their company, the date it was sent to them.
- A variable with nothing on file is left blank. Variable fields are never required, so a blank one never stops anyone signing.
- Every variable also works in the message sent with a contract: write its placeholder, for example
{{client_name}}, and each recipient's email gets their own value. See Default Message.
At a glance
| Variable | Placeholder | Example |
|---|---|---|
| Signer name | {{signer_name}} | Jo Smith |
| Signer email | {{signer_email}} | jo@acme.com |
| Signer phone | {{signer_phone}} | (555) 010-0100 |
| Client company name | {{client_name}} | Acme Co |
| Client billing address | {{client_address}} | 100 Main St, Springfield, IL, 62701, United States |
| Contract title | {{contract_title}} | Master Services Agreement |
| Contract number | {{contract_number}} | 202607860 |
| Date sent | {{sent_date}} | October 14, 2026 |
| Sent by (name) | {{sender_name}} | Sam Rivera |
| Sent by (email) | {{sender_email}} | sam@youragency.com |
| Your company name | {{agency_name}} | Northwind Studio |
Signer name
{{signer_name}} — the name on the signer's portal profile. Always filled in.
Signer email
{{signer_email}} — the email address on the signer's account. This is the same address their signing code is sent to. Always filled in.
Signer phone
{{signer_phone}} — the phone number on the signer's profile. Blank when they haven't added one.
Client company name
{{client_name}} — the client company the signer is signing for. ClientCove picks it in this order:
- The client you chose for this person when you sent the contract
- Otherwise, the client set on the contract
- Otherwise, the signer's company, if they belong to exactly one
Blank when none of these applies — for example an individual who doesn't belong to any client company. The same company appears in the "Acting as an agent of" line under the signature.
Client billing address
{{client_address}} — the address marked as the billing address on that client's profile, on one line: street, city, state or province, postal code, country. Blank when the client has no billing address, or when there's no client company (see above).
Contract title
{{contract_title}} — the contract's title as you entered it when creating the contract. Always filled in.
Contract number
{{contract_number}} — the contract's number, the same one in its web address (/contract/doc-202607860/). Always filled in.
Date sent
{{sent_date}} — when the contract was sent, in your site's date format. On a template it's when it was sent to this signer, so each person sees their own date. If the contract hasn't been sent yet (for example in a message being written), it's today's date.
Sent by (name)
{{sender_name}} — who sent the contract. On a template it's the person who sent it to this signer; on a one-off contract it's the person who created it.
Sent by (email)
{{sender_email}} — that person's email address.
Your company name
{{agency_name}} — your portal's name, the site title shown across your portal. Always filled in.
Required & Optional Fields
- Signature, Initial, and Name fields are always required. Date and Variable fields are filled in for the signer.
- Text and Checkbox fields are required by default. To make one optional, double-click the field in the placement tool — double-click again to make it required.
- A contract can't be signed until every required field is complete. The signing page counts the required fields as the signer completes them, and won't let them continue until all are done — and the server refuses a signing with a required field missing.
Visibility Setting
The Visibility setting determines who can VIEW the contract (separate from who can sign it):
Shared with client (default)
- People at the recipient's client company can view the contract
- Company owners can download the company's signed copies
- Only assigned signers can sign
- Useful for transparency — a client manager can see the contract their colleague is signing
Private to signer
- Only the assigned signers can view and download the contract
- No one else from the client sees it — not even the company owner
- Useful for confidential agreements (employment contracts, NDAs with specific individuals)
Staff can always view every contract. Your own agency's internal client is never treated as a shared company — contracts sent to it stay with their signers.
Default Message
The optional message included in the recipient's email notification. Plain text, appears in the email body above the "View Contract" link.
Use it for:
- Context ("Here's the MSA we discussed on Monday")
- Deadlines ("Please sign by Friday")
- Instructions ("Reply to this email if anything looks off")
The Send modal lets you override this message per send, so the default is just the fallback.
Both messages can include variables: write the name in double curly braces, for example {{signer_name}} or {{client_name}}, and each recipient's email gets their own values. A name that isn't a variable is left as typed.
This works whether you send a template or a one-off contract. The message also appears in the portal notification sent with the contract. When that notification goes to several signers at once, the signer-specific values ({{signer_name}}, {{signer_email}}, {{signer_phone}}) are left blank there. Every signer's email still gets their own.
Content Access Grants
A contract can unlock other content in the portal once signed.
For example: a signed NDA might grant the client access to a private resource library; a signed MSA might unlock specific project templates.
Configure grants by selecting:
- The content (resources, project templates, etc.) the contract unlocks
- Whether the grant is per-signer or per-client
Grants apply automatically when the contract is signed in the portal.
Templates
The Templates tab on the Contracts page lists every template. For each one you can see:
- N signed — how many people have signed their copy, with a link to every signed copy
- N awaiting — how many copies have been sent but not signed yet
Each template row's main action is Send (see Send from Template). The ⋯ menu has New contract from template, Duplicate template, Edit, and Delete.
One copy per signer
When you send a template, each signer gets their own copy to sign — a "submission". One person signing never affects anyone else's copy. Each copy records which client it belongs to (or that it's for an individual with no company), so it shows up on the right client page.
On the client page
The client page's Contracts tab shows that client's templates and the signed copies made for the client's people, alongside the client's one-shot contracts.
Duplicate, Save as Template & New from Template
All three live in the row's ⋯ menu and keep the PDF, placed fields, and settings:
| Action | Available on | What it creates |
|---|---|---|
| Duplicate | Unsigned contracts and templates | A new draft copy of the same kind |
| Save as template | Contracts | A reusable template built from the contract's PDF, placed fields, and message. The original is unchanged |
| New contract from template | Templates | A new draft contract with the same PDF and placed fields, opened for you to pick the client and signers |
Editing a Contract
From the Contracts list, open the row's ⋯ menu and choose Edit on any unsigned contract (staff only).
The edit screen exposes:
- Title
- PDF (replace the file if needed)
- Default message
- Visibility
- Save as Template toggle
- Signers
- Fields (re-open the placement tool)
- Content Access Grants
Editing a sent contract is restricted. Once a contract has been sent and viewed by a recipient, most fields are locked to preserve the integrity of the signing record. To make changes, void the existing contract and send a corrected copy (Duplicate it, edit, and send).
Once a contract has been signed, it becomes read-only. The signed PDF, audit trail, and verification records can't be changed — and because each signing is sealed, any later change would be detectable.