- Identity in your SCM - Automations appear as the service account in commits, PRs, and comments
- Separation of agent and human activity - Clearly differentiate between automation work (service account) and human work (individual users), making it easy to track, audit, and manage agent activity separately
- Consistent permissions - Automations run with predictable access regardless of individual user availability
- Service accounts are currently in the global members group (RBAC support coming later)
- Only Personal Access Tokens (PATs) are supported now (OAuth integration coming later)
When to use service accounts
Use a service account for:- Event-driven automations - Pull request triggers that respond to repository events
- Time-based automations - Scheduled jobs that run on a recurring basis
- Shared ownership - Automations managed by multiple team members
- Organizational processes - Workflows that represent team or company standards
- Personal workflows - Automations you own and control
- One-time tasks - Manual migrations or updates you run once
- Testing - Trying out automations before productionizing them
- Ona comments on pull requests as the service account identity, making it easy to track agent activity
- Commits and pull requests are clearly attributed to automation, not individual engineers
- Service accounts provide stable authentication that doesn’t depend on personal tokens
Create a service account
- Navigate to Settings in the left panel
- Click Members
- Select Service Accounts
- Click Create New Service Account
- Enter a Name for the service account (e.g., “Automation Bot”)
- Add a Description explaining the service account’s purpose
- Click Create

Configure Git authentication
Service accounts need Git authentication to interact with your source control management (SCM) system. This allows automations to clone repositories, commit changes, and create pull requests.Add Git authentication
- Open the service account details page
- Click Add Git Authentication
- Select the environment class where the automation will execute
- Choose your Provider (GitHub or GitLab)
- Enter a Personal Access Token from your SCM

Create a personal access token
The personal access token must be issued from your SCM provider: GitHub:- Go to Settings > Developer settings > Personal access tokens > Tokens (classic)
- Click Generate new token
- Select scopes:
repo,read:user,user:email,workflow - Copy the token
- Go to Preferences > Access Tokens
- Enter a name and expiration date
- Select scopes:
api,read_repository,write_repository - Click Create personal access token
- Copy the token
Token permissions
Ensure the personal access token has permissions to:- Read repository contents
- Create branches
- Commit changes
- Open pull requests
- Read and write to the repositories the automation targets
- Access user information (for proper attribution)
- Trigger workflows (if automations need to run CI/CD)
Manage service accounts
Add additional Git authentication
Service accounts can have multiple Git authentication configurations for different runners or providers:- Open the service account details page
- Click Add Git Authentication
- Configure authentication for another runner or provider
Delete a service account
- Navigate to Settings > Members > Service Accounts
- Click on the service account name
- Click Delete Service Account
- Confirm deletion
Security best practices
- Rotate tokens regularly - Update personal access tokens every 90 days
- Use minimal permissions - Grant only the permissions the automation needs
- Monitor activity - Review service account actions in audit logs
- Separate concerns - Use different service accounts for different automation types
- Document ownership - Note which team owns each service account in the description
Troubleshooting
Authentication failures
If automations fail with authentication errors:- Verify the personal access token is still valid and hasn’t expired
- Check the token has required permissions
- Regenerate the token if needed and update the service account configuration
Permission denied errors
If automations can’t access repositories:- Verify the service account has access to the target repositories
- Check the runner configuration allows the service account
- Ensure the personal access token has correct scopes
Service account not appearing
If the service account doesn’t appear in automation configuration:- Verify you have permissions to view service accounts
- Check the service account was created successfully
- Refresh the page
Next steps
- Create an Automation using a service account
- Configure Pull Request Triggers for event-driven automation
- Set up Time-based Triggers for scheduled jobs
- Review Guardrails for automation safety controls