Table of Contents
How do I create a document template?
How do I create a document template from scratch?
How do I create custom text blocks?
Add signature variables to a document template
Add signing date and location variables
Inline formatting
How do I add variables that need to be manually edited?
How do I upload a document template?
How do I edit an uploaded document template?
How do I assign a document to users?
How do I view all documents created with a template?
Why does my document look slightly different?
How do I create a document template?
As a Super-admin, you can create a template for a document (such as work contracts, offer letters, letters of recommendation, etc.) on the Leapsome platform. The template can be used to create user documents based on user-specific information.
To create a new template, navigate to Settings > Documents > Templates and bulk-creation and click the New template button. A dropdown will appear with two options:
- Upload .docx file – Upload a template you created in an external tool such as Google Docs or Microsoft Word.
- Create from scratch – Build your template directly in Leapsome's in-app editor, without needing an external tool.
Templates must use the variables available in Leapsome. The variables include:
- Employee attributes that are in Leapsome
- Custom attributes in Leapsome
- Open text fields that are inputted while creating a document: this gives admins the option to input unique user-specific information (that is not represented by one of the attributes in Leapsome) while creating the document.
- E-signature variables: Template creators can add signature requirements in specific areas of the document.
In short, you're setting up a template with placeholders for user variables and signatures, which get replaced with the real information and signatures once the document is generated and sent to an employee.
Please note: Capitalization matters; variables are in all lowercase by default (e.g. {{level}}). If you add a variable to your document template capitalized, Leapsome won't recognize it (e.g. {{Level}} won't work).
You can find a list of variables in Settings > Documents > Variables & custom text blocks for bulk-creation. The page includes a search bar to help you quickly find specific variables or text blocks.
How do I create a document template from scratch?
You can build document templates directly in Leapsome's in-app editor; no external tool needed.
To get started, navigate to Settings > Documents > Templates and bulk-creation, click New template, and select Create from scratch. This opens a full-page rich-text editor with an editable template name field in the sticky header and a Save button. An unsaved changes warning will appear if you try to navigate away before saving.
Click here to watch how to use Leapsome's in-app editor.
Editor capabilities
The in-app editor supports:
- Paragraph text and headings (H1–H3)
- Bold, italic, and underline formatting
- Ordered and unordered lists
- Tables
- Horizontal rules
- Text alignment
- Image insertion
- Multi-column layout
- Font size, font color, and font type (limited to server-supported fonts)
Additional formatting actions are available via the overflow menu in the toolbar.
Using the Variables panel
The Variables panel is accessible from the editor toolbar. It shows a searchable list of all Leapsome system variables, including:
- Employee variables
- Recruiting variables
- Signature variables
- Document creation date
- Custom text blocks
Click any variable to insert its token (e.g. {{first-name}}) at your cursor position. Inserted variables appear with lightweight purple highlighting in the editor. Please note that Employee and Recruiting variables cannot be mixed in the same document. If you plan to create a document template for use in Leapsome Recruiting, please exclusively use recruiting variables. For all other templates, please exclusively use Employee variables.
Saving and configuring your template
After clicking Save, the same configuration screen as the upload path opens; where you can set the template name, document category, language, and date format. The saved template will appear in your templates list alongside any uploaded .docx templates, with the same available actions (Edit template settings, Duplicate, Delete, Create documents for users).
To download an in-app template as a .docx file, click on the three-dot menu next to the 'Create documents for users' button.
Please note:
- The editor defaults to A4 format but also supports US Letter.
- We offer a limited set of fonts to create your templates with
- The editor supports right-to-left languages and non-Latin scripts (e.g. Korean, Chinese).
- Known limitation: Pasting rich text from a desktop app (e.g. Microsoft Word on Mac) may paste content as an image instead of text. To avoid this, paste as unformatted text or use the upload path instead.
How do I create custom text blocks?
Document templates often include custom text blocks that can vary for each document. As an Admin, you can create these blocks and include (and reuse) them alongside the variables in your templates. It's important to note that custom blocks are different from variables. Custom blocks are reusable, yet static text blocks; meanwhile, variables will depend on the data set found in the employee's profile.
To create a custom text block, navigate to Settings > Documents > Variables & custom text blocks for bulk-creation and at the bottom of the page click on Create a new text block.
Give your text block a distinctive name and a description, followed by what the text block(s) themselves will be made of: the text block's name and its value (text).
To include a text block in a template, the same logic as including variables applies. Simply copy the text block's variable and paste it in the document.
Please note: When adding variables to custom text blocks, you must use the editor's + Variables button to insert them (it's at the bottom of the Employee variables list). If you manually type a variable (e.g. {{first-name}}) directly into the text body, it will not be replaced and will be printed as-is in your document.
Add signature variables to a document template
If you would like there to be an area where certain parties can sign the document, then variables would need to be added to the document template before upload. When adding these variables for signatures, add [[WhoShouldSignHere]]. You can add multiple signature variables within the same line, if you would like different assignees (e.g. candidate and manager). Be sure to provide enough space between the signer variables within the template uploaded. For example, if you want a candidate to have a line to sign in the document, you could add [[Signer]] or [[Candidate]] to the document template before uploading to add a line for that user to sign on. Once you would like to create a document for a user, you would need to filter for that user(s) in the signature line, using either the dynamic filter (Assignee/assignee's manager) or the user specifically, in order to generate the document for that user.
Within the document the assigned user receives to sign, the user would be able to choose the type of signature they would like to provide, whether it be a text or a custom signature, when they click on the designated signature area to sign.
Please note that there should not be spaces within the signature variable.
Add signing date and location variables
Many document signature requirements include the necessity to include the date and/or location that the document is relevant for. In this case, you can add variables to the template which would include an allotted space for the signer to enter this information.
Please note: The date and location variables can only be added if a signature variable is already included in the document.
Signing date variables
You have the option to include variables to pull the date that the document was signed automatically, or a line that gives the signer the option to include a custom date.
The following signature date variables would need to be included in the document in order to accommodate these two types of date signatures.
[[Signer::date-signed]] → This variable would pull the date that the signature was added automatically based on when the signer signed the document.
[[Signer::date-custom]] → This variable would include a text field for the signer to write a custom date in.
Signing location variables
If you would like to include a line in the document that prompts the signer to include their location, the following variable can be used:
[[Signer::location]] → This variable would include a text field for the signer to write the location/city they are signing from.
Please note: "Signer" in the example above is a placeholder for who will be signing in this location. If it will be HR or the candidate, you can use [[HR::date-signed]] or [[Candidate::date-signed]] etc. Each signing variable can be assigned to the relevant user when generating documents.
Inline formatting
Inline formatting allows you to customize the date format and language for individual date variables in your document templates, overriding the default settings. This is particularly useful when you have multilingual documents or need different date formats within the same template (e.g., a work contract with both English and German versions on one page).
To use inline formatting, add the format and language specifications directly to the date variable using the pipe symbol (|). The syntax is: {{variable-name|f=FORMAT|l=LANGUAGE}}
For example:
- If your template's default language is English and default date format is MM/DD/YYYY, {{start-date}} will display as "10/14/2025"
- With inline formatting {{start-date|f=DD.MM.YYYY|l=de}}, the same date will display as "14.10.2025"
Date format options:
- DD MM YYYY = 14 10 2025 (2 Ms = number)
- DD MMM YYYY = 14 Oct 2025 (3 Ms = shorthand)
- DD MMMM YYYY = 14 October 2025 (4 Ms = full month name)
Language specifications: The language parameter (l=) is only relevant when using textual month formats (MMM or MMMM). For example:
- {{start-date|f=DD MMMM YYYY|l=de}} → 16 Oktober 2025
- {{start-date|f=DD MMMM YYYY|l=fr}} → 16 octobre 2025
You can use the format (f=) and language (l=) parameters independently. If you only want to change the format but keep the default language, use only f=. If you only want to change the language but keep the default format, use only l=.
Please note: This is only relevant for date variables.
How do I add variables that need to be manually edited?
There may be the need for admins to add attributes that cannot be pulled directly from Leapsome, so they would need to be manually edited for each document use. In this case, the admin can add an attribute(s) to the document template to be manually edited in the downloaded document. To add these attributes, enter an enclosed variable such as {{acceptance-deadline}}. Any variables added that would need manual edits would need to be entered accordingly, with a hyphen (-) in lieu of spaces.
For example:
{{acceptance-deadline}}
Please note that if you plan to use your template in an automated workflow, ideally do not add such variables, since they may block the workflow.
How do I upload a document template?
To upload a template, navigate to Settings > Documents > Templates and bulk-creation, click New template, and select Upload .docx file.
Once the template document is complete, export it to the format .docx and use that file to upload to the Leapsome platform.
Once a template is uploaded, you can rename the document, select a language, assign a date format, and assign the document a category. You can then generate a document for one or multiple users with this template. The system will use information from the user's profile to input the variables automatically. You can preview the variables table with all user information and, once you're ready, click Generate document to create documents for the selected users.
For example: You can create a template for a work contract, which can be used to generate new work contract documents for users with their latest information (e.g., after promotions, salary changes, department changes, etc.)
Please note:
- The language drop-down does not translate the template; it is used to organize the templates and use filters to quickly find relevant templates for the languages in which the template was created.
- The date format drop-down can be used to ensure the correct date format is utilized in generated documents that include date variables.
- Uploaded templates can be edited directly in Leapsome's in-app editor; no need to re-upload a new file. See How do I edit an uploaded document template? below.
How do I edit an uploaded document template?
You can open and edit uploaded .docx templates directly in Leapsome's in-app editor.
There are two ways to access the editor:
- From the templates list: click … next to the template and select Edit template content
- From the template settings page: click the Edit template content button
Previewing your template
Use the Preview PDF button at any time to see how your document will look; without saving first. User variables will appear as raw tokens and signature fields as placeholders in the preview.
Note: A tooltip next to the Preview button explains that the final layout may differ slightly from what you'd see in Microsoft Word or Google Docs due to differences in how each tool renders fonts and spacing. See Why does my document look slightly different? for more information.
Saving your changes
The Save button only appears once changes have been made. After the first in-app edit of an uploaded template, the in-app version becomes the source of truth; the original .docx file will no longer be used.
Editing safeguards
- Active document assignments: Templates with a document assignment currently in progress cannot be edited. The editor will open in read-only mode with a message explaining why.
- Workflows with signature tokens: If your template is used in a workflow and you add new signature tokens, a prompt will ask you to assign a default signatory before saving.
How do I assign a document to users?
As an admin, you can assign who to generate documents for. By utilizing the filter function, you can filter for respective users to be assigned the generated document. Once the document is generated, it would appear under "Documents" in the user profiles of the selected users.
To do so, go to Settings > Documents > Templates and bulk-creation > Actions > Create documents for users, select the relevant template, then select the relevant users through the filter function.
The document needing a signature will open in a new tab for users to sign it with ease.
How do I view all documents created with a template?
If you would like to see all documents created with a template, navigate to Settings > Documents > Templates and bulk-creation and click on the respective template. This gives you an overview of all documents created with this template, including the assignee, signatories (if applicable), status, created by, and time of creation.
In this view, you can also:
- Send reminders to the signatories
- Void the document
- Void and immediately recreate a new version of the document in a single flow; useful when a correction or update is needed on a pending-signature document
For full details on voiding and recreating documents, see Voiding documents in the signature process.
Why does my document look slightly different?
It can happen that your document looks different across different tools, or in different stages of the process of sending out documents with Leapsome.
There are a few reasons for this, as laid out below. You can account for this by using our built-in preview functionality, which will show while editing the template or preparing the assignment for an employee, what the documents will look like.
That said, some visual differences between the template, the preview, and the final signed document are expected. These are known limitations, not bugs:
-
The template looks different in Leapsome than it did in Word or Google Docs
Microsoft Word, Google Docs, and Leapsome each render fonts, spacing, and layout using their own rules. Small differences in line height or margins are an industry-wide limitation and are not specific to Leapsome. -
The preview looks slightly different from the final signed document
Leapsome's document preview shows where signatures will be placed based on our best estimate of Dropbox Sign's rendering. Because Dropbox Sign handles the final document processing, small shifts between the preview and the signed output can occur. -
Text or signatures shift when variables are filled in
Variables are replaced with real values when a document is generated. If a replacement value is significantly shorter or longer than expected, nearby text may reflow, shifting the position of signature fields. This is expected behavior. -
The font looks slightly different in the final document
Leapsome supports a defined set of fonts. If your template uses an unsupported font, Leapsome replaces it with a close match. The replacement font may have slightly different character spacing or line height, which can cause small shifts in text and signature positions. You will see the replacement font when triggering a PDF preview. -
A signature appears closer to the page border than expected
To prevent signatures from being cut off, Leapsome automatically moves any signature field that would exceed the page boundary back within the page. In rare cases — typically when a signature token is placed very close to the page edge — this may cause it to overlap nearby text. Avoid placing signature tokens directly at the bottom or side margins. -
If you previously adjusted your template to work around signature misalignment
In September 2026 we fixed a problem that would move signatures further down to the bottom of the page on all documents that are not in US Letter format. Before we could provide a fix, you may have accounted for this by actively moving your signature variables further up. If you made such changes, review your templates and move the signature tokens back to their intended positions. You can do this directly in Leapsome using the in-app template editor.