Github
Automatically create GitHub issues from folder submissions using templates, labels, and assignees.
GitHub automations automatically create issues in your repositories when recordings or captures are added to a folder. Convert customer bug reports, feature requests, and support tickets into actionable GitHub issues with video evidence and console logs.

When to Use GitHub Automations
GitHub automations are ideal for:
Bug Report Tracking β Convert customer-reported bugs into GitHub issues with video evidence
Feature Request Management β Automatically create enhancement issues from customer feedback
Support Escalations β Create high-priority issues when critical problems are reported
Cross-Team Collaboration β Link customer recordings directly to development work
Engineering Visibility β Ensure engineers see customer context immediately
Issue Triage Workflow β Route issues to specific repositories and projects automatically
GitHub vs. Email/Webhook
Use GitHub when:
Your engineering team uses GitHub for issue tracking
You want automatic issue creation with full context
You need to organize issues by repository
You want to assign issues to team members
You need bi-directional sync with status updates
Use Email when:
Recipients don't use GitHub
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 custom automation
Prerequisites
Before setting up GitHub automations:
GitHub Account β With repository write access
Repository Access β Admin or write access to target repositories
Screendesk Plan β Pro or Enterprise plan to enable automations
Folder β Created in Screendesk to trigger the automation
Setup
Connect GitHub 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 GitHub in the list
Click Connect GitHub
You'll be redirected to GitHub to authorize access. You'll see a dialog showing the permissions Screendesk requires:
Create and read issues
Read repository metadata
Read organization members (for assignees)
Click Install & Authorize to proceed.
GitHub App Installation
You'll need to select installation scope:
All repositories β Screendesk can access all current and future repos
Select repositories β Choose specific repos you want to allow
You can change this anytime in GitHub settings.
Review GitHub connection status
After authorization completes, you'll return to Account Settings β Integrations.
You should see:
β GitHub Connected with your account name
List of accessible repositories
Disconnect button (if you need to remove the integration)
Connection Verified
If you see your username and repositories list, GitHub 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 GitHub from the integration list
Select target repository
Configure where issues will be created:
Repository (required):
Select the GitHub repository where issues will be created
Only repositories with write access appear in the dropdown
Can't find your repo? Verify GitHub App installation includes it
Click Refresh to reload the repository list
Note: Each automation targets one repository. Create multiple automations for multiple repositories.
Repository Selection
If you don't see expected repositories:
Ensure GitHub App installation includes them
Verify you have write access to the repo
Click Refresh in the GitHub integration settings
Re-save your automation
Configure issue title
Customize how issue titles appear in GitHub:
Default title template:
Example outputs:
Other title examples:
For bug reports:
For feature requests:
Including customer context:
For folder-specific routing:
Title Length
Keep titles under 100 characters for clarity. GitHub will display full titles but very long titles may be truncated in lists.
View all available template variables β
Configure issue description
Create a rich issue description with recording context:
Default description template:
Example: Detailed bug report description
Example: Feature request description
GitHub Markdown Support
GitHub descriptions support GitHub-Flavored Markdown:
Bold β
**text**Italic β
*text*Code blocks β
```Links β
[text](url)Headers β
## HeadingLists β
* itemTask lists β
- [ ] itemCollapsible sections β
<details>
Use markdown to format important information effectively. {% endhint %}
View all available variables β {% endstep %}
{% step %}
Apply labels automatically
Organize issues with GitHub labels:
To add labels:
Click + Add Label
Select from your repository's available labels
Add multiple labels as needed
Suggested labels:
from-screendeskβ Track all automated issuescustomer-reportedβ Mark customer submissionsneeds-triageβ Flag for manual reviewbugorenhancementβ Categorize issue typecriticalβ 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 repository appear in the dropdown. If you don't see a label you want:
Create it in GitHub first
Return to Screendesk
Click Refresh in the GitHub 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 specific team members
Multiple assignees supported
Or leave unassigned for manual assignment
Only active repository 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" %} Multiple Assignees
GitHub supports multiple assignees per issue. Add team members to distribute work:
Bug triage: Add QA and backend leads
Feature requests: Add product and design
Critical issues: Add on-call engineer and team lead {% endhint %} {% endstep %}
{% step %}
Test the automation
Before activating, create a test issue:
Click Create Test Issue button
Check your GitHub repository 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 GitHub: After verifying, you can delete test issues directly in GitHub (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 GitHub.
{% 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:
Repository
acme/frontend
Labels
from-screendesk, bug, customer-reported
Assignees
Unassigned (for triage)
Title Template:
Description Template:
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:
Repository
acme/product-feedback
Labels
from-screendesk, enhancement, customer-feedback
Assignees
(Unassigned)
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:
Repository
acme/frontend
Labels
from-screendesk, critical, urgent, customer-impacting
Assignees
On-Call Engineer
Title Template:
Description Template:
Result: Critical issues immediately become high-visibility tickets assigned to on-call engineers.
Example 4: Support Escalation Automation
Folder: Escalations Target: Create tickets when support team escalates customer issues
Configuration:
Repository
acme/support-issues
Labels
from-screendesk, support-escalation, needs-triage
Assignees
Support Lead
Title Template:
Description Template:
Result: Support escalations create visible tickets that go directly to support leads.
Managing the Integration
View Integration Status
Check GitHub connection status:
Go to Account Settings
Select Integrations & Automations
Find GitHub in the integrations list
See connection status and account information
Displayed information:
Connection status (Connected/Disconnected)
Account name
Number of accessible repositories
Last sync status
Configure Repository Access
Modify which repositories Screendesk can access:
Go to Account Settings β Integrations & Automations
Find GitHub
Click Configure GitHub App
Add or remove repositories from installation
Return to Screendesk
Disconnect GitHub
Remove the GitHub integration:
Go to Account Settings β Integrations & Automations
Find GitHub
Click Disconnect
Confirm disconnection
What happens:
All GitHub automations are disabled (not deleted)
Existing issues in GitHub remain unchanged
Sync stops immediately
Automations can be re-enabled by reconnecting
Refresh Repositories
If GitHub resources aren't loading:
Go to Account Settings β Integrations & Automations
Find GitHub
Click Refresh
Repositories update immediately
When to refresh:
New repositories created in GitHub
Repository access changed
Permissions modified
Troubleshooting
Issues Not Creating
Symptom: Automations enabled but no issues appear in GitHub
Solutions:
{% stepper %} {% step %}
Verify GitHub is connected
Go to Account Settings β Integrations & Automations
Check GitHub status shows "Connected"
If disconnected, click Connect GitHub to re-authorize {% endstep %}
{% step %}
Check repository permissions
Verify you have write access to the selected repository
Check that the GitHub App installation includes the repository
Try selecting a different repository to test {% endstep %}
{% step %}
Verify automation is enabled
Open folder Settings β Automations
Find the GitHub 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: GitHub 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 Repository
Symptom: Issue created in wrong repository
Solutions:
Open the automation settings
Verify Repository dropdown shows correct repo
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 GitHub
Open GitHub repository
Go to Issues β Labels
Check that your configured labels exist
Labels must be created in GitHub before using in Screendesk {% endstep %}
{% step %}
Refresh label list in Screendesk
Go to Account Settings β Integrations & Automations
Find GitHub
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 has write access to the repository
Person must be a collaborator on the repo
Go to GitHub repository settings β Manage access
Check if the person is listed
If not, add them as a collaborator
Select a different assignee in automation and test again
Rate Limiting
Symptom: "API rate limit exceeded" error
Solutions:
Wait before retrying β GitHub enforces rate limits; wait a few minutes
Space out automations β Don't trigger many automations simultaneously
Check rate limit status β View your GitHub API rate limit at github.com/settings/tokens
Contact GitHub support β If limits are too restrictive for your use case
Markdown Rendering Issues
Symptom: Description formatting looks wrong in GitHub
Solutions:
Test your Markdown template in a GitHub issue directly
Verify GitHub-Flavored Markdown syntax is correct
Common issues:
Missing line breaks between sections
Incorrect code block syntax (use triple backticks)
Unescaped special characters
Test with a test issue to verify before activating
OAuth Authorization Failed
Symptom: "GitHub authorization failed" error during connection
Solutions:
Verify GitHub account β Ensure you're logged into the correct account
Check OAuth permissions β Screendesk requires write access to issues
Try again β Click Connect GitHub to retry
Clear browser cache β OAuth may fail due to cached credentials
If issues persist, contact Screendesk support.
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 GitHub.
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,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 developers will see it first.
Add Environment Context
Include technical details for debugging:
This helps developers reproduce issues and understand scope.
Test Before Large Deployment
Before creating many automations:
Create one automation
Add a test recording
Verify in GitHub
Check title, description, labels, assignees
Adjust templates as needed
Then create additional automations
Testing first saves time fixing issues later.
Create Repository-Specific Automations
Organize automations by repository:
For bug reports:
Create separate automations for
frontend,backend,mobileTarget appropriate teams automatically
Makes triage more efficient
For feature requests:
Route to
product-feedbackrepositoryAssign to product manager
For support:
Route to
support-issuesrepositoryAssign to support team lead
Monitor Automation Success Rate
Regularly check execution logs:
Go to Account Settings β Automations β Execution Log
Filter by GitHub automations
Look for patterns in failures
Address common issues
Target success rate: 99%+
Document Your Setup
Keep notes on your automations:
Why each automation exists
What folder triggers it
What repository it targets
Who manages it
When to update templates
This helps new team members understand the system.
Last updated
Was this helpful?