Template variables reference

Complete list of automation template variables for recordings, folders, and workspaces, with examples.

Template variables allow you to customize automation messages with dynamic data from recordings and captures. This guide provides a complete reference of all available variables, organized by category with usage examples.


Overview

Template variables are placeholders you insert into message templates that get replaced with actual data when automations execute. They use double-brace syntax:

{{variable.name}}

All variables are optional. If data doesn't exist for a recording, the variable will appear empty but won't cause errors.


Recording Variables

Variables that pull data directly from the recording or capture that triggered the automation.

Basic Recording Information

Variable
Description
Example
Always Available

{{recording.title}}

Recording title

"Checkout page crash"

Yes

{{recording.description}}

Recording description

"Getting error when..."

No

{{recording.url}}

Direct link to view recording

"https://app.screendesk.io/r/abc123..."

Yes

{{recording.duration}}

Length in seconds

"45"

Yes

{{recording.created_at}}

Submission timestamp

"Feb 6, 2026 at 2:30 PM"

Yes

{{recording.created_at_iso}}

ISO 8601 timestamp

"2026-02-06T14:30:00Z"

Yes

Customer Information

Variable
Description
Example
Always Available

{{recording.customer_email}}

Email of person who submitted

No

{{recording.customer_name}}

Name of person who submitted

"John Smith"

No

{{recording.customer_id}}

External customer ID

"cust_12345"

No

{{recording.account_name}}

Name of customer's account/company

"Acme Corp"

No

Technical Details

Variable
Description
Example
Always Available

{{recording.browser}}

Browser name and version

"Chrome 121.0.6167"

No

{{recording.browser_name}}

Browser name only

"Chrome"

No

{{recording.browser_version}}

Browser version only

"121.0.6167"

No

{{recording.os}}

Operating system

"macOS 14.3"

No

{{recording.os_name}}

OS name only

"macOS"

No

{{recording.os_version}}

OS version only

"14.3"

No

{{recording.resolution}}

Screen resolution

"2560x1440"

No

{{recording.screen_size}}

Device screen size

"1920x1080"

No

{{recording.viewport}}

Viewport dimensions

"1440x900"

No

{{recording.platform}}

Device platform

"desktop" or "mobile"

No

{{recording.device_type}}

Device type

"MacBook Pro" or "iPhone 14"

No

Geographic Information

Variable
Description
Example
Always Available

{{recording.country}}

Country name

"United States"

No

{{recording.country_code}}

ISO country code

"US"

No

{{recording.city}}

City location

"San Francisco"

No

{{recording.region}}

Region/state

"California"

No

{{recording.ip_address}}

IP address

"203.0.113.42"

No

{{recording.timezone}}

Timezone

"America/Los_Angeles"

No

{{recording.locale}}

Browser locale

"en-US"

No

Network Information

Variable
Description
Example
Always Available

{{recording.network_type}}

Network type

"4g" or "wifi"

No

{{recording.isp}}

Internet service provider

"Comcast"

No

{{recording.downlink}}

Network speed (Mbps)

"25"

No

{{recording.is_vpn}}

VPN detection

"true" or "false"

No

Content Analysis

Variable
Description
Example
Always Available

{{recording.summary}}

AI-generated summary

"User encountered..."

No

{{recording.suggestion}}

AI suggestion/analysis

"This appears to be..."

No

{{recording.ai_sentiment}}

Sentiment analysis

"frustrated" or "neutral"

No

{{recording.transcript}}

Full audio transcription

"The user says: hello..."

No

{{recording.console_errors}}

JavaScript console errors (formatted)

"Uncaught TypeError: Cannot..."

No

{{recording.network_errors}}

Failed HTTP requests (formatted)

"POST /api/checkout 500..."

No

Recording Metadata

Variable
Description
Example
Always Available

{{recording.session_id}}

Unique session identifier

"sess_abc123xyz"

Yes

{{recording.user_agent}}

Full user agent string

"Mozilla/5.0 (Macintosh..."

No

{{recording.source}}

How recording was submitted

"feedback_widget" or "chrome_extension"

No

{{recording.vendor}}

Recording source vendor

"screendesk"

No

{{recording.impressions_count}}

Number of times viewed

"5"

Yes

{{recording.views_count}}

Total view count

"12"

Yes

Engagement Metrics

Variable
Description
Example
Always Available

{{recording.first_view}}

Is first view of recording

"true" or "false"

