> For the complete documentation index, see [llms.txt](https://docs.monolithforensics.com/monolith/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.monolithforensics.com/monolith/using-monolith/case-management/cases/case-reports/custom-report-templates/template-variables.md).

# Template Variables

Reference the Monolith variables available for Custom Report Templates, including Case, Evidence, Chain of Custody, Acquisition, Note, organization, and user data.

Template Variables are the data fields available when building **Custom Report Templates**.

Use these variables inside a Microsoft Word `.docx` template to populate information from Monolith when a Case Report is generated.

This page is a reference for the supported variables and data objects available to report templates. For instructions on building templates, loops, tables, and conditional logic, see [**Custom Report Templates**](/monolith/using-monolith/case-management/cases/case-reports/custom-report-templates.md).

### Using This Reference

Template data generally falls into two categories:

* **Single-value objects**, such as Case, organization, user, or report information
* **Lists of records**, such as Evidence Items, Acquisitions, Notes, or Chain of Custody entries

Single values can usually be inserted directly into a template:

```
{{ case.case_number }}
```

Lists must generally be used inside a loop:

```
{% for item in evidence %}
{{ item.evidence_number }}
{% endfor %}
```

Use the tables below to identify the variable name, data type, and information available to your template.

{% hint style="info" %}
Start with a small number of variables and generate a test report before building more complex loops, tables, or conditional logic.
{% endhint %}

### Case Report Variables

Case Report Variables contain information entered specifically for the report being generated, such as the Report Summary, Analysis, and Report Name.

These values come from the report workflow rather than directly from the underlying Case record.

{% hint style="info" %}
Currently, the summary and analysis variables do not include any rich text formatting like bold, bullets, or underline.  Pasted images are also not included in the template when generated.
{% endhint %}

<table><thead><tr><th width="446">Variable Name</th><th>Description</th></tr></thead><tbody><tr><td><code>{{ report.summary }}</code></td><td>This is the report summary data that was entered into the summary tab of a Monolith case report.</td></tr><tr><td><code>{{ report.analysis }}</code></td><td>This is the analysis data that was entered into the analysis tab of a Monolith case report.</td></tr><tr><td><code>{{ report.name }}</code></td><td>This is the name of your report instance.</td></tr></tbody></table>

### Organization Variables

Organization Variables reference information configured for your organization in Monolith.

These values are useful for report headers, organization details, contact information, and other reusable organization-level content.

Organization information is managed under **Settings >** [**Organization Info**](/monolith/using-monolith/settings/organization-info.md).

| Variable Name       | Description                                    |
| ------------------- | ---------------------------------------------- |
| `{{ org.name }}`    | Name of your agency, company, or organization. |
| `{{ org.address }}` | Street address of organization.                |
| `{{ org.city }}`    | City location of your organization.            |
| `{{ org.state }}`   | State or province of your organization         |
| `{{ org.zipcode }}` | Postal code of your organization               |
| `{{ org.email }}`   | Email set for your organization.               |
| `{{ org.website }}` | Website URL set for your organization.         |

### Current User Variables

Current User Variables reference the Monolith user generating the report.

These values can be used to include examiner or report-author information such as the user's name, email address, title, or assigned Office.

<table><thead><tr><th width="296">Variable Name</th><th>Description</th></tr></thead><tbody><tr><td><code>{{ user.first_name }}</code></td><td>First Name of user. (Jane)</td></tr><tr><td><code>{{ user.last_name }}</code></td><td>Last name of user. (Doe)</td></tr><tr><td><code>{{ user.full_name }}</code></td><td>First name and last name combined. (Jane Doe)</td></tr><tr><td><code>{{ user.email }}</code></td><td>User email address.</td></tr><tr><td><code>{{ user.title }}</code></td><td>User title set in Monolith.</td></tr><tr><td><code>{{ user.office }}</code></td><td>Office location that the user is assigned to.</td></tr><tr><td><code>{{ user.user_id  }}</code></td><td>Integer based user id stored by Monolith.</td></tr></tbody></table>

### Case Variables

Case Variables contain information from the Case for which the report is being generated.

These values include identifying information, dates, Status, Type, Progress, Case Lead information, Description, and supported Case Custom Fields.

See [**Cases**](/monolith/using-monolith/case-management/cases.md) for information about the Case record and the metadata available throughout Monolith.

<table><thead><tr><th width="368">Variable Name</th><th width="131">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>{{ case.case_id }}</code></td><td>Number</td><td>Integer based, unique id set by Monolith for the case.</td></tr><tr><td><code>{{ case.uuid }}</code></td><td>String</td><td>String based, unique id set by Monolith for the case.</td></tr><tr><td><code>{{ case.case_number }}</code></td><td>String</td><td>Case number for the case.</td></tr><tr><td><code>{{ case.case_name }}</code></td><td>String</td><td>Case name/reference set for the case.</td></tr><tr><td><code>{{ case.case_open_date }}</code></td><td>Date</td><td>Case open date in the format "YYYY-MM-DD".</td></tr><tr><td><code>{{ case.case_closed_date }}</code></td><td>Date</td><td>Case closed date in the format "YYYY-MM-DD".</td></tr><tr><td><code>{{ case.last_activity_date }}</code></td><td>Date</td><td>Case last activity date in the format "YYYY-MM-DD".</td></tr><tr><td><code>{{ case.case_status }}</code></td><td>String</td><td>Current status of case.</td></tr><tr><td><code>{{ case.case_type }}</code></td><td>String</td><td>Current case type.</td></tr><tr><td><code>{{ case.case_progress }}</code></td><td>String</td><td>Current progress status of case.</td></tr><tr><td><code>{{ case.description }}</code></td><td>String</td><td>Description of the current case.</td></tr><tr><td><code>{{ case.case_lead }}</code></td><td>{user_id, first_name, last_name, full_name, email, title}</td><td>Properties related to the user assigned as a case lead.</td></tr><tr><td><code>{{ case.custom_field_id }}</code></td><td>{name, value}</td><td>Case custom field value - replace 'id' with custom field id number.</td></tr></tbody></table>

### Evidence Variables

Evidence Variables contain information from the Evidence Items selected for the report.

Because a Case can contain multiple Evidence Items, the `evidence` object is a list and its values must be referenced within a loop.

For example:

```
{% for item in evidence %}
{{ item.evidence_id }}
{% endfor %}
```

Evidence data can include identifying information, item metadata, Progress, Linked Contacts, Photos, Custom Fields, and Chain of Custody records.

See [**Evidence Items**](/monolith/using-monolith/evidence-management/evidence-items.md) for information about the Evidence record in Monolith.

{% hint style="info" %}
Evidence photos are stored in an array/list and must be referenced within for loop syntax.
{% endhint %}

<table><thead><tr><th width="336">Variable Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>{{ item.evidence_id }}</code></td><td>Number</td><td>Unique ID of evidence</td></tr><tr><td><code>{{ item.uuid }}</code></td><td>String</td><td>Unique ID of evidence</td></tr><tr><td><code>{{ item.evidence_number }}</code></td><td>String</td><td>Item evidence number</td></tr><tr><td><code>{{ item.evidence_type }}</code></td><td>String</td><td>Type of evidence</td></tr><tr><td><code>{{ item.provider }}</code></td><td>String</td><td>Service provider/manufacturer</td></tr><tr><td><code>{{ item.item_name }}</code></td><td>String</td><td>Item name</td></tr><tr><td><code>{{ item.capacity }}</code></td><td>Number</td><td>Size of item</td></tr><tr><td><code>{{ item.capacity_unit }}</code></td><td>String</td><td>Size units: KB, MB, GB, TB</td></tr><tr><td><code>{{ item.size }}</code></td><td>Number</td><td>Size of item</td></tr><tr><td><code>{{ item.size_unit }}</code></td><td>String</td><td>Size units: KB, MB, GB, TB</td></tr><tr><td><code>{{ item.description }}</code></td><td>String</td><td>Description of item</td></tr><tr><td><code>{{ item.progress }}</code></td><td>String</td><td>Progress status of item</td></tr><tr><td><code>{{ item.created_on }}</code></td><td>Timestamp</td><td>Creation Timestamp</td></tr><tr><td><code>{{ item.linked_contact }}</code></td><td>String</td><td>Name of linked contact</td></tr><tr><td><code>{{ item.evidence_photos }}</code></td><td>[{name, image}]</td><td>Array/list of evidence photos</td></tr><tr><td><code>{{ item.custom_field_id }}</code></td><td>{name, value}</td><td>Custom field value - ID is a number that uniquely identifies a custom field.</td></tr><tr><td><code>{{ item.coc }}</code></td><td><a href="#chain-of-custody-variables">Chain of Custody List</a></td><td>List of chain of custody records for this evidence item.</td></tr></tbody></table>

### Chain of Custody Variables

Chain of Custody records are available through the `{{ item.coc }}` list associated with each Evidence Item.

Because Chain of Custody is nested beneath Evidence, templates first loop through the selected Evidence Items and then loop through the Chain of Custody records associated with each item.

The example below demonstrates this nested relationship.

```
Chain of Custody Example:

// Loop through evidence items
{% for item in evidence %}

    // Loop through evidence item COC records
    {% for record in item.coc %}
    
        // Output COC record details
        {{ record.type }}
        {{ record.custody_to }}
        {{ record.custody_from }}
        {{ record.timestamp }}
        {{ record.reason }}
        
    // End loop for COC records
    {% endfor %}
    
// End loop for evidence items
{% endfor %}
```

<table><thead><tr><th width="310">Variable Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>{{ record.type }}</code></td><td>string</td><td>Type of COC record: Intake, Release, Move, etc...</td></tr><tr><td><code>{{ record.custody_to }}</code></td><td>string</td><td>Person or location that received the item.</td></tr><tr><td><code>{{ record.custody_from }}</code></td><td>string</td><td>Person or location that provided the item.</td></tr><tr><td><code>{{ record.timestamp }}</code></td><td>string</td><td>UTC timestamp of COC event.</td></tr><tr><td><code>{{ record.reason }}</code></td><td>string</td><td>Notes or reason provided for COC event.</td></tr></tbody></table>

### Acquisition Variables

Acquisition Variables contain information from the Acquisitions selected for the report.

Because a Case can contain multiple Acquisitions, the `acquisitions` object is a list and must be referenced within a loop.

Acquisition data can include the acquisition name, type, format, size, date, examiner, linked Evidence, forensic software, Storage Item, duration, Contacts, and supported Custom Fields.

```
Example:
{% for item in acquisitions %}
{{ item.acquisition_id }}
{% endfor %}
```

<table><thead><tr><th width="322">Variable Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>{{ item.acquisition_id }}</code></td><td>Number</td><td>Unique ID of item.</td></tr><tr><td><code>{{ item.uuid }}</code></td><td>String</td><td>Unique ID of item.</td></tr><tr><td><code>{{ item.name }}</code></td><td>String</td><td>Name of item.</td></tr><tr><td><code>{{ item.description }}</code></td><td>String</td><td>Description of item.</td></tr><tr><td><code>{{ item.size }}</code></td><td>Number</td><td>Size of item in numbers.</td></tr><tr><td><code>{{ item.size_unit }}</code></td><td>String</td><td>Units of item size:<br>KB,MB,GB,TB.</td></tr><tr><td><code>{{ item.format }}</code></td><td>String</td><td>Format of acquisition<br>Ex. E01, DD, ZIP.</td></tr><tr><td><code>{{ item.type }}</code></td><td>String</td><td>Type of acquisition:<br>Ex. File System, Physical, Chip-off.</td></tr><tr><td><code>{{ item.status }}</code></td><td>String</td><td>Active or Deleted.</td></tr><tr><td><code>{{ item.acquired_on }}</code></td><td>Date</td><td>Date of acquistion.</td></tr><tr><td><code>{{ item.created_on }}</code></td><td>Date</td><td>Date of record creation.</td></tr><tr><td><code>{{ item.acquired_by }}</code></td><td>{full_name, user_id, email, title}</td><td>The user that acquired this data.</td></tr><tr><td><code>{{ item.linked_contact }}</code></td><td>{name, contact_id}</td><td>The person that this acquisition is associated with.</td></tr><tr><td><code>{{ item.evidence }}</code></td><td>{evidence_id, uuid, evidence_number}</td><td>Evidence linked to acquisition.</td></tr><tr><td><code>{{ item.tool }}</code></td><td>{name, version}</td><td>Software uses to create acquisition.</td></tr><tr><td><code>{{ item.storage }}</code></td><td>{storage_id, uuid, storage_number}</td><td>Storage item where acquisition is stored.</td></tr><tr><td><code>{{ item.duration }}</code></td><td>{hours, mins}</td><td>Time spent creating acquisition.</td></tr><tr><td><code>{{ item.custom_field_id }}</code></td><td>{name, value}</td><td>Custom Field Value</td></tr></tbody></table>

### Notes Variables

Notes Variables provide access to Notes selected for the report, including both Note metadata and rich-text content.

Because `notes` is a list, Note values must be referenced within a loop.

Note content can be rendered as either plain text or rich text. Use the `r` option when the generated Word report should preserve supported rich-text content, including pasted images.

{% hint style="info" %}
Notes data can be accessed using the "notes" variable
{% endhint %}

In order to render the note content as rich text data within the Word document, be sure to use the following syntax:

```
// Notes template example
// use 'r' inside the template declaration to output the note content as rich text
// remove the 'r' to output as plain text data

{% for note in notes %}
{{r note.content }}
{% endfor %}
```

Similar to the evidence data, the 'notes' template data is a list of notes, so you must place the note template data inside of a loop to access it and display note content within the template report.

| Variable Name              | Type                                                                                                                                                            | Decription                                                                                  |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `{{r note.content }}`      | Rich Text or Plain Text                                                                                                                                         | This is the note content - use 'r' to output as rich text.  Includes pasted images as well. |
| `{{ note.title }}`         | String                                                                                                                                                          | This is the note title                                                                      |
| `{{ note.uuid }}`          | String                                                                                                                                                          | This is the unique identifier assigned by Monolith to the note.                             |
| `{{ note.created_on }}`    | ISO String                                                                                                                                                      | Creation timestamp of note                                                                  |
| `{{ note.updated_on }}`    | ISO String                                                                                                                                                      | Last Update time of note                                                                    |
| `{{ note.created_by }}`    | User Object                                                                                                                                                     | User that created the note                                                                  |
| `{{ note.linked_object }}` | <p>Object Link<br><code>{</code></p><p>  <code>type: string,</code></p><p>  <code>name: string,</code></p><p>  <code>id: string</code></p><p><code>}</code></p> | This is an object that is linked to the note such as a case, evidence item, or task.        |

### Working With Template Variables

When building a Custom Report Template:

* Copy variable names exactly as shown in this reference.
* Use loops when working with Evidence, Acquisitions, Notes, and other lists of records.
* Make sure every loop has a matching `{% endfor %}` statement.
* Use the appropriate rich-text syntax when rendering Note content.
* Test the template frequently as variables and logic are added.
* Confirm that the underlying Monolith records contain the information you expect to appear in the report.

For complete template-building guidance, see **Custom Report Templates**.

For working examples and downloadable templates, see **Template Examples**.

### Related Documentation

* [**Custom Report Templates**](/monolith/using-monolith/case-management/cases/case-reports/custom-report-templates.md)
* [**Template Examples**](/monolith/using-monolith/case-management/cases/case-reports/custom-report-templates/template-examples.md)
* [**Monolith Case Reports**](/monolith/using-monolith/case-management/cases/case-reports/monolith-case-reports.md)
* [**Cases**](/monolith/using-monolith/case-management/cases.md)
* [**Evidence Items**](/monolith/using-monolith/evidence-management/evidence-items.md)
