Lookups
Add secondary spreadsheet lookup tables to cross-reference data across multiple sheets.
Lookups
The Lookups property lets you connect additional spreadsheets that your template can query during rendering. This lets you cross-reference data that isn't stored in your main sheet — for example, a separate sheet of item stats, ability descriptions, or flavor text that multiple cards can share.
Adding a lookup table
- Click the
+ Add Propertybutton on any template element and add theLookupsproperty. - Click the on the property to add a new lookup entry.
- Fill in the three fields for the new entry:
| Field | Description |
|---|---|
| Name | A short identifier used in references (e.g. Powers) |
| Sheet File | The Google Sheet for the lookup data |
| Sheet Tab | Tab name within the spreadsheet |
Repeat for each additional lookup table you need. Lookups are loaded once and are available to every element in the template.

Using a lookup in a property
Once a lookup is set up, query it from any property in the editor using the triple-brace lookup reference syntax:
{{{LookupName:KeyColumn=KeyValue:TargetColumn}}}| Part | What it does |
|---|---|
LookupName | The Name you gave the lookup |
KeyColumn | The column in the lookup sheet to search by |
KeyValue | The value to match — usually a {{data}} reference from the current row |
TargetColumn | The column whose value you want to insert |
You can also add a default value after the target column with =:
{{{LookupName:KeyColumn=KeyValue:TargetColumn=DefaultValue}}}If no matching row is found the reference resolves to DefaultValue instead. Without a default, a missing match will produce an error.
The reference picker in any property field shows a Lookup submenu listing your configured tables to help you build the syntax without typing it manually.
Example
If your main sheet has a CardPower column and you have a lookup named Powers with Name and Description columns, entering this in a Text element's Source field:
{{{Powers:Name={{CardPower}}:Description}}}This renders the description from Powers for whichever power matches the current card's CardPower. The preview updates row-by-row as you navigate through cards. This ensures any changes to the power descriptions are automatically reflected in all usage of it throughout your project.