Creating a Contract Template
A contract template is the text you send for signature, plus the fillable elements placed on top of the page. You write it in an A4 sheet editor: what you see on screen is what the client receives as a PDF, line for line.
This feature is available on the Professional plan and above. If you don’t see it in the app, check your plan in Subscription Plans.
Who can create a template
Admins and members with the “Can edit contract templates” permission. Without it the Templates tab is not reachable and the page opens on Sent.
How to create one
From the sidebar, Sales group, Contracts. Click New template.
The question is “How do you want to create the template?”: Write the text (the page editor described here) or Upload a PDF (see Making a Template from a PDF). The choice cannot be changed later: a template has one source only.
Above the sheet there are six sections: Name and services, Sending email, Page after signing, Email after signing, Webhooks after signing and Options. The first two are enough for a first send: you fill the others in when you need them.
On the sheet, with the formatting bar. Pages are added on their own as you write.
From the Add element panel on the left. At least one Client signature is required.
PDF preview opens exactly the document that will go out. Then Save.
Name and services
- Template name — required. It is what you see in the list and what you pick when sending.
- Linked services — without at least one service the template cannot be sent. The same service can have several templates: you pick which one to use when you send it.
- Markets — only shows if your agency works across several markets. No market selected = the template applies to every market. If you pick some, when sending you only see the templates of the lead’s or client’s market (the dialog tells you how many it hid).
Sending email
Subject and Message text of the email the signer receives. You can use the variables listed under the fields: customer_name (first name), customer_full_name (full name), customer_last_name, service_name, agency_name, closer_name, signing_link and link_expiry_date. If the text does not contain the signing_link variable, the link is added at the end: the email cannot go out without it.
The Sender select decides the name the client reads in the “From:” field: Agency name (the historic behaviour) or Whoever sends the contract, which shows the profile name of the person sending it — and if a colleague resends it with “Send again”, the sender becomes theirs. Either way, replies still reach whoever sent it.
The Signing link validity (days) field sets for how many days after sending the link still allows signing: empty means 30, otherwise 1 to 365. It applies to contracts sent from then on with the template (a document already sent keeps the expiry it was born with) and the link_expiry_date email variable shows the date.
The page and the email after signing
The Page after signing and Email after signing sections decide what the client sees and receives the moment they sign this template. The page is built from text blocks plus a single chat button (which only appears on the Enterprise plan and with the client’s chat link active); the email is the one with the PDF attached, its subject and text already pre-filled with the default.
With no blocks the client sees the standard “Contract signed” page with the Download button; and if you leave the email text as it is, the signer receives it in their own language. The variables include payment_instructions, which carries the payment links named inside the service instructions. The detail is in The Post-Signature Page and Email.
Notifying an external system on signing
The Webhooks after signing section makes something happen outside SalesControl when someone signs this template: the system you point at receives the contract data plus the fields you choose. The template has to be saved first before you can add a webhook to it. See Outbound Webhooks: Notify an External System on Signing.
GoHighLevel tags on contract events
The GHL tags on events section, right after webhooks, adds or removes a tag on the lead’s or client’s GoHighLevel contact when a contract from this template is sent, opened, read, signed, expires, is cancelled or abandoned. It also holds the Reading threshold (seconds) that decides when a contract counts as read. This section too asks you to save the template first. See GHL Tags on Contract Events.
Options
- Editable when sending — whoever sends the contract can adjust the text for that one client, without changing the template. The “Can edit the contract when sending” permission is still required.
- This contract includes a trial period — the client created on signature starts in trial, and the first instalment moves 30 days later. The tick is declared by the template, and the decision is frozen when the contract is sent: changing it tomorrow does not touch contracts already out.
The sheet: text and images
The bar above the sheet gives you Bold, Italic, Underline, Heading, Subheading, bullet and numbered lists, Insert link and the four alignments. Every page carries its number at the bottom (“Page 1 of 3”).
Images (your logo included) live inside the text: you insert them with the Image button at the cursor, and align, resize, replace or remove them from the handles. PNG, JPEG or WebP, 2 MB per file, at most 20 images per contract. If the text moves, the image moves with it.
The fillable elements
They are placed from the Add element panel and dragged anywhere on the page, even on top of the text. Unlike images they do not follow the text: they stay where you put them.
| Element | What it is for |
|---|---|
| Text field | A written answer from the signer (VAT number, address, contact person…). It has a label, a placeholder and the Required tick. |
| Date | A date picked by the signer. You can set the Date format (DD/MM/YYYY, DD-MM-YYYY, YYYY-MM-DD) and the Allowed dates: any date, past only, future only, today only. |
| Checkbox | A yes/no choice. It can join a Group with a rule (see below). |
| Contract start date | The date the contract and the service start from. One per template, always required. |
| Payment choice | The signer picks between instalments and one-off. One per contract, always required. |
| Client signature | Where the signer signs. At least one is required, and there can be more than one. |
| Agency signature | Where the signature you uploaded in Settings is stamped. This one can be repeated too. |
A selected element shows the Properties panel on the right (label, placeholder, format, group, size in millimetres, Duplicate and Delete). The caps are 60 boxes and 60 fillable fields per template.
Multiple signatures and same-name fields
The client draws the signature once: if the template has three “Client signature” boxes (at the end, on the privacy clause, on the special conditions), the same signature is stamped in all three. The same goes for the agency signature.
In the same way, two fields (or two dates) with the same label are the same question: the signer sees it once and the answer is printed in both places. Checkboxes are the exception: each one stays a choice of its own.
The start date: you write it, or you leave it to the client
If the template contains Contract start date, when sending you get the Start date field:
- You fill it in → the date is printed into the document and the box disappears: the client cannot touch it.
- You leave it empty → the box stays and the signer fills it in like any other date. The hint under the field says so: “Leave empty: the client fills it in when signing”.
The «Payment choice» box
Put it in the template and the signer decides how to pay, between the two options of the service: instalments (monthly price × duration) or one-off (the upfront price). The number of instalments is not a choice: it is the service duration. There is one box per contract and it is always required: here you only choose the label.
The rectangle you place is not decoration: it marks where the choice will be printed in the PDF, so stretch it across the whole line or the option text will not fit. And everything else follows from the choice: payment type and contract value follow the selected option, and from there come the instalments, the client record and the payment instructions they receive.
When sending, the dialog shows the two prices taken from the service — instalments = monthly price × duration, one-off = upfront price — and whoever has the “Edit prices” permission can change them for that contract. Select the box on the sheet and the Properties panel repeats all of this under How it works.
A “Instalments” checkbox and a “One-off” checkbox look like they do the same job, but they are not linked to the choice: the client ticks them and the contract keeps the terms you sent. Only this box makes the real choice.
An option with no price simply does not appear. If the service has neither a monthly nor an upfront price, the send stops and points you to the Services page to set one.
Checkbox groups: «pick one»
To make the signer choose between alternatives, give several checkboxes the same Group (any name) and set the Group rule: Pick at least, Pick at most or Pick exactly N. The signer sees the group’s checkboxes together, under the caption of their rule, even if they sit in different places on the sheet. Inside a group the individual “Required” tick does not apply: the rule wins.
Warnings worth taking seriously
- “The text has changed: check where the boxes sit” — you edited the text and the lines moved, the elements did not. Scroll the pages and put them back.
- “A block is longer than one page” — a paragraph or a table does not fit: in the PDF the extra lines move to the next page. Split it.
- “Some text falls past the last page” in the preview — the contract would be incomplete. With this warning sending is blocked: shorten the text.
- “The template is empty” or “The client signature box is missing” — saving does not go through until you fix them.
Duplicating and deleting
Duplicate creates “Copy of <name>” with every setting of the original: text and elements, trial, editable when sending, sending email and sender, post-signature page, post-signature email, markets, linked services and the post-signature webhooks (same address, same headers and same secret, with the delivery log reset). All that is left is renaming it. If the webhooks cannot be copied a warning says so: the template is created anyway and you add them back from the “Webhooks after signature” section. The GHL tags on events rules are copied too, but turned off: you turn them on when the copy is ready. Delete asks for confirmation and does not touch contracts already sent: those stay as they were.