Yes

{{recording.received}}

Has recording been viewed

"true" or "false"

Yes

{{recording.sent}}

Recording sent to third party

"true" or "false"

Yes


Folder Variables

Variables that reference the folder the automation is configured on.

Variable
Description
Example
Always Available

{{folder.name}}

Folder name

"Bug Reports"

Yes

{{folder.id}}

Folder ID

"folder_12345"

Yes

{{folder.description}}

Folder description

"All customer-reported bugs"

No

{{folder.url}}

Direct link to folder

"https://app.screendesk.io/folders/abc123"

Yes


Account/Workspace Variables

Variables that reference the workspace where the automation runs.

Variable
Description
Example
Always Available

{{account.name}}

Workspace name

"Acme Corp Engineering"

Yes

{{account.id}}

Workspace ID

"acc_12345"

Yes

{{account.email}}

Workspace email/domain

"acme.com"

No

{{account.url}}

Workspace dashboard URL

"https://app.screendesk.io/dashboard"

Yes


User Variables

Variables related to the user who submitted the recording (if available).

Variable
Description
Example
Always Available

{{user.name}}

User full name

"Alice Johnson"

No

{{user.email}}

User email address

No

{{user.id}}

User ID

"user_12345"

No


System Variables

Variables that provide system-level information.

Variable
Description
Example
Always Available

{{timestamp}}

Current execution time

"Feb 6, 2026 at 2:35 PM"

Yes

{{timestamp_iso}}

ISO 8601 execution time

"2026-02-06T14:35:00Z"

Yes

{{automation.name}}

Automation name

"Email to Engineering"

Yes

{{automation.id}}

Automation ID

"auto_12345"

Yes


Usage Examples

Email Subject Lines

Slack Message Templates

Webhook Payloads

Ticket Creation


Variable Placement

Valid Placement Locations

Template variables can be used in:

Feature
Supported

Email subject lines

✅ Yes

Email body (HTML)

✅ Yes

Slack message text

✅ Yes

Slack message attachments

✅ Yes

Webhook JSON payload

✅ Yes

Webhook URL path

✅ Yes

Webhook headers

✅ Yes

Ticket title

✅ Yes

Ticket description

✅ Yes

Ticket labels

✅ Yes

Custom fields

✅ Yes

Invalid Placement

Variables are not supported in:

  • Automation condition logic (if/when rules)

  • Recipient email addresses

  • Webhook URLs (base URL portion)

  • Channel selection logic


Best Practices

1. Check Variable Availability

Some variables may not be available for all recordings. Use fallback text:

2. Use Consistent Formatting

Keep template variable spacing consistent:

3. Escape HTML in Contexts

When using variables in HTML email templates, consider escaping:

4. Limit Template Nesting

Don't nest variables:

5. Keep Templates Readable

Format templates for clarity, especially in email bodies:

6. Test with Sample Data

Always test templates before activating:

  1. Send a test email/message

  2. Verify all variables populated correctly

  3. Check that no {{}} brackets appear in output

  4. Confirm formatting looks good

  5. Test links and buttons work


Troubleshooting Variables

Variables Not Populating

Symptom: Template shows {{variable.name}} instead of actual value

Solutions:

  1. Check spelling exactly - variables are case-sensitive: {{recording.title}} ✓ vs {{Recording.Title}}

  2. Ensure double braces: {{ }} not { } or [ ]

  3. Verify the data exists (not all recordings have summaries or errors)

  4. Check variable is in supported placement location

Empty Variables

Symptom: Variable appears blank in output

Possible Causes:

  • Recording doesn't have that data

  • Data wasn't captured (e.g., no console errors if page didn't error)

  • Field is optional and wasn't filled by customer

Solution: This is normal behavior. Use text around variables to add context:

Special Characters Breaking Template

Symptom: Email/message formatting breaks when variable contains special characters

Solution: If template data might contain quotes, HTML, or special chars:

URL Parameters with Variables

Symptom: URL parameter doesn't work with variable value

Note: Variables should not be placed in URL base paths. Always use:


Variable Limits and Constraints

Aspect
Limit
Notes

Variables per template

Unlimited

Use as many as needed

Template size

10,000 characters

Applies to full message/template

Variable name length

100 characters

Technical limit, actual vars much shorter

Variable replacement depth

1 level

No nested variables

Special characters in variables

Supported

Will be replaced with actual values

Last updated

Was this helpful?