Variables

What is a variable?

A variable is a special string starting with [[ and ending with ]].

An example to get the annualPrice in markdown: Example on a proposal
The total annual mid-market package is [[deal.skus.midMarket.annualPrice]] The total annual mid-market package is $30,000

How to call the variables and where to use them

Variables can be accessed in Markdown-powered textareas, such as SKUs and Terms fiedls in the Quote Builder and the line item description textarea on the SKUs Settings Page. Property names will start with a “[[deal...” or “[[current...” to see a list of available variables. Type with only one bracket and add “deal” or “current” to trigger the autocomplete list of variables that are available to you.

deal

deal is where the variables of the entire deal sit. deal holds the deal value, customer name, etc. See the entire list of variables for the deal object here.

current

current is a convienient short-hand to access the current context of a term, sku, or list of featureFlag objects. Use current on LineItemDescription and TermDescription fields.

Top-level Variable namespaces

There are two specific variable namespaces that allow operators and end-users to include dynamic fields in their Proposals and other RevOps documents.

Namespace description
[[deal.<property>]] Context of the deal in scope. A tree containing skus, terms, featureFlags, contract, billingContact, and leadContact properties addressable in dot-notation. Example [[deal.skus.mySku.netPrice]]
[[current.<property>]] Context of the current object in scope. Object is addressed by supplying the specific object name. The following properties are addressable in dot-notation: sku, term, featureFlags. Example [[current.featureFlags.maxUsers.value]]

Billing Contact Variables

[[deal.billingContact]]

Billing Contact object is addressable in the following ways:

  • deal.billingContact
Property Name Type Description Example(s)
name string Formatted name of the Billing Contact. [[deal.billingContact.name]]
email string Email of the Billing Contact. [[deal.billingContact.email]]
title string Title of the Billing Contact. [[deal.billingContact.title]]
phone string Phone number of the Billing Contact. [[deal.billingContact.phone]]

Contract Variables

[[deal.contract]]

A Contract instance object is addressable in the following ways:

  • deal.contract
Property Name Type Description Example(s)
length integer Length of the contract in months. [[deal.contract.length]]
subtotal string The subtotal describes a currency-formatted total of the total contract value with all user-defined deviations. [[deal.contract.subtotal]]
orderId string The orderId of the contract, a monotonically increasing number. [[deal.contract.orderId]]

FeatureFlag Variable

[[deal.featureFlags.<flagName>]]

Feature flag instance objects are addressable in the following ways:

  • current.featureFlags.<flagName> - Available in LineItemDescription
  • deal.featureFlags.<flagName> - Available from any Markdown-enabled field
  • deal.skus.<skuName>.featureFlags.<flagName> - Available from any Markdown-enabled field
Property Name Type Description Example(s)
friendlyName string Friendly name of feature flag. [[current.featureFlags.myFeature.friendlyName]]
mode string (ENUM) The feature flag's operator mode can be one of the following options: gate, limit. A gate enables and disables the feature. A limit sets a maximum threshold for the feature. [[current.featureFlags.myFeature.mode]]
checked boolean Indicates if the flag is enabled for the current sku. If this value appears in an unordered list and is not checked, it will remove the surrounding content. [[current.featureFlags.myFeature.checked]]
status string Indicates the status of the feature Flag. Possible values are: active, disabled
value integer (Optional) Maximum value for featureFlag<mode=limit>. If this value appears in an unordered list and is not enabled, it will remove the surrounding content. [[current.featureFlags.myFeature.value]]

Lead Contact Variables

[[deal.leadContact]]

Lead Contact object is addressable in the following ways:

  • deal.leadContact
Property Name Type Description Example(s)
name string Formatted name of the Lead Contact. [[deal.leadContact.name]]
email string Email of the Lead Contact. [[deal.leadContact.email]]

SKU Variables

[[deal.skus.<skuName>]]

A SKU instance object is addressable in the following ways:

  • current.sku - Available in LineItemDescription
  • deal.skus.<skuName> - Available from any Markdown-enabled field
Property Name Type Description Example(s)
friendlyName string Friendly name of sku. [[current.sku.friendlyName]]
quantity int An integer value representing the total quantity of the SKU [[current.sku.quantity]]
description string Public description of the SKU used externally. [[current.sku.description]]
netPrice string The netPrice describes a currency-formatted total of the final sku amount with all user-defined deviations. [[current.sku.netPrice]]
monthlyPrice string The monthlyPrice describes a currency-formatted total of the monthly sku amount with all user-defined deviations. [[current.sku.monthlyPrice]]
annualPrice string The annualPrice describes a currency-formatted total of the annual sku amount with all user-defined deviations. [[current.sku.annualPrice]]
unitMonthlyPrice string The unitMonthlyPrice describes a currency-formatted unit price of the monthly sku amount with all user-defined deviations. [[current.sku.unitMonthlyPrice]]
unitAnnualPrice string The unitAnnualPrice describes a currency-formatted unit price of the annual sku amount with all user-defined deviations. [[current.sku.unitAnnualPrice]]

Customer (Business Entity) Variables

[[deal.customer]]

Customer object is addressable in the following ways:

  • deal.customer
Property Name Type Description Example(s)
legalName string Legal name of the business entity. [[deal.customer.legalName]]
domain string Domain name of the business entity. [[deal.customer.domain]]
opportunityName string Opportunity name. [[deal.customer.opportunityName]]

Term Variables

[[deal.terms.<termName>]]

A Term instance object is addressable in the following ways:

  • current.term - Available in LineItemDescription
  • deal.terms.<termName> - Available from any Markdown-enabled field
Property Name Type Description Example(s)
friendlyName string Friendly name of term. [[current.term.friendlyName]]
label string (ENUM) The term's label describing the prefix or trailing label of value. Example [[current.term.value]] [[current.term.label]] can render 30 years when value = '30', and label = 'years' in the term configuration. [[current.term.label]]
description string Legalese of the Term. [[current.term.description]]
value string The user-defined value of the Term. [[current.term.value]]
properties Object An object containing custom terms defined in the same format as a term. [[current.term.properties.<propertyName>.friendlyName]]