Skip to content

Creating Templates

This guide walks you through creating a new template type from scratch.

You’ll need:

  • Access to the Templates folder
  • Microsoft Word (or compatible app) for editing documents
  • A text editor for matter.json (or use any JSON editor)
  1. Open your Templates folder in Finder
  2. Create a new folder with your template name (e.g., “Family Law”)
  3. Inside it, create a Precedents folder for documents
  • DirectoryTemplates/
    • DirectoryFamily Law/
      • DirectoryPrecedents/

Create a file called matter.json in your template folder. This file defines what information to collect.

Here’s a minimal example:

{
"version": "2.0",
"name": "Family Law",
"description": "Family law matters",
"workflow_stages": ["Intake", "Drafting", "Settlement"],
"blocks": [
{
"name": "Client Details",
"workflow_stage": "Intake",
"fields": [
{
"key": "client.full_name",
"label": "Full Name",
"type": "text",
"required": true
},
{
"key": "client.address",
"label": "Address",
"type": "textarea",
"required": true
},
{
"key": "client.phone",
"label": "Phone Number",
"type": "phone"
}
]
},
{
"name": "Matter Details",
"workflow_stage": "Intake",
"fields": [
{
"key": "matter.file_reference",
"label": "File Reference",
"type": "text"
},
{
"key": "matter.re_line",
"label": "Re: Line",
"type": "text",
"required": true,
"help_text": "Brief description for folder naming"
}
]
}
]
}

Add a folders section to create subfolders when a matter is created. If folders is omitted, the user’s configured default folder list (set in Preferences) is used.

{
"version": "2.0",
"name": "Family Law",
"folders": [
"Correspondence/Incoming",
"Correspondence/Outgoing",
"Documents",
"Court Documents",
"Financial"
],
"blocks": [
...
]
}

Now create Word documents with placeholders.

Use double curly braces with the block and field name:

{{ client.full_name }}
{{ client.address }}
{{ matter.file_reference }}
[Your Firm Letterhead]
{{ client.full_name }}
{{ client.address }}
Dear {{ client.full_name }},
Re: {{ matter.re_line }}
...
Yours faithfully,

Save your Word documents in the Precedents folder:

  • DirectoryFamily Law/
    • matter.json
    • DirectoryPrecedents/
      • DirectoryLetters/
        • Initial Client Letter.docx
        • Costs Agreement.docx
      • DirectoryCourt/
        • Application.docx
  1. Open Certum Draft and ensure your Templates folder is set in Settings → Templates
  2. Create a new matter from the New Matter wizard and pick your template — confirm the fields and workflow stages appear correctly
  3. Fill the required fields and generate a test document to check placeholders resolve
  4. If the template doesn’t appear, restart Certum Draft to force a fresh template scan

Most templates use similar client fields:

{
"name": "Client Details",
"workflow_stage": "Intake",
"fields": [
{
"key": "client.title",
"label": "Title",
"type": "select",
"options": ["Mr", "Mrs", "Ms", "Dr"]
},
{
"key": "client.given_names",
"label": "Given Names",
"type": "text",
"required": true
},
{
"key": "client.surname",
"label": "Surname",
"type": "text",
"required": true
},
{
"key": "client.full_name",
"label": "Full Name",
"type": "text",
"computed_from": "{client.title} {client.given_names} {client.surname}"
},
{
"key": "client.street_address",
"label": "Street Address",
"type": "text",
"required": true
},
{
"key": "client.suburb",
"label": "Suburb",
"type": "text",
"required": true
},
{
"key": "client.state",
"label": "State",
"type": "select",
"options": ["NSW", "VIC", "QLD", "SA", "WA", "TAS", "NT", "ACT"],
"required": true,
"default_value": "NSW"
},
{
"key": "client.postcode",
"label": "Postcode",
"type": "text",
"required": true
}
]
}

For dates, use the date type:

{
"key": "matter.settlement_date",
"label": "Settlement Date",
"type": "date",
"required": true
}

In documents, you can format dates with the date filter:

Settlement is scheduled for {{ matter.settlement_date | date("%-d %B %Y") }}

For money amounts:

{
"key": "matter.purchase_price",
"label": "Purchase Price",
"type": "currency",
"required": true
}
  • Check that matter.json exists and is valid JSON
  • Ensure the file is named exactly matter.json
  • Try Preferences → Templates → Reload Templates
  • The field name in the document doesn’t match matter.json
  • Check for typos and case sensitivity
  • Ensure the field is defined in the correct block
  • Verify the field is in a blocks section
  • Check that the JSON syntax is correct (no missing commas or brackets)
  • Use a JSON validator to check for errors

Beyond the minimal example, matter.json supports:

  • overview — custom cards for the Matter Workspace Overview tab (each card has title, icon (SF Symbol), and fields with label/key/copyable).
  • hidden_fields — computed/helper fields not shown in the form but available in document templates.
  • scales — named fee schedules used by computed_from: "scale(field, scale_name)" for tiered calculations (e.g. NSW transfer duty).
  • calendar — critical-dates rules with anchor and derived dates plus notification schedules.
  • visible_when on blocks and fields — conditional visibility based on form data.
  • quick_entry on fields — surface the essential fields in Quick Entry mode for fast data capture.

See: