BoardGameBuilder Docs
Advanced

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

  1. Click the + Add Property button on any template element and add the Lookups property.
  2. Click the on the property to add a new lookup entry.
  3. Fill in the three fields for the new entry:
FieldDescription
NameA short identifier used in references (e.g. Powers)
Sheet FileThe Google Sheet for the lookup data
Sheet TabTab 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.

Lookups section in Root settings

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}}}
PartWhat it does
LookupNameThe Name you gave the lookup
KeyColumnThe column in the lookup sheet to search by
KeyValueThe value to match — usually a {{data}} reference from the current row
TargetColumnThe 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.

On this page