Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.qwoty.io/llms.txt

Use this file to discover all available pages before exploring further.

Dynamic variables let you insert placeholders into contract models, email templates, and documents that automatically populate with real data when you generate or send them. You can reference customer details, quote totals, product names, and custom fields.

Syntax

Dynamic variables use double curly braces: {{variable.name}}. They pull data from the customer record, quote, or line items associated with the document. Common variable categories:
  • {{customer.*}} — Customer information (name, email, address, custom fields)
  • {{quote.*}} — Quote details (number, total, subtotal, status, dates)
  • {{product.*}} — Product line item details (name, quantity, price, discount)
  • {{user.*}} — Sales rep or owner information (name, email, title, phone)
  • {{company.*}} — Your company details (name, address, logo URL)
Variable names are case-sensitive. Use the exact format shown in the variable reference panel.

Insert a variable into a contract model

1

Open the contract model editor

In the left side menu, click ContentContract Models, then select the contract model you want to edit, or create a new one.
2

Position your cursor

Click where you want the variable to appear in the document body.
3

Insert the variable

Type {{ to open the variable picker, or manually type the full variable name like {{customer.name}}. Select the variable from the list or press Enter to confirm.
4

Preview the output

Click [BUTTON LABEL] to see how the variable renders with sample data.
5

Save the contract model

Click Save to apply your changes.

Format variables

You can apply formatting modifiers to control how variables display.

Date formatting

Add a format modifier after the variable name:
  • {{quote.created_date | date: "MM/DD/YYYY"}} → 12/31/2024
  • {{quote.expiry_date | date: "MMMM D, YYYY"}} → December 31, 2024

Number formatting

Format currency and decimal values:
  • {{quote.total | currency}} → $10,000.00
  • {{product.quantity | number: 2}} → 1,234.56

Conditional logic

Show or hide content based on variable values:
{{#if quote.discount}}
A discount of {{quote.discount}}% has been applied.
{{/if}}
Advanced conditional logic and loops require specific syntax. Contact support for custom formatting requirements.

Use variables in email templates

You can insert dynamic variables into email subject lines and body text when configuring automated notifications or quote emails. Navigate to [MENU PATH] and select the email template. Use the same {{variable.name}} syntax in the subject or body fields.

Common variables reference

VariableDescriptionExample output
{{customer.name}}Customer full nameAcme Corporation
{{customer.email}}Customer email addresscontact@acme.com
{{quote.number}}Quote reference numberQ-2024-00123
{{quote.total}}Quote total amount10000.00
{{quote.created_date}}Quote creation date2024-01-15
{{user.name}}Sales rep full nameJohn Smith
{{user.email}}Sales rep emailjohn@company.com
{{company.name}}Your company nameYour Company Inc.
To see the complete list of available variables for your instance, click [BUTTON LABEL] in the contract model editor.

What happens next

When you publish a quote or generate a contract, Qwoty replaces all variables with actual data from the associated records. If a variable references a field with no value, it displays as blank unless you configure a fallback.

Troubleshooting

The variable name may be misspelled or the field does not exist. Check the variable reference panel for the correct syntax. Verify the customer record contains data in that field.
Add a date format modifier: {{quote.created_date | date: "MM/DD/YYYY"}}. Verify the format string matches the supported date tokens.
The referenced field is empty in the source record. Add a default value using conditional syntax or populate the field before generating the document.
Custom field variables may use a different syntax like {{custom.field_name}} or {{customer.custom_field_name}}. Check with your admin or the variable reference panel for custom field naming conventions.

Create a contract model

Build contract templates with variables and formatting

Configure email templates

Set up automated emails with dynamic content

Custom fields

Add custom fields to quotes and customers

Generate contracts

Create final contracts from approved quotes