Variables Reference
Variables Reference
Variables are placeholders in module content replaced with organization-specific values.
Syntax
Format: {{variableName}}
Example in module:
You are an assistant for {{organizationName}}.
Escalate to {{escalationEmail}}.
Result in constitution:
You are an assistant for Acme Sales.
Escalate to sales@acme.com.
Variable Rules
- Double curly braces required
- Case-sensitive
- No spaces in variable names
- Use camelCase or snake_case
Valid:
- {{organizationName}}
- {{escalation_email}}
- {{supportHours}}
Invalid:
- {organizationName} - Single braces
- {{ organizationName }} - Spaces
- {{organization name}} - Space in name
Built-in Variables
Available for all organizations:
| Variable | Description | Example |
|---|---|---|
{{organizationName}} |
Display name | "Acme Sales" |
{{organizationId}} |
Unique ID | "acme-sales" |
{{currentDate}} |
Today's date | "2026-02-08" |
{{version}} |
Constitution version | "2.5" |
Custom Variables
Edit Variables page on organization detail page.
Format: JSON key-value pairs
{
"escalationEmail": "sales@acme.com",
"supportHours": "9am-5pm EST",
"teamLead": "Jane Smith"
}
After saving variables, rebuild constitution to apply.
Variable Scope
Works in: - Global module content - Organization overrides - Organization-specific modules
Doesn't work in: - Module names - Organization IDs - System configuration
Template Variables
Defined in customers/default.json:
{
"variables": {
"escalationEmail": "{{PLACEHOLDER}}",
"supportHours": "24/7"
}
}
New organizations inherit these defaults.
Common Patterns
Contact Information:
{
"escalationEmail": "help@company.com",
"slackChannel": "#team-support",
"teamLead": "Jane Smith"
}
Business Details:
{
"organizationName": "Sales Team",
"department": "Revenue",
"timezone": "America/New_York"
}
Resources:
{
"documentationUrl": "https://docs.acme.com",
"trainingUrl": "https://training.acme.com"
}
Last updated: February 2026