Portal Community
Admin permission required: Creating Jira users requires the Administer Jira global permission. The service account used for this operation must have admin rights. Standard user accounts cannot create other users via the API.

When to Use

Configuration

Connection

FieldRequiredDescription
HostRequiredJira instance base URL. Example: https://acmecorp.atlassian.net
EmailRequiredAtlassian admin account email. Example: jira-admin@acmecorp.com
ApiTokenRequiredAPI token from Atlassian security settings. Must belong to an admin account.

Operation Fields

FieldRequiredDescription
EmailAddressRequiredEmail address for the new user. Used as the login identifier on Jira Cloud. An invitation email is sent to this address. Example: jsmith@acmecorp.com.
DisplayNameRequiredFull display name shown in Jira. Example: "John Smith".
UsernameOptionalUsername override. On Jira Cloud, usernames are generally auto-assigned from the email address. On Jira Server/DC, this sets the login username explicitly.

Sample Configuration

Create a Jira account for a new hire as part of onboarding:

{
  "resource": "user",
  "operation": "create",
  "Host": "https://acmecorp.atlassian.net",
  "Email": "jira-admin@acmecorp.com",
  "ApiToken": "{{ $credentials.jiraAdminToken }}",
  "EmailAddress": "{{ $json.employee.workEmail }}",
  "DisplayName": "{{ $json.employee.firstName }} {{ $json.employee.lastName }}"
}

Validation Errors

Error CodeCause
VAL_MISSING_EMAILEmailAddress is empty or null.
VAL_INVALID_EMAILEmailAddress is not a valid email format.
VAL_MISSING_DISPLAY_NAMEDisplayName is empty or null.
USER_ALREADY_EXISTSA user with this email already exists in the Jira instance.
PERMISSION_DENIEDThe authenticated user does not have Administer Jira permission.
AUTH_FAILEDInvalid credentials or expired API token.

Output Fields

FieldTypeDescription
statusstring"success" or "error"
userIdstringInternal Jira account ID. Store this for future user operations.
usernamestringAssigned username. On Jira Cloud, derived from email address.
displayNamestringThe display name as set.
emailstringEmail address of the created user.
resourcestringAlways "user"
operationstringAlways "create"

Sample Output

{
  "status": "success",
  "userId": "5b10a2844c20165700ede21g",
  "username": "jsmith",
  "displayName": "John Smith",
  "email": "jsmith@acmecorp.com",
  "resource": "user",
  "operation": "create"
}

Expression Reference

ExpressionTypeExample ValueUse
{{ $output.createUser.userId }}stringAccount ID stringStore for issue assignment (accountId field)
{{ $output.createUser.username }}string"jsmith"Include in welcome notification
{{ $output.createUser.email }}string"jsmith@acmecorp.com"Confirm correct email was used

Node Policies & GuardRails

Workflow Example — Employee Onboarding

// Step 1: HR form submission triggers webhook
// Step 2: user/get — check if user already exists
{
  "resource": "user",
  "operation": "get",
  "Username": "{{ $json.employee.workEmail }}"
}
// Step 3: IfCondition — {{ $output.getUser.status }} === "error" (user not found)
// Step 4 (if new user): user/create
{
  "resource": "user",
  "operation": "create",
  "EmailAddress": "{{ $json.employee.workEmail }}",
  "DisplayName": "{{ $json.employee.firstName }} {{ $json.employee.lastName }}"
}
// Step 5: Slack/postMessage — notify IT team with new user details
// Step 6: MongoDB/insert — log provisioning record