Skip to main content
GET
/
api
/
crm
/
cannedresponses
/
{id}
{
  "BusinessId": 123,
  "BusinessName": "<string>",
  "Name": "<string>",
  "Subject": "<string>",
  "MessageText": "<string>",
  "Id": 123,
  "UniqueId": "<string>",
  "CreatedOn": "<string>",
  "UpdatedOn": "<string>",
  "UpdatedBy": "<string>",
  "IsNew": true,
  "SystemId": "<string>"
}
A CannedResponse is a reusable message template, known as a Message Macro in the Nexudus UI (Admin Panel > CRM > Message Macros). Message macros can be sent directly to customers or used alongside reminders to automate communication. They support dynamic tokens — placeholders such as \{salutation\} — that Nexudus automatically replaces with live data from your account when the message is delivered. Message macros are available across all locations in a network, regardless of which location created them.

Supported tokens

Location tokens (always available):
TokenDescription
\{businessname\} / \{locationName\}Location name
\{businessphone\}Location phone
\{businesscontactphone\}Location phone or contact phone
\{businesscontactweb\}Location web contact
\{businessaddress\}Location address
\{businessemail\}Location email contact
\{businessid\}Location ID
\{businessurl\}Location public URL
\{businessavatar\}Location logo URL
\{businessbanner\}Location banner URL
\{logoImage\}Location logo as an HTML <img> tag
\{timezone\}Location timezone
\{date\}Current date in location timezone
\{time\}Current time in location timezone
\{yesterday\}Yesterday’s date
\{tomorrow\}Tomorrow’s date
\{terms\}Terms & conditions (rendered from Markdown)
\{iosurl\}iOS app URL
\{androidurl\}Android app URL
\{serviceurl\}Dashboard URL
\{unsubscribeurl\}Unsubscribe URL
(custom fields)Any Business custom fields
Customer tokens (always available):
TokenDescription
\{firstname\}Customer first name
\{fullname\}Customer full name
\{salutation\}Customer salutation
\{email\} / \{username\}Customer email
\{coworkerid\}Customer ID
\{coworkerguid\}Customer GUID
\{homebusiness\}Customer’s home location name
\{companyname\} / \{companyName\}Company name
\{phone\}Mobile phone or landline
\{address\}Address
\{postcode\}Post code
\{cityname\}City
\{state\}State
\{billingname\} / \{billingName\}Billing name
\{billingadress\}Billing address
\{billingcityname\}Billing city
\{billingpostcode\}Billing post code
\{billingstate\}Billing state
\{accesscardid\} / \{accessCardId\}Access card ID / pincode
\{accesscardtag\}Access card tag
\{accesspincode\}Access PIN code
\{cardNumber\}Card number
\{keyFobNumber\}Key fob number
\{tariffname\}Current pricing plan name
\{tariffprice\}Current pricing plan price
\{nexttariffname\}Next pricing plan name
\{nexttariffprice\}Next pricing plan price
\{contractnotes\}Contract notes
\{cancellationdate\}Contract cancellation date
\{nextinvoicedate\}Next invoice date
\{invoicedperiod\}Invoiced period date
\{contracterm\}Contract term end date
\{desks\}Assigned desks (comma-separated)
\{generalterms\}General terms & conditions
\{contracterms\}Contract terms & conditions
\{teamNames\}Team names (comma-separated)
\{custom1\}\{custom30\}Legacy custom fields 1–30
\{coworkerurl\}Admin URL for the customer
\{coworkerpublicurl\}Public profile URL
\{coworkerprofileurl\}Customer profile admin URL
\{coworkercontractsurl\}Customer contracts admin URL
\{coworkermessagesurl\}Customer messages admin URL
\{coworkerproductssurl\}Customer products admin URL
\{coworkerproposalsurl\}Customer proposals admin URL
\{gocardlesssignupurl\}Direct debit signup URL
\{teamsignuplink\}Team signup link
(custom fields)Any Coworker custom fields
User / account tokens (always available when the customer has a portal access / user account):
TokenDescription
\{userid\}User ID
\{passportnumber\}Passport number
\{password\}Temporary password (only during password reset)
\{useraccesstoken\}User access token
\{activateurl\}Account activation URL
\{loginurl\}Login URL
\{magiclink\}Magic link for passwordless login
\{resetpasswordurl\}Reset password URL
\{unpaidinvoicescount\}Number of unpaid invoices
\{unpaidinvoicenumbers\}Unpaid invoice numbers (comma-separated)
\{unpaidinvoicestotal\}Unpaid invoices total amount
\{dueinvoicescount\}Number of overdue invoices
\{dueinvoicenumbers\}Overdue invoice numbers (comma-separated)
\{dueinvoicestotal\}Overdue invoices total amount
\{earliestduedate\}Earliest due date across unpaid invoices
Message-macro-specific tokens:
TokenDescription
\{nextbillingdate\}Next tariff billing date
\{priceplan\}Active pricing plan names (comma-separated, all contracts)
\{nextpriceplan\}Next pricing plan names (comma-separated)
\{priceplanprice\}Total cost of active pricing plans (formatted in location currency)
\{nextpriceplanprice\}Total cost of next pricing plans
\{maincontractpriceplan\}Main contract pricing plan name
\{maincontractprice\}Main contract price
\{maincontractbillingdate\}Main contract renewal / billing date
\{maincontractstartdate\}Main contract start date
\{deliverytable\}HTML table of uncollected deliveries (location, name, date, notes)
Delivery tokens (resolved from the customer’s oldest uncollected delivery, if any):
TokenDescription
\{deliveryreference\} / \{deliveryname\}Delivery name
\{deliverycreatedon\}Delivery creation date (full format)
\{deliverylocation\}Delivery location
\{deliverynotes\}Delivery notes
\{deliveryfileurl\}Delivery label image URL
\{deliveryqrcode\}Delivery QR code URL
\{deliverycode128\}Delivery barcode (Code 128) URL
Product tokens (available when the macro is sent alongside a product purchase — CoworkerProduct or BookingProduct):
TokenDescription
\{productname\}Product name
\{productid\}Product ID
\{productstocklevel\}Current stock level
\{productstockalertlevel\}Stock alert level
\{product\}”Qty x Product Name”
\{price\}Product price (formatted in location currency)
\{notes\}Purchase notes
(custom fields)Any Product custom fields
Booking tokens (available when the product purchase is linked to a booking):
TokenDescription
\{bookingId\}Booking ID
\{bookingNumber\}Booking number (zero-padded)
\{bookingUniqueId\}Booking GUID
\{bookingDurationInMinutes\}Booking duration in minutes
\{resourceId\}Resource ID
\{resourceName\}Resource name
\{resourceDescription\}Resource description
\{resourcetype\}Resource type name
\{fromTime\}Booking start date/time
\{toTime\}Booking end date/time
\{desk\}Desk name (or location name if none)
\{desknotes\}Desk notes
\{confirmationContent\}Resource email confirmation content
\{bookingTerminateUrl\}Booking cancellation URL
\{accesstoken\}Booking access code
\{price\}Estimated booking cost (overrides product price)
\{pricewithcredits\}Estimated cost after credits
\{additionals\}Booking add-on products
\{additionals_with_description\}Add-on products with descriptions
\{products\}Product list (HTML formatted)
\{notes\}Booking notes
(custom fields)Any Booking custom fields

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the CannedResponse-Read role.

Path Parameters

id
integer
required
The Id of the CannedResponse record to retrieve.

Code Examples

curl -X GET \
  "https://spaces.nexudus.com/api/crm/cannedresponses/87654321" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response

200

BusinessId
integer
Business Id.
BusinessName
string
Location name.
Name
string
Name of the message macro.
Subject
string
Subject line shown in the customer’s inbox when the message macro is delivered.
MessageText
string
Body of the message macro; supports dynamic tokens (e.g. {salutations}) that Nexudus replaces with live data when the message is sent.
Id
integer
Unique record identifier.
UniqueId
string
UUID of the record.
CreatedOn
string
Date and time the record was created (ISO 8601).
UpdatedOn
string
Date and time the record was last updated (ISO 8601).
UpdatedBy
string
Email of the user who last updated this record.
IsNew
boolean
Whether the record was recently created.
SystemId
string
External system identifier.
Example Response
{
  "BusinessId": 0,
  "BusinessName": null,
  "Name": "",
  "Subject": null,
  "MessageText": null,
  "Id": 87654321,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "CreatedOn": "2025-01-10T08:00:00Z",
  "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "UpdatedBy": "admin@example.com",
  "IsNew": false,
  "SystemId": null,
  "ToStringText": "CannedResponse Example",
  "LocalizationDetails": null,
  "CustomFields": null
}