ConnectWise PSA Email Tokens and Variables
Email tokens are placeholder variables you insert into email templates — ConnectWise replaces each token with live data when the email is sent. They work across four contexts: Email Formats setup table, Workflow Rules, service Status Notifications, and Communications Manager.
The table below shows which tokens are available in each context.
Note: When a Closed Loop email or any other notification that uses tokens to pull service ticket notes is sent, ConnectWise includes the last 100 Discussion, 100 Internal, and 100 Resolution notes from the ticket. Discussion and Resolution notes go to both external and internal contacts; Internal notes go to internal contacts only. Notes beyond 10,000 characters are truncated at that limit.
Email Tokens
| Token | Description | Comm. Manager | Status Notif. | Workflow Rules | Email Formats | Tracks |
|---|---|---|---|---|---|---|
[actualhours] | Actual hours entered against the record. | ✓ | ✓ | ✓ | ||
[agrbalance] | Balance of the agreement’s Available amount (remaining + overrun). | ✓ | ✓ | ✓ | ||
[agrenddate] | Agreement end date. | ✓ | ✓ | ✓ | ||
[agrname] | Name of the agreement applied to the related record. | ✓ | ✓ | ✓ | ||
[agrstartdate] | Start date of the agreement applied to the related record. | ✓ | ✓ | ✓ | ||
[agrtype] | Type of agreement applied to the related record. | ✓ | ✓ | ✓ | ||
[billingfirstname] | First name of the billing contact. | ✓ | ✓ | ✓ | ||
[billinglastname] | Last name of the billing contact. | ✓ | ✓ | ✓ | ||
[budgethours] | Budget hours set on the record. | ✓ | ✓ | ✓ | ||
[campaignrecordid] | Record ID of the associated marketing campaign. | ✓ | ||||
[cf-id] | Custom field data. Replace id with the Unique ID of the custom field from the Custom Fields setup table. The custom field must exist on the same record type as the email — a Purchase Order custom field will not work on a service ticket email. | ✓ | ✓ | ✓ | ||
[companyaddressline1] | Address line 1 of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companyaddressline2] | Address line 2 of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companyaddresslong] | Full address of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companycitytown] | City or town of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companycountry] | Country of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companyfax] | Fax number of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companyid] | Company ID for the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companymarket] | Company market from the Market Description setup table. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companyname] | Company name associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companyphone] | Phone number of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companyrecordid] | Company record ID for the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companysitename] | Site name of the company associated with the service ticket or purchase order. Pulls from the company’s default site — not the site listed on the ticket itself. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companystateprovince] | State or province of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companyterritory] | Territory of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[companytype] | Type of the company associated with the record. | ✓ | ✓ | ✓ | ✓ | ✓ |
[configurationexpdate] | Expiration date of the configuration associated with the ticket. | ✓ | ✓ | |||
[configurationname] | Name of the configuration associated with the ticket. | ✓ | ✓ | |||
[configurationserialno] | Serial number of the configuration associated with the ticket. | ✓ | ✓ | |||
[configurationtagno] | Tag number of the configuration associated with the ticket. | ✓ | ✓ | |||
[configurationtype] | Type of configuration associated with the ticket. | ✓ | ✓ | |||
[contactaddressline1] | Address line 1 of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactaddressline2] | Address line 2 of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactaddresslong] | Full address of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactcitytown] | City or town of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactcountry] | Country of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactemail] | Email address of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactfax] | Fax number of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactfirstname] | First name of the selected contact. Pulled from the related record in ConnectWise Manage — not from Workflow Rule Setup for notifications. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactlastname] | Last name of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactphone] | Phone number of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactphoneext] | Phone extension of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactpostalcode] | Postal code of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactrecordid] | Record ID of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contactstateprovince] | State or province of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[contacttitle] | Title of the selected contact. | ✓ | ✓ | ✓ | ✓ | ✓ |
[currentday] | Current day. | ✓ | ✓ | ✓ | ✓ | ✓ |
[currentmonth] | Current month. | ✓ | ✓ | ✓ | ✓ | ✓ |
[currentyear] | Current year. | ✓ | ✓ | ✓ | ✓ | ✓ |
[customerportalforgotpasswordurl] | Link to the portal password reset page. | ✓ | ✓ | ✓ | ✓ | ✓ |
[customerportalurl] | Contact’s URL to access their customer portal. Note: When used in invoice emails, a payment integration (PayPal or ConnectBooster) must be configured in the new customer portal for invoices to display. | ✓ | ✓ | ✓ | ✓ | ✓ |
[customerportalusername] | Contact’s customer portal username. | ✓ | ✓ | ✓ | ✓ | ✓ |
[expectedshipdate] | Expected ship date for backorder. | ✓ | ||||
[expensesubtotal] | Expense subtotal amount on the portal invoice template. | ✓ | ||||
[fullticketdetails] | Full details of the service ticket: ticket number, summary, status, company, contact, phone, address, discussion, resolution, and internal notes. Resolution and internal notes display for internal contacts only. | ✓ | ✓ | ✓ | ||
[fullticketdetailsformatted] | Same as [fullticketdetails] with updated formatting. Works for the Service Tickets reference table only. Do not combine with [fullticketdetails] in the same email — this causes an error. | ✓ | ✓ | |||
[installdate] | Configuration install date. | ✓ | ✓ | ✓ | ||
[invamount] | Invoice amount. | ✓ | ||||
[invattention] | Attention field on the associated invoice. | ✓ | ||||
[invbalance] | Invoice balance (amount minus payments and credits applied). | ✓ | ||||
[invdate] | Invoice date. | ✓ | ||||
[invduedate] | Invoice due date. | ✓ | ||||
[invnumber] | Invoice number. | ✓ | ||||
[invpayment] | Payments applied to the invoice. | ✓ | ||||
[invoicedetails] | Link that opens a PDF of the invoice in a new browser window. | ✓ | ||||
[invterms] | Billing terms listed on the invoice. | ✓ | ||||
[itemname] | Item name or description (e.g., service ticket name, sales order number). | ✓ | ||||
[itemrecid] | Unique database identifier for the record. For service tickets this is the ticket number; for other records it is an internal ID not useful in emails. | ✓ | ||||
[lastupdatediscussion] | Most recent update to the service ticket discussion thread. Service Tickets reference table only. | ✓ | ✓ | ✓ | ||
[lastupdatediscussionformatted] | Most recent discussion update with updated formatting. Service Tickets reference table only. Do not combine with [lastupdatediscussion] in the same email — this causes an error. | ✓ | ✓ | ✓ | ||
[macaddress] | Configuration MAC address. | ✓ | ✓ | ✓ | ||
[membercompanyname] | For Status Notifications and Email Formats: company name of the ticket owner, or first resource if no owner is assigned. Pulls from Internal Company on the My Company screen Owner tab. | ✓ | ✓ | |||
[memberfirstname] | For Email Formats and Status Notifications: first name of the ticket owner, or first scheduled resource if no owner. For Workflow Rules and Communications Manager: first name of the member in the From field. | ✓ | ✓ | ✓ | ✓ | ✓ |
[memberhomeemail] | Home email address of the member sending the email (Communications Manager and Workflow Rules only). Pulls from the Home Email field on the Members screen Detail tab. | ✓ | ✓ | ✓ | ||
[memberhomephone] | Home phone number of the member sending the email. Pulls from the Home Phone field on the Members screen Detail tab. | ✓ | ✓ | ✓ | ||
[memberhomephoneext] | Home phone extension of the member sending the email. Pulls from Home Phone Ext on the Members screen Detail tab. | ✓ | ✓ | ✓ | ||
[memberid] | For Email Formats and Status Notifications: member ID from the Member Maintenance screen. For Workflow Rules and Communications Manager: member ID of the person in the From field. Blank if the From field is an email address or contact rather than a member. | ✓ | ✓ | ✓ | ✓ | |
[memberlastname] | For Email Formats and Status Notifications: last name of the ticket owner or first scheduled resource. For Workflow Rules and Communications Manager: last name of the member in the From field. | ✓ | ✓ | ✓ | ✓ | |
[membermobileemail] | Mobile email address of the member sending the email. Pulls from the Mobile Email field on the Members screen Detail tab. | ✓ | ✓ | ✓ | ✓ | |
[membermobilephone] | Mobile phone number of the member sending the email. Pulls from the Mobile Phone field on the Members screen Detail tab. | ✓ | ✓ | ✓ | ✓ | |
[membermobilephoneext] | Mobile phone extension of the member sending the email. Pulls from Mobile Phone Ext on the Members screen Detail tab. | ✓ | ✓ | ✓ | ✓ | |
[memberofficeemail] | Office email address of the member sending the email. Pulls from the Office Email field on the Members screen Detail tab. | ✓ | ✓ | ✓ | ✓ | |
[memberofficephone] | Office phone number of the member sending the email. Pulls from the Office Phone field on the Members screen Detail tab. | ✓ | ✓ | ✓ | ✓ | |
[memberofficephoneext] | Office phone extension of the member sending the email. Pulls from Office Phone Ext on the Members screen Detail tab. | ✓ | ✓ | ✓ | ✓ | |
[membersignature] | Member signature from the Customizations pod on the My Account screen Profile tab. For Communications Manager and Workflow Rules: signature of the member sending the email. For Status Notifications and Email Formats: signature of the ticket owner, or first listed resource, or blank if none. | ✓ | ✓ | ✓ | ✓ | ✓ |
[membertitle] | Title of the member sending the email. Pulls from the Title field on the Members screen Detail tab. | ✓ | ✓ | ✓ | ||
[modelnumber] | Configuration model number. | ✓ | ✓ | ✓ | ||
[opportunitymargin] | Margin of the associated sales opportunity. Workflow Rules only. | ✓ | ||||
[opportunityname] | Name of the associated sales opportunity. | ✓ | ✓ | |||
[opportunityrecid] | Record ID of the associated sales opportunity. | ✓ | ✓ | |||
[ordernumber] | Sales order number. Used in status notifications on the Statuses tab of a sales order. | ✓ | ||||
[paynow] | Link to the payment feature in the New Customer Portal. Supports PayPal and ConnectBooster integrations. | ✓ | ✓ | |||
[ponumber] | Purchase order number. Works in procurement workflows only. | ✓ | ||||
[postatus] | Purchase order status. | ✓ | ||||
[productids] | Product IDs associated with products. | ✓ | ||||
[productsubtotal] | Product subtotal amount on the portal invoice template. | ✓ | ||||
[projectenddate] | Associated project end date. | ✓ | ✓ | ✓ | ✓ | |
[projectmanager] | Name of the project manager associated with the project. | ✓ | ✓ | ✓ | ||
[projectname] | Links to the project record in the New Customer Portal. | ✓ | ✓ | ✓ | ||
[projectnumber] | Project number. | ✓ | ✓ | ✓ | ||
[projectstatus] | Status of the associated project. | ✓ | ✓ | ✓ | ||
[projecttype] | Type of associated project. | ✓ | ✓ | ✓ | ||
[purchaseorderdate] | Date of the purchase order. | ✓ | ||||
[resendsurveylink] | Link to the survey if still open; creates a new one if the survey is closed. | ✓ | ✓ | |||
[responsedelimiter] | Inserts a “REPLY above this line to respond” separator in the email. | ✓ | ✓ | ✓ | ||
[servicesubtotal] | Time subtotal amount on the portal invoice template. | ✓ | ||||
[shipdate] | Shipment date from the purchase order. | ✓ | ||||
[shipmentmethod] | Shipment method from the purchase order. | ✓ | ||||
[srboard] | Service board associated with the service ticket. | ✓ | ✓ | ✓ | ||
[srdetail] | Discussion notes of the associated service ticket. Service Tickets reference table only. | ✓ | ✓ | ✓ | ||
[srdetailformatted] | Discussion notes with updated formatting. Service Tickets reference table only. Do not combine with [srdetail] in the same email — this causes an error. | ✓ | ||||
[srinternal] | Full Internal Analysis notes of the related service ticket. Blank when sent to external contacts. | ✓ | ✓ | ✓ | ||
[srinternalformatted] | Internal Analysis notes with updated formatting. Blank when sent to external contacts. Do not combine with [srinternal] in the same email — this causes an error. | ✓ | ||||
[srissue] | Notes marked as issue on a service or project ticket. | ✓ | ✓ | |||
[sritem] | Service item associated with the ticket. On a Configuration workflow, pulls: config name, type, serial number, expiration date, company, contact, and phone. | ✓ | ✓ | ✓ | ||
[srnextscheduledate] | Next scheduled resource date. Time zone is set on the Company Profile tab; falls back to the server time zone in Miscellaneous Options on the My Company screen Owner tab if not set. | ✓ | ✓ | ✓ | ||
[srnextscheduleresource] | Name of the next scheduled resource. Returns blank if no resource is assigned or if no resource is scheduled for a future date. | ✓ | ✓ | ✓ | ||
[srnextscheduletime] | Next scheduled resource time. Uses the same time zone logic as [srnextscheduledate]. | ✓ | ✓ | ✓ | ||
[srnumber] | Number of the related service ticket. | ✓ | ✓ | ✓ | ||
[srpriority] | Service priority of the service ticket. | ✓ | ✓ | ✓ | ||
[srresolution] | Full resolution notes of the related service ticket. | ✓ | ✓ | ✓ | ||
[srresolutionformatted] | Resolution notes with updated formatting. Do not combine with [srresolution] in the same email — this causes an error. | ✓ | ||||
[srsitename] | Site name of the service ticket. | ✓ | ✓ | ✓ | ✓ | ✓ |
[srsiteaddressline1] | Site address line 1 of the service ticket. | ✓ | ✓ | ✓ | ✓ | |
[srsiteaddressline2] | Site address line 2 of the service ticket. | ✓ | ✓ | ✓ | ✓ | ✓ |
[srsitecitytown] | Site city of the service ticket. | ✓ | ✓ | ✓ | ✓ | ✓ |
[srsitestateprovince] | Site state of the service ticket. | ✓ | ✓ | ✓ | ✓ | ✓ |
[srsitepostalcode] | Site zip code of the service ticket. | ✓ | ✓ | ✓ | ✓ | ✓ |
[srsitecountry] | Site country of the service ticket. | ✓ | ✓ | ✓ | ✓ | ✓ |
[srsiteaddresslong] | Full site address of the service ticket (line 1, line 2, city, state, zip). | ✓ | ✓ | ✓ | ✓ | ✓ |
[srsource] | Service source associated with the service ticket. | ✓ | ✓ | ✓ | ||
[srstatus] | Current status of the related service ticket. | ✓ | ✓ | ✓ | ||
[srsubtype] | Service subtype of the service ticket. | ✓ | ✓ | ✓ | ||
[srsummary] | Summary description line of the related service ticket. | ✓ | ✓ | ✓ | ||
[srtype] | Service type associated with the service ticket. | ✓ | ✓ | ✓ | ||
[statuschangedfirstname] | First name of the member who changed the status. | ✓ | ✓ | |||
[statuschangedlastname] | Last name of the member who changed the status. | ✓ | ✓ | |||
[statuschangedmemberid] | Member ID of the member who changed the status. | ✓ | ✓ | ✓ | ||
[surveylink] | Link to the survey specified for delivery with the email notification. | ✓ | ✓ | ✓ | ||
[surveycomments] | Text from the open-ended comment field in service surveys. | ✓ | ✓ | |||
[surveytotal] | Total points earned on the survey. | ✓ | ✓ | |||
[ticketowner] | Ticket owner. | ✓ | ✓ | ✓ | ||
[timeentrynotes] | Notes from the current time entry only (not all time entries on the ticket). Lets you embed notes from a specific time entry into a Closed Loop email. Internal notes are excluded from emails to external contacts unless the Contact or CC checkbox is selected on the time entry. | ✓ | ✓ | |||
[timeentrynotesformatted] | Current time entry notes with updated formatting. Do not combine with [timeentrynotes] in the same email — this causes an error. Internal note behavior is the same as [timeentrynotes]. | ✓ | ||||
[trackingnumberlink] | Browser link to the package for the purchase order. Requires the Shipment Methods setup table and a tracking number on the PO. | ✓ | ||||
[unsubscribelink] | Link to unsubscribe from the email group. Communications Manager only. | ✓ | ||||
[vendor] | Vendor name from the purchase order. | ✓ | ||||
[warehouse] | Warehouse name from the purchase order. | ✓ | ||||
[workflowrulename] | Name of the workflow rule that triggered the email. | ✓ | ||||
[workflowruleeventid] | Unique ID of the event that triggered the workflow action. | ✓ |
If you use invoice-related tokens like [invoicedetails], [paynow], or the [inv*] set in your Email Formats templates, Better Invoice can replace that PDF link with a fully branded invoice your clients actually want to open.