Creating Custom Templates
While Otesse ships with 77 pre-built templates, administrators can create custom templates to capture any document type specific to their business. Custom templates support the same field types, auto-fill rules, renewal schedules, and blocking behavior as built-in templates.
When to Create a Custom Template
Custom templates are appropriate when you need to collect information not covered by the built-in library. Common use cases include:
- Company-specific agreements — Non-compete clauses, intellectual property assignments, or referral bonus agreements unique to your organization
- Client-required documents — Some commercial clients require contractors to sign additional liability waivers or insurance acknowledgments before entering their properties
- Regional compliance — Local regulations may require documents beyond the federal and state forms included in the default library
- Internal processes — Equipment training logs, territory assignment acknowledgments, or customer feedback release forms
Template Configuration
Every template is defined by a set of core properties that control how it behaves throughout its lifecycle:
Core Properties
| Property | Description | Options |
|---|---|---|
| Name | Display name shown to workers and admins | Free text, 1-200 characters |
| Slug | URL-safe identifier, auto-generated from name | Lowercase, hyphenated |
| Category | Top-level grouping | Employment, Policy, or Operational |
| Subcategory | Secondary grouping within a category | Depends on category selection |
| Description | Detailed explanation shown in the template preview drawer | Markdown supported |
| Version | Template version number, auto-incremented on updates | Starts at 1 |
Signature & Blocking
| Property | Description | Default |
|---|---|---|
| Requires Signature | Whether the document needs an e-signature to complete | No |
| Is Blocking | Whether expiry prevents job assignment | No |
| Blocking Scope | What types of jobs are blocked | "all" or "driving" |
If you mark a template as blocking, be deliberate about the scope. Use "driving" scope for vehicle-related documents so that workers can still accept non-driving jobs even if the document is expired.
Renewal Configuration
| Property | Description |
|---|---|
| Renewal Type | "none" (one-time), "calendar" (fixed date), or "signature_based" (relative to signing) |
| Renewal Month/Day | For calendar renewal: the month and day the document expires each year |
| Renewal Duration (months) | For signature-based renewal: how many months after signing the document expires |
| Reminder Days Before | Array of day intervals for pre-expiry reminders (e.g., 30, 14, 7, 1) |
| Grace Period Days | Days after expiry before blocking takes effect |
Best Practices for Renewal
- Use calendar renewal for documents tied to regulatory deadlines (tax year, insurance renewal dates, annual policy reviews)
- Use signature-based renewal for certifications that are valid for a fixed period from the date of completion (safety training, background checks)
- Use none for one-time documents that do not expire (equipment checkout, emergency contact forms)
- Set grace period to give workers time to complete renewals without immediate job disruption — 7 to 30 days is typical
- Configure reminders at 30, 14, 7, and 1 day intervals to maximize completion rates
Adding Fields to a Template
Fields define the data points collected on each document. Each field has:
| Property | Description |
|---|---|
| Field Name | Internal identifier (camelCase, used in API) |
| Field Label | Human-readable label shown on the form |
| Field Type | Input type: text, date, number, boolean, signature, address, ssn, bank_account, phone, email, select, textarea |
| Required | Whether the field must be completed before submission |
| Sort Order | Display order on the form |
| Section | Visual grouping (e.g., "Personal Info", "Address", "Signature") |
| Placeholder | Ghost text shown in empty fields |
| Help Text | Explanatory text below the field |
| Auto-Fill Source | Profile data source for pre-population (see Field Configuration & Auto-Fill) |
| Select Options | For select fields: the list of available choices |
Organizing Fields with Sections
Fields can be grouped into sections for visual clarity. For example, a vehicle agreement might have:
- Driver Information — First name, last name, license number
- Vehicle Details — Make, model, year, license plate
- Insurance — Provider, policy number, expiration date
- Acknowledgment — Terms acceptance checkbox, signature, date
Sections appear as labeled groups on the form with clear visual separation. If no section is specified, fields default to the "General" section.
Template Versioning
Templates support versioning to handle updates without affecting existing signed documents:
- Editing a template creates a new version — the old version is preserved
- Completed documents reference the template version at the time of signing, not the latest version
- New instances always use the latest template version
- Renewal instances use the latest template version, even if the expired instance used an older version
This means you can safely add or remove fields, update descriptions, or modify renewal rules without invalidating any previously signed documents.
On this page