Linear
Linear automations automatically create issues in your Linear workspace when recordings or captures are added to a folder. Convert customer feedback, bug reports, and feature requests into actionable engineering tickets without manual data entry.
When to Use Linear Automations
Linear automations are ideal for:
Bug Report Tracking β Convert customer-reported bugs into engineering tickets with video evidence
Feature Request Management β Automatically create feature request issues from customer feedback
Support Escalations β Create high-priority issues when critical problems are reported
Cross-Team Collaboration β Link customer recordings directly to engineering work
Audit Trail β Maintain complete record of what customers reported and when
Triage Workflow β Route issues to specific teams and projects automatically
Linear vs. Email/Webhook
Use Linear when:
Your engineering team uses Linear for issue tracking
You want automatic issue creation with full context
You need to assign issues to projects and team members
You want bi-directional sync with recordings
Use Email when:
Recipients don't use Linear
You just need notifications
You want simpler setup without OAuth
Use Webhooks when:
You need integration with a different tool
You want custom payload formatting
You're building internal automation
Prerequisites
Before setting up Linear automations:
Linear Account β With issue creation permissions in your workspace
Team Access β Admin or owner role to authorize integrations
Screendesk Plan β Pro or Enterprise plan to enable automations
Folder β Created in Screendesk to trigger the automation
Setup
Connect Linear to Screendesk (First-time only)
Navigate to your integrations:
Click your avatar in the top right corner
Select Account Settings
Go to Integrations & Automations β Integrations
Find Linear in the list
Click Connect Linear
You'll see a dialog showing the permissions Screendesk requires:
Create and read issues
Read teams, projects, and team members
Read and create labels
Read workflows and cycles
Click Authorize to proceed.
OAuth State
The authorization window will redirect you back to Screendesk. This happens automatically and is secure. If the window closes without redirecting, click Connect Linear again and accept the authorization.
Review Linear connection status
After authorization completes, you'll return to Account Settings β Integrations.
You should see:
β Linear Connected with your workspace name
Team name and member count
Disconnect button (if you need to remove the integration)
Connection Verified
If you see your team name and members list, Linear is successfully connected. You can now create automations in any folder.
Open folder automations
Create an automation in any folder:
Navigate to the folder you want to automate
Click Settings (gear icon) in the top right
Select the Automations tab
Click + Add Automation
Select Linear from the integration list
Select target team and project
Configure where issues will be created:
Team (required):
Select the Linear team where issues will be created
Only one team per automation (create multiple automations for multiple teams)
Project (optional):
Choose a specific project to organize issues
Or leave empty to create issues in the team inbox
Useful for categorizing bug reports vs. feature requests
Workflow Status (optional):
Set the initial status for new issues
Backlog β Default starting point for triage
Todo β Issues ready for work
In Progress β For urgent items
Or any custom status in your Linear workflow
Project Selection
If you don't see expected projects:
Ensure they're active in Linear (not canceled)
Click Refresh in the Linear integration settings
Re-save your automation
Only active projects appear in the dropdown.
Configure issue title
Customize how issue titles appear in Linear:
Default title template:
Example outputs:
Other title examples:
For bug reports:
For feature requests:
Including folder context:
For customer-specific issues:
Title Length
Keep titles under 100 characters for clarity. Linear will truncate very long titles in the UI.
View all available template variables β
Configure issue description
Create a rich issue description with recording context:
Default description template:
Example: Detailed bug report description
{{item.console_errors}}
{{item.network_errors}}
Example: Feature request description
Markdown Support
Linear descriptions support full markdown formatting:
Bold β
**text**Italic β
*text*Code blocks β
```Links β
[text](url)Headers β
## HeadingLists β
* item
Use markdown to format important information. {% endhint %}
View all available variables β {% endstep %}
{% step %}
Set priority level
Assign automatic priority to new issues:
No Priority
β
None
General items, low urgency
Low
P3
3
Minor improvements, nice-to-haves
Medium
P2
2
Standard bugs, regular features
High
P1
1
Important bugs, urgent features
Urgent
P0
0
Critical bugs, blocking issues
Recommendations:
Bug Reports folder β Set to Medium (P2) or High (P1)
Feature Requests folder β Set to No Priority (triage later)
Critical Issues folder β Set to Urgent (P0)
Issues can be re-prioritized in Linear after creation.
{% hint style="info" %} Avoid Over-Prioritization
Set automations to Medium or No Priority by default. Let your team manually adjust based on actual impact and customer tier. {% endhint %} {% endstep %}
{% step %}
Apply labels automatically
Organize issues with labels:
To add labels:
Click + Add Label
Select from your team's available labels
Add multiple labels as needed
Suggested labels:
from-screendeskβ Track all automated issuescustomer-reportedβ Mark customer submissionsneeds-triageβ Flag for manual reviewbugorfeature-requestβ Categorize issue typehigh-priorityβ For urgent folderscustomer-feedbackβ Specific to feature requests
Example configurations:
For bug reports folder:
For feature requests folder:
For critical issues folder:
{% hint style="warning" %} Label Availability
Only labels that exist in your Linear team appear in the dropdown. If you don't see a label you want:
Create it in Linear first
Return to Screendesk
Click Refresh in the Linear integration settings
The new label will appear in the dropdown {% endhint %} {% endstep %}
{% step %}
Assign team members (optional)
Auto-assign issues to team members:
Assignee dropdown:
Select a specific team member
Or leave unassigned for manual assignment
Only active team members appear in the list
Recommended approach:
Leave unassigned for most automations
Use assignee for on-call or urgent issues
Let team leads manually assign based on expertise
Example uses:
Assign critical bugs to on-call engineer
Assign feature requests to product manager
Leave general issues unassigned for triage
{% hint style="info" %} Rotating Assignees
Create multiple automations to rotate assignments:
Automation 1: Assigns to Engineer A
Automation 2: Assigns to Engineer B
Assign recordings to different automations manually {% endhint %} {% endstep %}
{% step %}
Test the automation
Before activating, create a test issue:
Click Create Test Issue button
Check your Linear workspace for the new issue
Verify all fields populated correctly:
If something looks wrong:
Click Back
Update the settings
Click Create Test Issue again
Delete test issues in Linear: After verifying, you can delete test issues directly in Linear (they won't affect the automation).
{% hint style="success" %} Ready to Activate
Once testing passes, proceed to save. {% endhint %} {% endstep %}
{% step %}
Save and activate
Finalize the automation:
Click Save Automation
The automation is enabled by default
You'll see it listed in the folder's Automations tab
Status indicators:
β Green toggle β Automation is active
β« Gray toggle β Automation is disabled
You can disable/enable the automation anytime without deleting it.
From now on, every recording or capture added to this folder will automatically create an issue in Linear.
{% hint style="info" %} Automation Activity
View execution history:
Go to Account Settings β Automations β Execution Log
Filter by folder or automation type
See success/failure details for each execution {% endhint %} {% endstep %} {% endstepper %}
Template Variables
Use these variables in title and description templates:
Item Information
{{item.title}}
Recording or capture title
"Checkout crashes"
{{item.url}}
Link to recording/capture
Full HTTPS URL
{{item.type}}
Item type
"recording" or "capture"
{{item.duration}}
Length in seconds
"45"
{{item.created_at}}
Submission timestamp
"Feb 6, 2026 at 2:30 PM"
Creator Information
{{creator.name}}
Person who submitted
"Alice Johnson"
Recording-Specific (if applicable)
{{recording.title}}
Recording title
"Checkout page error"
{{recording.url}}
Recording link
Full HTTPS URL
{{recording.browser}}
Browser info
"Chrome 121.0.6167"
{{recording.os}}
Operating system
"macOS 14.3"
{{recording.resolution}}
Screen resolution
"2560x1440"
{{recording.country}}
Geographic location
"United States"
{{recording.console_errors}}
JavaScript errors
Formatted list
{{recording.network_errors}}
Failed HTTP requests
Formatted list
Capture-Specific (if applicable)
{{capture.title}}
Capture title
"Bug description"
{{capture.url}}
Capture link
Full HTTPS URL
{{capture.type}}
Capture type
Screenshot or document type
Folder & Account
{{folder.name}}
Folder name
"Bug Reports"
{{account.name}}
Workspace name
"Acme Corp"
View complete variable reference β
Example Configurations
Example 1: Bug Report Automation
Folder: Bug Reports Target: Report customer bugs to engineering team
Configuration:
Team
Engineering
Project
Bug Fixes
Status
Backlog
Priority
Medium (P2)
Labels
from-screendesk, bug, customer-reported
Assignee
Unassigned
Title Template:
Description Template:
{{recording.console_errors}}
{{recording.network_errors}}
Result: Issues created with full bug context, ready for engineer triage and investigation.
Example 2: Feature Request Automation
Folder: Feature Requests Target: Track customer feature suggestions for product team
Configuration:
Team
Product
Project
Feature Requests
Status
Backlog
Priority
No Priority
Labels
from-screendesk, feature-request, customer-feedback
Assignee
Product Manager
Title Template:
Description Template:
Result: Feature requests flow directly to product team for evaluation and roadmap planning.
Example 3: Critical Issue Automation (High Priority)
Folder: Critical Issues Target: Escalate urgent problems to on-call engineer immediately
Configuration:
Team
Engineering
Project
Production Incidents
Status
Todo
Priority
Urgent (P0)
Labels
from-screendesk, urgent, critical, customer-impacting
Assignee
On-Call Engineer
Title Template:
Description Template:
Result: Critical issues immediately become high-priority P0 tickets assigned to on-call engineers.
Example 4: Support Escalation Automation
Folder: Escalations Target: Create tickets when support team escalates customer issues
Configuration:
Team
Engineering
Project
Customer Support
Status
Todo
Priority
High (P1)
Labels
from-screendesk, support-escalation, needs-triage
Assignee
Engineering Lead
Title Template:
Description Template:
Result: Support escalations create high-priority tickets that go directly to engineering leads.
Bi-Directional Sync Features
Sync-Enabled Features
Once an issue is created from a recording, the following updates sync between Screendesk and Linear:
Synced from Linear to Screendesk:
Issue status changes (Backlog β Todo β In Progress β Done)
Issue comments from Linear team members
Issue resolution status
Priority changes
Label additions/removals
Synced from Screendesk to Linear:
New comments on the recording
Recording tags and labels
Recording status updates
How Bi-Directional Sync Works
Initial Creation β Automation creates Linear issue from recording
Link Established β Screendesk maintains reference to Linear issue
Status Sync β Changes propagate every 5 minutes
Comments Sync β Team discussions stay in sync
Resolution β When issue closes in Linear, recording shows as addressed
Enable Sync Features
Bi-directional sync is enabled by default for all Linear automations.
To verify sync is working:
Go to Account Settings β Integrations β Linear
Look for Bi-Directional Sync toggle
Ensure it's enabled (green)
In the recording: You'll see a "Linear Issue" section showing:
Issue ID (e.g., "ENG-123")
Issue title
Current status
Link to Linear
Recent comments
Troubleshoot Sync Issues
If sync isn't working:
Check Linear connection β Ensure Linear is still connected in settings
Verify permissions β OAuth token needs read/write access
Check token expiration β Expired tokens prevent sync
Wait 5 minutes β Sync runs on 5-minute intervals
Refresh manually β Click the refresh icon in the Linear Issue panel
Cycle and Milestone Assignment
Add Issues to Current Cycle
Automatically include issues in the current Linear cycle:
Configuration:
Edit the automation
Look for Add to Current Cycle option
Toggle Enabled
Save
Result: New issues will automatically be added to your team's active cycle, making them visible in sprint planning and cycle progress.
When to use:
Bug fix cycles
Sprint-aligned feature work
Urgent issues that need immediate scheduling
Assign to Specific Milestones
Link issues to project milestones:
Configuration:
Edit the automation
Find Milestone dropdown
Select a milestone
Save
Available milestones:
All active milestones in your Linear team
Issues will be linked to the selected milestone
Milestone progress automatically includes these issues
When to use:
Product launch features
Release-specific bug fixes
Long-term initiative tracking
Duplicate Prevention
Prevent creating multiple issues for the same problem:
By Customer Email
Configuration:
Edit the automation
Enable Prevent Duplicates
Select By Customer Email
Set time window (default: 24 hours)
Save
How it works:
Same customer within 24 hours β No duplicate issue created
Different customers β Issues created independently
After 24 hours β Customer can create new issues
Use case: Prevent duplicate issues from the same user submitting multiple recordings.
By Recording Title
Configuration:
Edit the automation
Enable Prevent Duplicates
Select By Title
Set time window (default: 24 hours)
Save
How it works:
Similar titles within 24 hours β No duplicate issue created
Exact title match β Duplicate detected
Title variations β Treated as separate issues
Use case: Prevent multiple issues for the same bug reported by different customers.
Managing the Integration
View Integration Status
Check Linear connection status:
Go to Account Settings
Select Integrations & Automations
Find Linear in the integrations list
See connection status and team information
Displayed information:
Connection status (Connected/Disconnected)
Team name and ID
Team member count
Last sync status
Expiration warning (if token is expiring soon)
Disconnect Linear
Remove the Linear integration:
Go to Account Settings β Integrations & Automations
Find Linear
Click Disconnect
Confirm disconnection
What happens:
All Linear automations are disabled (not deleted)
Existing issues in Linear remain unchanged
Sync stops immediately
Automations can be re-enabled by reconnecting
Refresh Permissions
If Linear resources aren't loading:
Go to Account Settings β Integrations & Automations
Find Linear
Click Refresh
Re-authorize if prompted
Teams and projects update immediately
When to refresh:
New projects created in Linear
New team members added
New labels created
Permissions changed
Check Token Expiration
Linear tokens expire and need renewal:
Check Account Settings β Integrations & Automations
Look for expiration warning on Linear card
If expired: Click Reconnect button
Follow OAuth flow again
Automatic refresh: Screendesk automatically attempts to refresh tokens every 7 days. If this fails, you'll see a warning.
Troubleshooting
Issues Not Creating
Symptom: Automations enabled but no issues appear in Linear
Solutions:
{% stepper %} {% step %}
Verify Linear is connected
Go to Account Settings β Integrations & Automations
Check Linear status shows "Connected"
If disconnected, click Connect Linear to re-authorize {% endstep %}
{% step %}
Check team permissions
In Linear, verify your user has admin or owner role
Verify you have "Create Issues" permission
Check the selected team has active members
Try selecting a different team {% endstep %}
{% step %}
Verify automation is enabled
Open folder Settings β Automations
Find the Linear automation
Toggle should be green (on)
If disabled, click to enable {% endstep %}
{% step %}
Check execution logs
Go to Account Settings β Automations β Execution Log
Filter by the folder or automation
Look for error messages explaining why issue creation failed
Recent failures show detailed error information {% endstep %}
{% step %}
Test with a test issue
Open the automation
Click Create Test Issue
If test fails, error message explains why
Fix the issue and test again
{% hint style="info" %} Test issues show specific error messages that help diagnose problems. {% endhint %} {% endstep %} {% endstepper %}
Missing or Incorrect Fields
Symptom: Linear issue created but fields are empty or wrong
Solutions:
{% stepper %} {% step %}
Verify template syntax
Check title and description templates:
Variables must be enclosed in double braces:
{{variable}}Variable names must be spelled exactly
No extra spaces or special characters
Correct: {{item.title}} Incorrect: {{ item.title }} or {{item.Title}} {% endstep %}
{% step %}
Check data availability
Some variables only exist for certain item types:
{{recording.*}}β Only for recordings{{capture.*}}β Only for captures{{creator.*}}β Available for all items
If a recording doesn't have console errors, {{recording.console_errors}} will be empty. {% endstep %}
{% step %}
Test with sample data
Create a test recording/capture with the data you're referencing:
Add test item to folder
Create test issue
View the result
Adjust templates based on what's missing {% endstep %} {% endstepper %}
Wrong Team or Project
Symptom: Issue created in wrong team or project
Solutions:
Open the automation settings
Verify Team dropdown shows correct team
Verify Project dropdown shows correct project
Click Save to update
Create a test issue to verify
Note: Changes only affect new issues, not previously created ones.
Labels Not Applied
Symptom: Issue created but labels are missing
Solutions:
{% stepper %} {% step %}
Verify labels exist in Linear
Open Linear workspace
Go to team settings β Labels
Check that your configured labels exist
Labels must be created in Linear before using in Screendesk {% endstep %}
{% step %}
Refresh label list in Screendesk
Go to Account Settings β Integrations & Automations
Find Linear
Click Refresh
Wait for labels to update
Edit automation and verify labels appear {% endstep %}
{% step %}
Re-add labels to automation
Open the automation settings
Remove old labels
Click + Add Label to re-select
Choose labels from the refreshed list
Save and test {% endstep %} {% endstepper %}
Assignee Not Applied
Symptom: Issue not assigned to selected team member
Solutions:
Verify the selected person is active in Linear
Inactive members can't be assigned
Go to Linear team settings β Members
Check if the person is still active
If inactive, select a different assignee
Token Expired
Symptom: "Linear access token has expired" error
Solutions:
Go to Account Settings β Integrations & Automations
Look for expiration warning on Linear card
Click Reconnect
Follow the OAuth authorization flow
Return to Screendesk and test
Prevention: Screendesk automatically refreshes tokens. If refresh fails, you'll see a warning before token expires.
Sync Not Working
Symptom: Linear issue changes don't appear in Screendesk recording
Solutions:
{% stepper %} {% step %}
Verify sync is enabled
Go to Account Settings β Integrations β Linear
Look for Bi-Directional Sync toggle
Ensure it's enabled (green)
If disabled, enable it and save {% endstep %}
{% step %}
Check token is valid
If token expired, reconnect Linear (see Token Expired above)
Expired tokens prevent sync
After reconnecting, sync resumes automatically {% endstep %}
{% step %}
Wait for sync cycle
Sync runs every 5 minutes:
Make a change in Linear
Wait up to 5 minutes
Refresh the Screendesk recording page
Changes should appear
Don't worry if sync takes up to 5 minutes. {% endstep %}
{% step %}
Check for webhook issues
Go to Account Settings β Automations β Execution Log
Look for sync-related entries
Check for error messages
If webhooks failed, sync may be delayed {% endstep %} {% endstepper %}
Slow Issue Creation
Symptom: Issues take longer than expected to be created
Solutions:
Check Linear API status β Visit Linear Status Page
Verify internet connection β Ensure stable connection to screendesk.io and linear.app
Check automation logs β View execution timestamps to identify delays
Try again β If a temporary issue, retry with a new recording
Typical creation time: 5-30 seconds. Longer delays indicate network or API issues.
Rate Limiting
Symptom: "Rate limit exceeded" error
Solutions:
Wait before retrying β Linear enforces rate limits; wait a few minutes
Space out automations β Don't trigger many automations simultaneously
Check documentation β Linear API has rate limits; see Linear Docs
Contact Linear support β If limits are too restrictive for your use case
OAuth Authorization Failed
Symptom: "Linear authorization failed" error during connection
Solutions:
Verify Linear credentials β Ensure client ID/secret are correct
Check OAuth scope β "write" scope is required
Verify redirect URI β Must match configured callback URL
Try again β Click Connect Linear to retry
If issues persist, contact Screendesk support.
Check Automation Logs
View detailed execution history:
Go to Account Settings β Automations
Click Execution Log tab
Filter by folder or automation type
Click any log entry to see details
Log information includes:
Timestamp of execution
Success or failure status
Error message (if failed)
Issue ID created (if successful)
Time taken to execute
Best Practices
Use Consistent Naming
Keep naming conventions consistent:
{% columns %} {% column %} β Inconsistent:
{% endcolumn %}
{% column %} β Consistent:
{% endcolumn %} {% endcolumns %}
Consistent naming makes issues easier to scan and search in Linear.
Set Appropriate Priority Levels
Match folder urgency to issue priority:
General Feedback
No Priority
Bug Reports
Medium (P2)
Feature Requests
No Priority
Critical Issues
Urgent (P0)
Support Escalations
High (P1)
Don't over-prioritize. Let your team adjust based on actual impact.
Use Meaningful Labels
Create labels for quick filtering:
Organizational labels:
from-screendeskβ Track all automated issuescustomer-reportedβ Issues from customersinternal-reportβ Issues from your team
Type labels:
bug,feature-request,enhancement,documentationperformance,security,ui,backend
Status labels:
needs-triage,blocked,duplicatecritical,high-priority,low-priority
Apply 2-4 labels per issue for effective organization.
Include Recording Links Prominently
Make accessing customer evidence easy:
{% columns %} {% column %} β Buried:
{% endcolumn %}
{% column %} β Prominent:
{% endcolumn %} {% endcolumns %}
Put the recording link near the top where engineers will see it first.
Add Environment Context
Include technical details for debugging:
This helps engineers reproduce issues and understand scope.
Enable Duplicate Prevention
Reduce spam and noise:
For Bug Folders β Prevent by customer email (24 hours)
For Feature Requests β Prevent by title (24 hours)
For General β Consider disabling if high volume
Duplicate prevention prevents the same issue from being created multiple times.
Test Before Large Deployment
Before creating many automations:
Create one automation
Add a test recording
Verify in Linear
Check title, description, labels, priority
Adjust templates as needed
Then create additional automations
Testing first saves time fixing issues later.
Create Folder Hierarchies
Organize your folders by automation type:
Folder hierarchies let you create targeted automations for different priorities.
Monitor Automation Success Rate
Regularly check execution logs:
Go to Account Settings β Automations β Execution Log
Filter by Linear automations
Look for patterns in failures
Address common issues
Target success rate: 99%+
Use Distribution Cycles
Distribute new issues across your team:
Create multiple automations targeting different assignees
Rotate which automation receives recordings
Ensures fair work distribution
Prevents bottlenecks
Document Your Setup
Keep notes on your automations:
Why each automation exists
What folder triggers it
Where issues go in Linear
Who manages it
This helps new team members understand the system.
Last updated
Was this helpful?