The (fairly new) Service accounts are non‑human Atlassian accounts you can use for scripts, integrations, and automations. BUT: they are not so simple as they sound like.
As an Org Admin, I keep being asked the same questions over and over. So I decided to put together a Q1/2026 guide (things are changing quickly). Shoutout to @Darryl Lee for reviewing!
To start of this guide and 3-part series, here are some serious Fun Facts about Service Accounts:
Atlassian’s Documentation on the matter: https://support.atlassian.com/user-management/docs/understand-service-accounts/
Many companies have created something like Service Accounts on their own, prior to this new feature - we call them Technical User for this article. But because new user accounts require email verification, this meant they would have to have a unique email address. Most importantly, the old style of Service Accounts would consume Atlassian Product/App licenses.
Service Accounts replace those “technical users”. They are managed entirely in Atlassian Admin and are not linked to a personal (or non-personal) corporate account.
You’d typically use one for:
You want to use the REST API but not want your personal user associated with whatever you are doing? → Service Accounts
Also, if the task should keep running even if someone leaves your company, it’s a good candidate for a Service Account.
I regularly come across Technical Users being used in a variety of different scenarios. For some of them, Service Accounts are the answer. Others don’t need either and could be replaced by other Best Practices. Generally speaking, we want to get rid of the old license-consuming users in any case possible.
| System | Use Case | “Technical User” Solution | Proposed Solution |
|---|---|---|---|
| Jira | Assign work item to a team | Use technical user as representative for a team and assign issue to that user |
No Service Account needed
|
| Jira | Notify the whole team of new work | Set technical user (with group email) as default assignee and send notification to assignee on “Work item created event” |
No Service Account needed
|
| Jira | Create work items via API (or other uses of Atlassian API) | Use a technical user so scripts do not use personal user credentials & work item history is comprehensive | Use Service Account instead |
| Jira | Automation rule actor | Use a technical user as the actor in Automation rules to keep the work item history comprehensive and mark automated actions accordingly |
Use the “Automation for Jira” user as rule actor
|
| Jira | API calls to Atlassian API from within Automation rules | Use a technical user and a connected API key to call Atlassian’s API so rule does no use personal user credentials and automated actions are marked accordingly |
Use Service Account instead
|
| Confluence | Update pages/content via API (or other uses of Atlassian API) | Use a technical user so Scripts do not use personal user credentials & issue history is comprehensive | Use Service Account instead |
| Confluence | Automation rule actor | There is no Automation in Confluence on Data Center |
Use your Personal Account for that
|
Service Accounts must be granted App access and Permissions just like any other user. A service account’s effective permissions are the intersection of several layers:
read:jira-work, write:jira-work, manage:jira-configurationread:page:confluence, write:page:confluence, delete:page:confluenceThe service account can only perform an action if all three of these align: Product access AND content/permission access AND credential scope
If any layer is missing, the API call fails (often with a 401/403 type error).
Examples:
App Access: Jira
Space Access: Jira Space XYZ in Role “User” (gives Edit Permissions)
Credential scope: View Jira Work item (read:jira-work)
API Call: Edit Work item
❌ Will result in Error message, as Edit Permissions is not granted in API key scope.
App Access: Confluence
Space Access: Confluence Space XYZ in Role “User” (gives Edit Permissions)
Credential scope: Edit Confluence page (write:page:confluence)
API Call: Edit Confluence page in Space XYZ
✅ Will work as all levels are allowing access and edit permissions are set correctly
App Access: Confluence
Space Access: Confluence Space ABC in Role “User” (gives Edit Permissions)
Credential scope: Edit Confluence page (write:page:confluence)
API Call: Edit Confluence page in Space XYZ
❌ Will result in Error message, as Space access to Space XYZ is not granted
When you create a Service Account, Atlassian will generate an “email address” based on the name you gave the account:
Name: Test Service Account
Email: test-service-account-b1rvjssdkb@serviceaccount.atlassian.com
The Email is only relevant, if you are using Basic Authentication for API calls. It doesn’t have actual email features. You also cannot update it manually. My assumption is, that any user needs an email as that’s the primary key in Atlassian Cloud.
Come back for
Part 2: Setting up a Service Account
Part 3: Service Accounts in Practice
Rebekka Heilmann _viadee_
6 comments