Skip to content

Create variable sets

This feature requires the Team capability tier (the Team or Business ). During the beta, every project is on the free Solo tier, so this feature is locked by default: go to Settings ▸ Billing and request Team access to unlock it.

Variable sets hold key-value pairs that resolve at publish time. Different sets let you substitute different values for each Publication target settings: product names, URLs, version numbers, or any text that varies between outputs.

Create a variable set

  1. Open Configure and select the Variables tab.

  2. In the name field (placeholder "e.g. Pro, Lite, Enterprise"), type a set name, for example, "Pro Edition" or "Production."

  3. Click Add set.

Add variables to a set

  1. On the Variables tab, find the set's card.

  2. In the key/value row at the bottom of the card, enter a key (for example, product_name) and a value (for example, "Acme Pro").

  3. Click the + button (or press Enter in the value field) to add the pair.

  4. Repeat for as many key-value pairs as needed.

Common variables:

Key

Example value

Use for

product_name

"Acme Pro"

Product name throughout docs

support_email

"help@acme.com"

Contact information

api_base_url

"https://api.acme.com"

API endpoint references

version

"3.2"

Version numbers

Topicary stores each variable set as a JSON structure:

{
  "product_name": "Acme Pro",
  "support_email": "help@acme.com",
  "api_base_url": "https://api.acme.com"
}

Use consistent, descriptive key names across all your variable sets. Stick to snake_case. It is easier to read in the editor pill and avoids issues with spaces or special characters.

Set the default

One variable set for each project can be marked as the default. Topicary preselects this set when you create new publication targets, and the default set shows a Default badge in its card header.

  1. On the Variables tab, click the star icon in the header of the set you want as the default.

Create multiple sets

Create one set for each output variant:

  • "Pro Edition" with product_name = "Acme Pro"

  • "Enterprise Edition" with product_name = "Acme Enterprise"

Both sets should contain the same keys so that every Use variable tokens in content resolves in every output. If a key is missing from a set, the token renders as the raw key name on the published site.

If a variable has no value in the project's variable sets, the key name appears in square brackets (for example, [product_name]) as literal text in the published output. The system flags undefined variables. Review the content health dashboard before publishing to catch these.

If a target only needs one or two values changed from an existing set, use Override variables for each target instead of creating an entirely new set.


See also

Was this page helpful?