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 fields in the Deal Editor 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.
Property Name | Type | Description | Example(s) |
---|---|---|---|
templateName | string | Name of the template that the deal was created from | {{deal.templateName}} |
This table only lists top level deal attributes. Additional properties are noted below.
current
current
is a convenient short-hand to access the current context of a term
or sku
. 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 , 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 or term . Example {{current.sku.properties.maxUsers.value}} |
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}} |
shippingStreet | string | Street of shipping address | {{deal.customer.shippingStreet}} |
shippingCity | string | City of shipping address. | {{deal.customer.shippingCity}} |
shippingState | string | State of shipping address. | {{deal.customer.shippingState}} |
shippingStateCode | string | State code of shipping address. | {{deal.customer.shippingStateCode}} |
shippingCountry | string | Country of shipping address. | {{deal.customer.shippingCountry}} |
shippingCountryCode | string | Country code of shipping address. | {{deal.customer.shippingCountryCode}} |
shippingPostalCode | string | Postal code of shipping address. | {{deal.customer.shippingPostalCode}} |
billingStreet | string | Street of billing address. | {{deal.customer.billingStreet}} |
billingCity | string | City of billing address. | {{deal.customer.billingCity}} |
billingState | string | State of billing address. | {{deal.customer.billingState}} |
billingStateCode | string | State code of billing address. | {{deal.customer.billingStateCode}} |
billingCountry | string | Country of billing address. | {{deal.customer.billingCountry}} |
billingCountryCode | string | Country code of billing address. | {{deal.customer.billingCountryCode}} |
billingPostalCode | string | Postal code of billing address. | {{deal.customer.billingPostalCode}} |
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) |
---|---|---|---|
formType | string | Agreement type of the deal. Possible values include new-order , renewal , expansion , non-disclosure-agreement . | {{deal.contract.formType}} |
length | float | 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}} |
Properties Variable
A properties variable is addressable in the following ways:
current.sku.properties.<propertyName>
- Available in LineItemDescriptiondeal.skus.<skuName>.properties.<propertyName>
- Available from any Markdown-enabled field
Property Name | Type | Description | Example(s) |
---|---|---|---|
friendlyName | string | Friendly name of property. | {{current.sku.properties.myFeature.friendlyName}} |
type | string (ENUM) | The type of property. Possible values are: number , string , option , gate , limit . | {{current.sku.properties.myFeature.type}} |
checked | boolean | Indicates if the property is enabled for the current sku. If this value appears in an unordered list and is not checked , it will remove the surrounding content. Only available when the property type is gate or limit | {{current.sku.properties.myFeature.checked}} |
status | string | Indicates the status of the property. Possible values are: active , disabled . Only available when the property type is gate or limit . | {{current.sku.properties.myFeature.status}} |
value | integer | Value of the property. | {{current.sku.properties.myFeature.value}} |
selected | object | An object containing the friendlyName and value of selected of the selected option. This property only appears when the property type is an Option. | {{current.sku.properties.myFeature.selected.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 LineItemDescriptiondeal.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}} |
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}} |
properties | object | An object containing custom SKU properties defined in the format as a <skuName>.properties variable. | current.sku.properties.<propertyName>.value |
Term Variables
{{deal.terms.<termName>}}
A Term instance object is addressable in the following ways:
current.term
- Available in LineItemDescriptiondeal.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}} |
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}} |