# Jira & Confluence AI employee

Viktor works in Jira & Confluence for you. Ask in Slack or Microsoft Teams.

Viktor is an AI employee that connects to Jira & Confluence and helps you plan, assign, and track project tasks, running 242 Jira & Confluence actions for you like Search, Get goal, and Get team. Ask in plain English from your workspace; Viktor does the work in Jira & Confluence and reports back. Viktor connects in one click via OAuth.

- Tool: Jira & Confluence
- Category: Productivity
- Connection: One-click OAuth (native integration)
- Actions available: 242
- Currently available in: Slack, Microsoft Teams, and Discord
- Page: https://viktor.com/integrations/jira-confluence

## What can your AI employee do in Jira & Confluence?

Viktor connects to your Jira & Confluence account and completes work in it. He doesn't just answer questions about Jira & Confluence, he takes the actions on your behalf and delivers the finished result to your workspace.

Unlike workflow builders such as Zapier or Make, there is nothing to configure - no triggers to map, no workflows to maintain. You describe the outcome in plain English, and Viktor picks the right Jira & Confluence actions, chains them with the other 9,800+ tools he connects to, and asks for approval before anything sensitive runs.

### About Jira & Confluence

Manage issues, projects, and collaborate on documentation

### How a run works

1. **You ask in your workspace** - Describe what you need in plain English
2. **Viktor picks the actions** - Selects from 242 Jira & Confluence actions, chains them together
3. **Runs in Jira & Confluence** - Helps you plan, assign, and track project tasks - your real data.
4. **Reports back** - Delivers the finished result to your workspace

## Use Jira & Confluence from Slack and Microsoft Teams

Message Viktor in a Slack channel, a Microsoft Teams chat or a direct message. He opens Jira & Confluence, does the work and posts the result in the same thread, so nobody has to switch tabs.

He can also run Jira & Confluence work on a schedule, like a weekly Jira & Confluence summary posted to your team's channel. Anything sensitive waits for your approval before it runs.

## Security and permissions

- One-click OAuth - Viktor never sees your password, and you can revoke access at any time.
- Review-first approvals: sensitive Jira & Confluence actions wait for your sign-off before they run.
- Isolated compute per team, encrypted in transit and at rest - and your data is never used to train models.
- SOC 2 Type 1 compliant, with Type 2 and ISO 27001 in progress.
- Viktor is not affiliated with or endorsed by Jira & Confluence.

## What can you ask Viktor to do in Jira & Confluence?

- "Create tasks in Jira & Confluence from the action items in this thread."
- "Summarize what changed in Jira & Confluence this week and post it here every Friday."
- "Find the tasks in Jira & Confluence that are overdue and draft a status update."
- "Keep Jira & Confluence in sync with our roadmap and flag anything at risk."

## How does Viktor work with Jira & Confluence?

1. Open Viktor in a supported workspace.
2. Connect Jira & Confluence with one-click OAuth - Viktor handles authentication.
3. Ask in plain English. Viktor runs the Jira & Confluence actions, chains them with your other tools when needed, and reports back. Sensitive actions wait for your approval.

## What can Viktor do in Jira & Confluence? (242 actions)

- **Add bitbucket repo pull request comment** - Add a comment to a Bitbucket pull request.
- **Add confluence content permissions** - Adds one or more content-level permission grants to a single Confluence.
- **Add confluence reaction** - Add emoji reaction to Confluence content.
- **Add connections to goals** - Add one type of connection to one or more Atlassian Goals.
- **Add connections to projects** - Add one type of connection to one or more Atlassian Projects.
- **Add graph context** - Adds a relationship between two entities in the Teamwork Graph (e.g. linking two Jira work items, marking one as blocking another, attaching a remote link, or connecting a Jira work item to an Atlas project or goal).
- **Add labels to confluence content** - Add labels to any Confluence content (page, blogpost, attachment, custom content).
- **Add or edit jira issue comment** - Add a comment to a Jira issue, or edit an existing one: omit commentId to add, or pass one from listJiraIssueComments to edit. Returns the commentId, needed to edit or delete it later. When no file was appended through inlineFileId, it also returns the echoed body and its format (appliedContentFormat).
- **Add or edit jira issue worklog** - Log time spent on a Jira issue, or edit an existing worklog: omit worklogId to add, or pass one from listJiraIssueWorklogs to edit, which changes only the fields you pass. A new worklog is always logged as the calling user; an edit keeps its original author. Jira reduces the issue's remaining estimate by the time logged (by the difference on an edit). To change the estimate itself, use editJiraIssue. Returns the worklog's id, needed to edit it later, with the stored timeSpent and started.
- **Approve bitbucket repo pull request** - Approve a Bitbucket pull request.
- **Archive confluence content** - Archive a single Confluence content entity.
- **Atlassian user info** - Returns the accountId of the current user.
- **Complete confluence task** - Mark a Confluence inline task as complete.
- **Convert confluence content mode** - Convert a Confluence page or live doc between classic page mode and live-doc mode.
- **Convert jira issue hierarchy** - Convert an existing Jira issue across hierarchy levels: a standard issue (Task, Bug, Story) into a sub-task under a parent, or a sub-task back into a standard issue. Mirrors Jira's Move / Convert-to-sub-task wizard: preview destination compatibility (mode=previewstep1), preview field retain/remap/drop (mode=previewstep2), then execute (mode=confirm). Do not use this for same-level type edits such as Bug → Story — use editJiraIssue for those. Task → Sub-task: always ask the user for parentIssueKey before calling. Do not search for, infer, or pick a parent. If they did not name a parent, ask them instead of calling this tool. The parent must be a standard issue. If this result has CHILDISSUESWILLREPARENT, those children will get the same new parent — ask the user to accept that, then confirm with acknowledgeChildReparent=true. If this result has SOURCEHASSUBTASKS, the convert is blocked; tell the user that. If this result has MOVEPERMISSIONREQUIRED, the user lacks Jira Bulk change or Move permission — tell them to convert in the Jira UI. Do not retry. Do not mention another project style. If preview execution.method is bulk-move, or confirm returns MOVECONFIRMATIONREQUIRED, this is Jira's Move wizard: list the destination project, statusMapping, and fieldPlan.dropped to the user and ask them to accept that status change and that those fields will be dropped. Do not convert until they accept, then retry with mode=confirm and acknowledgeMove=true. If they decline, stop. Sub-task → Task: no parent needed; confirm clears the parent. After convert, reply with this issue's key, new type, and parent. If appliedChanges.dropped is present, also name those dropped fields. If appliedChanges.status is present, also name that status change. Do not mention bulk-move permissions or project-style notes unless this result has MOVEPERMISSIONREQUIRED.
- **Copy confluence content** - Copy a Confluence page, whiteboard, database, folder, or embed to a new parent.
- **Create artifacts upload** - Step 1 of 2 for uploading a new artifact or a new version of an existing artifact. Creates an upload and returns a pre-signed URL and instructions for transferring the file's bytes directly. After the upload completes, call publishArtifact (step 2) with the returned completionPayload.contentId and artifact metadata to finalize and get the share URL. This does not publish the artifact by itself. Requires code execution and HTTP upload capability.
- **Create artifact thumbnail upload** - Create a thumbnail for an artifact using an image generated locally or supplied by the user. Use only when the user explicitly requests a thumbnail. Requires artifact ownership and applies to the latest version. Creates a thumbnail only when none exists for that version. Overwriting, replacing, or regenerating an existing thumbnail is not supported. For HTML and PDF, use a static 672-by-400 PNG (1.68:1), capturing rendered HTML and a representative animation frame, or the first PDF page. Returns a pre-signed URL and instructions for uploading the image. No publishArtifact call is needed.
- **Create bitbucket repo branch** - Create a Bitbucket branch.
- **Create bitbucket repo commit** - Create a Bitbucket commit.
- **Create bitbucket repo pull request** - Create a Bitbucket pull request.
- **Create bitbucket repo pull request task** - Create a task on a Bitbucket pull request.
- **Create capacity plan non project work** - Create a non-project work item in Individual Capacity Planning. "Non-project work" is a bucket of time that is not a Jira issue or an Atlas project, such as Leave, Run the Business (RtB), on-call, or training.
- **Create confluence attachment** - Prepare a Confluence attachment upload and return a local curl command.
- **Create confluence comment** - Create or reply to a comment on a Confluence page or blog post.
- **Create confluence content** - Create a new Confluence page, blog post, live doc, whiteboard, database.
- **Create confluence infographic for page** - Create an infographic in a page workflow. Use only when a Confluence page creation or editing skill or guided workflow selects it; never as a standalone tool. Returns a media reference for embedding, which may sync later. Call getContentFormatGuide with toolName=createConfluenceInfographicForPage before prompting, and follow its Remix guidance. Generation and billing finish asynchronously; typical cost is 15–30 Rovo credits. Download detailed billing data for final usage; match any returned correlationId and usageUniqueId.
- **Create confluence maui app** - Create a Maui app in a page workflow. Use only when a Confluence page creation or editing skill or guided workflow selects it; never as a standalone tool. Returns a reserved app ID and embed URL for the owning page. Call getContentFormatGuide with toolName=createConfluenceMauiApp before prompting, and follow its Remix guidance. Generation and billing finish asynchronously; typical cost is 15–30 Rovo credits. Download detailed billing data for final usage; match any returned correlationId and usageUniqueId.
- **Create confluence space** - Create a Confluence space. Successful responses include id, key, and homepageId (the homepage / sidebar root content ID).
- **Create focus area** - Create a new Focus area in a workspace. Call getFocusAreaTypes first and use an enabled type UUID for focusAreaTypeId — do not fabricate it. Optionally set parentFocusAreaIdentifier (UUID, ARI, or Focus page URL); if set, the parent's type must be a higher hierarchy level than the type being created. Optionally set startDate and targetDate as { date, confidence } where date is YYYY-MM-DDTHH:mm (e.g. 2026-08-10T00:00; bare dates are not accepted) and confidence is DAY, MONTH, or QUARTER. Omit owner to default to the creating user. Returns the created focus area (identifiers, type, owner, parent, dates, status, health, timestamps). Use getFocusArea for expansions such as aboutContent, statusUpdates, or subFocusAreas. When passing both cloudId and a parent ARI, they must refer to the same site.
- **Create focus area status update** - Create a status update on a focus area, or save it as a draft. Set isDraft to true to save without publishing; retrieve a saved draft later with getFocusArea and include.latestDraftUpdate. To publish a draft (or publish a new update), call this tool again without isDraft: true. Supply at least one of statusTransition, summary, or newTargetDate — passing only focusAreaIdentifier still posts a visible, empty update when publishing, so never call this tool speculatively. Use getFocusArea or searchFocusAreas to resolve focusAreaIdentifier if unknown. Field-level behavior for transitions, summary, target date, and draft constraints is documented on the inputs.
- **Create goal** - Create an Atlassian Goal or Success Measure using an enabled Goal Type.
- **Create goal update** - Create a progress update for an existing Atlassian Goal.
- **Create jira board** - Create a new company-managed Jira Software board (scrum or kanban) from an existing filter. Requires a filter ID the user can view. When location is omitted, the board is filed in the single company-managed project from the filter's JQL. Team-managed (TMP) locations are always rejected: TMP projects are 1:1 project to board (one built-in board at project creation, no way to add another). User locations are also rejected. The response includes a url that opens the board. The filter decides which issues the board shows; location only decides where the board is filed in navigation.
- **Create jira issue** - Create a new Jira issue. Custom fields go in additionalfields: keyed by field name, values are resolved automatically, so no field lookup is needed first (user fields take accountIds); keyed by customfield ID, pass the value in Jira's format. A rejected create returns a repairHint and names the field at fault where there is one, with its allowedValues when known, so retry from that. If sprint assignment fails, the response still has the new issue's key and sprintAssignment.assigned: false — do not create it again.
- **Create jira issue link** - Create a link between two existing issues — blocks, duplicates, clones, relates. Hierarchy is not a link: a parent or epic is the issue's parent field. To link an issue to anything outside Jira — a page, a document, any URL — use createJiraIssueRemoteIssueLink.
- **Create jira issue remote issue link** - Create a native web link in a Jira issue's Web links section for a Confluence page or external HTTP(S) URL. Not a URL custom field; for an issue-to-issue dependency use createJiraIssueLink.
- **Create loom folder** - Create a new folder in the current Loom workspace, optionally nested under a parent folder or placed in a space. Returns the new folder's id, which you can pass to moveLoomVideoToFolder. To list existing folders instead of creating one, use listLoomFolders.
- **Create loom video comment** - Post a comment on a Loom video, anchored to a specific point in the video. The timestamp is in SECONDS (for example 90 for the 1:30 mark). Use this to leave feedback or a note at a moment in the recording. To read existing comments use getLoomVideo with expand: ["comments"]; to add an emoji reaction instead of a text comment use createLoomVideoReaction. Identify the video by ARI or share URL. NOTE: the returned timestamp is remapped onto the video's current (post-trim) timeline, so for a video with trimmed/edited ranges the echoed value can come back up to 1 second lower than the value sent (never higher); for videos with no trims it always matches exactly.
- **Create loom video reaction** - Add an emoji reaction to a Loom video, anchored to a specific point in the video. The timestamp is in SECONDS (for example 90 for the 1:30 mark), the same unit as createLoomVideoComment. Use a Loom-native reaction name (joy, love, wow, nervous, yay, up, down) or an extended emoji slug. To leave a text comment instead, use createLoomVideoComment. Identify the video by ARI or share URL.
- **Create loom video upload** - Step 1 of 2 for uploading a new video to Loom. Creates an upload and returns a ready-to-run local script (plus raw upload endpoints) that transfers the file's bytes. After the script reports the upload is complete, call publishLoomVideo (step 2) with the returned completionPayload to finalize and get the share URL. This does not publish the video by itself.
- **Create project** - Create an Atlassian Project.
- **Create project update** - Post a progress update on an existing Atlassian Project, or save it as an unposted draft with isDraft. Posting is immediately visible on the Project and notifies its followers, so only post when the user asked to; use isDraft to leave it for them to review and post themselves. The response carries isDraft so you can tell which happened, and a draft returns fewer fields than a posted update.
- **Create team** - Create an Atlassian team with a bounded name, optional description, MEMBERINVITE or OPEN membership settings, and up to 50 initial account IDs. Tenant and organization are derived by the server.
- **Diff confluence content versions** - Compute a unified diff between two versions of a Confluence page, live doc, or blog post.
- **Disable confluence public link** - Disable the external public link (anonymous share) for a Confluence page.
- **Download confluence attachment** - Get a Confluence attachment download URL and return a local curl command.
- **Download jira issue attachment** - Get a short-lived download URL for a Jira attachment and return a local downloadCommand. Run it from your shell to save the file.
- **Edit confluence infographic for page** - Edit an infographic in a page workflow. Use only when a Confluence page editing skill or guided workflow selects it; never as a standalone tool. Regenerates the existing infographic and returns a new placeholder media reference for embedding. Call getContentFormatGuide with toolName=editConfluenceInfographicForPage before prompting, and follow its Remix guidance. Generation and billing finish asynchronously; typical cost is 15–30 Rovo credits. Download detailed billing data for final usage; match any returned correlationId and usageUniqueId.
- **Edit confluence maui app** - Edit a Maui app in a page workflow. Use only when a Confluence page editing skill or guided workflow selects it; never as a standalone tool. Regenerates the existing app and returns a new placeholder Maui ID and embed URL. Call getContentFormatGuide with toolName=editConfluenceMauiApp before prompting, and follow its Remix guidance. Generation and billing finish asynchronously; typical cost is 15–30 Rovo credits. Download detailed billing data for final usage; match any returned correlationId and usageUniqueId.
- **Edit jira entity property** - Sets a single property (technical key/value store) on a specific Jira entity (issue, issueComment, issueWorklog, dashboardItem, user), creating or overwriting it. Returns {key, entityType, status}, status being "created" or "updated"; the value you wrote is not returned — read it back with getJiraEntityProperty.
- **Edit jira issue** - Edit an existing Jira issue. Custom fields go in additionalfields: keyed by field name, values are resolved automatically (user fields take accountIds); keyed by customfield ID, pass the value in Jira's format. Every field is set, not appended: send the full list for labels, components and other multi-value fields. Change status or move to a sprint with transitionJiraIssue, and convert Task↔Sub-task with convertJiraIssueHierarchy. Empty description or environment with "". When editing a body that holds inline media, use contentFormat: html, or the media is dropped. Reorder on a board with rankBeforeIssue or rankAfterIssue; fields are saved first, so a failed reorder leaves the edit applied and returns ranking.ranked: false. The response shows only getJiraIssue's default fields, so other fields you set are not echoed back.
- **Enable confluence public link** - Enable the external public link (anonymous share) for a Confluence page.
- **Export confluence content** - Export Confluence content as PDF or Word and return a download link.
- **Get accessible atlassian resources** - Returns the cloudId(s) available to the current user.
- **Get artifact** - Get metadata for an artifact by ID.
- **Get assets object** - Get an Assets object by ID from the selected site.
- **Get assets objects by id** - Get one or more Assets objects by ID from the selected site.
- **Get assets object schema** - Get one or more Assets object schemas by ID from the selected site.
- **Get assets object type** - Get one or more Assets object types by ID from the selected site.
- **Get assets service objects by id** - Get one or more Assets service objects by ID from the selected site.
- **Get bitbucket repo branch** - Get a Bitbucket branch.
- **Get bitbucket repo commit** - Get a Bitbucket commit.
- **Get bitbucket repo commit report** - Get a code-insights report on a Bitbucket commit.
- **Get bitbucket repo commit report annotations** - Get the annotations of a Bitbucket commit report.
- **Get bitbucket repo default reviewers** - Get the effective default reviewers for a Bitbucket repository.
- **Get bitbucket repo deployment** - Get a Bitbucket deployment.
- **Get bitbucket repo environment** - Get a Bitbucket deployment environment, including its latestdeployment and latestsuccessfuldeployment pointers.
- **Get bitbucket repo file content** - Get Bitbucket file or directory content.
- **Get bitbucket repo pipeline** - Get a Bitbucket pipeline.
- **Get bitbucket repo pipeline step** - Get a Bitbucket pipeline step.
- **Get bitbucket repo pipeline step log** - Get the log of a Bitbucket pipeline step.
- **Get bitbucket repo pull request** - Get a Bitbucket pull request.
- **Get bitbucket repo pull request diff** - Get the diff of a Bitbucket pull request.
- **Get bitbucket repo pull request mergeability** - Reports current mergeability checks without performing a merge or triggering custom checks. Each check has status and blocking: use blocking=true to identify current blockers; FAILED or PENDING alone is not enough. A required pending custompremergecheck blocks until it completes; a pending customonmergecheck with blocking=false allows the merge attempt and runs during it, so do not wait for that on-merge check. UNKNOWN means the check could not be evaluated, not that it passed. No current blockers is not a guarantee the subsequent merge will succeed: refs, permissions, and check results can change, and custom on-merge checks can still fail during the merge. Use mergeBitbucketRepoPullRequest to attempt the merge and handle any errors from that attempt.
- **Get bitbucket repository** - Get a Bitbucket repository.
- **Get bitbucket workspace** - Get a Bitbucket workspace.
- **Get capacity plan allocations** - Find who is allocated to what work in Individual Capacity Planning, across ALL capacity plans - not scoped to a single plan.
- **Get code file** - Read the full contents of a single file in a connected source-control repository at a specific commit. Use this to inspect a file surfaced by searchCode: pass matchedFiles[].workspace, repo, path, and version (as commitHash) from that result. Returns the file's text and a link to it.
- **Get confluence approval** - Get Confluence page approval availability, approval status, reviewers, and optional progress or history. Omit contentId to list the pages awaiting the current user's approval decision. For a general page status request, also call getConfluenceContentStatus; for approval status, use this tool only.
- **Get confluence attachment** - Get Confluence attachment metadata by attachment ID.
- **Get confluence comment** - Get a single Confluence comment by ID.
- **Get confluence content** - REQUIRED: Supply at least one content locator: contentid or contenturl.
- **Get confluence content analytics** - Return per-user Confluence viewer rows for one supported content item (page, live doc, or blog post), including each viewer's engagement category, the latest version viewed, and last viewed time. Always present results as a horizontal table, even for one viewer, with exactly these columns in this order: People and agents, Engagement, Latest version viewed, Last viewed, Views. When dates are omitted, Confluence uses the same default range as the Viewers table. Use the relative last-viewed value, such as "7 minutes ago", instead of the exact timestamp. For an AGENT row with both names, present People and agents as "<displayName> with <relatedUserDisplayName>". Keep the Engagement column; if engagement is missing, put "-" rather than inventing another category.
- **Get confluence content ancestors** - List the ancestor chain (parent, grandparent, …) of a Confluence content entity.
- **Get confluence content descendants** - List descendants of a Confluence content entity (page, folder, whiteboard, database, embed, or slide).
- **Get confluence content permissions** - Lists the explicit content-level permission grants on a single Confluence.
- **Get confluence content restriction state** - Reads General access for a single Confluence content entity. The.
- **Get confluence content status** - Read the content state (status) of a Confluence page or blog post.
- **Get confluence content version** - Get one historical version of a Confluence page, live doc, or blog post.
- **Get confluence maui app** - Retrieve the source and metadata for a Maui app owned by a Confluence page.
- **Get confluence personal space** - Get the current user's Confluence personal space.
- **Get confluence public link status** - Get the external public-link (anonymous share) status of a Confluence page.
- **Get confluence reactions** - Get emoji reactions on Confluence content.
- **Get confluence space** - Get one Confluence space by id or key, including enabled content types, optional labels, and instructions when configured. Reuse the result for the same cloudId and space during the current task instead of reading the space before every write. If spaceInstructions is omitted, no instructions are configured; normal authoring does not require a separate getConfluenceSpaceInstructions call.
- **Get confluence space instructions** - Get the space instructions for a Confluence space.
- **Get confluence task** - Get a single Confluence inline task by its ID.
- **Get confluence template** - Get a Confluence template body.
- **Get content format guide** - Get the content-format guide for authoring a rich content body or constructing a Confluence Remix prompt. Pass toolName to receive the canonical guidance for that operation. For generic Confluence content writes, pass the content-specific key (for example createConfluencePage, not createConfluenceContent). For Remix, pass the exact create/edit operation you are about to call. Use this before authoring or editing rich Confluence content, constructing a Remix generation/edit prompt, or writing a Jira issue/comment body in HTML. First call with only toolName; if the returned guidance references follow-up documents, call this operation again with the same toolName and reference set to a single referenced path to load that additional guidance. Fetch one document per call.
- **Get focus area** - Get a focus area by identifier, with optional expansions. Use when the exact focus area UUID, ARI, or page URL is known. For text search or listing, use searchFocusAreas instead. Optional include expansions cover about content, the current user's latest draft status update, status updates, sub-focus areas, linked goals, and linked work.
- **Get focus area types** - Get the configured Focus area type hierarchy for a workspace.
- **Get goal** - Retrieve one Atlassian Goal by its exact Goal ARI or key, with optional related details.
- **Get goal types** - Get the Goal Types available in an Atlassian site for creating Goals and Success Measures.
- **Get goal update** - Retrieve one Atlassian Goal update by its exact Goal Update ARI, with optional related details.
- **Get graph context** - Retrieves connected context from Teamwork Graph for any Atlassian entity. Returns all relationships and linked objects within one traversal – including cross-product and third-party connections. Use when the answer requires connections between entities, not just a single entity's fields.
- **Get graph object** - Fetches the entire available data for one or more objects (Atlassian or third-party) using their ARIs or URLs. Use for the objects gathered from getGraphContext tool.
- **Get jira board config** - Returns the configuration for a Jira board; filter, column layout, and each column's mapped statuses with their id, name and category. For the issues on the board, use getJiraBoardIssueData.
- **Get jira board issue data** - Get the issues on a Jira board, its backlog, or all of them, with optional count and JQL filtering. For an issue search that is not scoped to a board, use searchJiraIssuesUsingJql. For one sprint's issues with progress metrics, use getJiraBoardSprintData — on a Scrum board dataset "board" spans current and future sprints, not just the active one.
- **Get jira board sprint data** - Resolve a Jira board plus its sprint data in one call. Supports board lookup by name, sprint lookup by name, and defaults to the active sprint when sprintId and sprintName are omitted. Returns the board, the resolved sprint, all sprint metadata on that board, and — unless includeIssues is false — the sprint's issues with computed focus and progress slices such as assigned-to-me and at-risk items. If the requested sprint name or ID is not found, the tool returns the resolved board plus the available sprint names to help the agent repair the request. To only list a board's sprints or filter them by state, use listJiraBoardSprints. For board or backlog issues that are not scoped to a single sprint, use getJiraBoardIssueData.
- **Get jira current user** - Get the calling user's own Jira profile. Use it to turn "me" or "my" into an accountId, and to read the user's time zone before resolving relative dates. For a JQL search, skip this tool and write assignee = currentUser() in the query instead. For anyone else use lookupJiraAccountId or getJiraUser.
- **Get jira entity property** - Returns a single property (technical key/value store) from a specific Jira entity (issue, issueComment, issueWorklog, dashboardItem, user), or lists all its property keys when propertyKey is omitted. With propertyKey it returns {key, value} with the stored JSON, null-valued fields generally dropped except assignee; without one, {keys: [...]} — key names only, no values.
- **Get jira issue** - Get a Jira or JSM issue by key or ID. Use for one known issue; use searchJiraIssuesUsingJql to find or list many issues. Reports how many comments an issue has, not the comments themselves — for those use listJiraIssueComments. View "evidence" also returns the issue's links to other issues.
- **Get jira issue type meta with fields** - Returns the schema and field metadata for a specific issue type in a project, useful for creating issues with correct fields. Get issueTypeId from listJiraProjectIssueTypesMetadata first. Each entry in fields gives the fieldId, its name, whether it is required, schema.type — with schema.items naming the element type on arrays — and allowedValues on fields whose value must come from a predefined list. Only required fields are returned unless you pass requiredFieldsOnly: false.
- **Get jira project version related work** - List the related work on a Jira project version (release): the designs, test plans, runbooks and change records teams attach to it. Use an item's relatedWorkId to edit it with manageJiraProjectVersionRelatedWork; Jira's own release-note item has no relatedWorkId and cannot be edited.
- **Get jira project versions** - List a Jira project's releases/versions (pass projectIdOrKey), or fetch a single version (pass versionId) — provide exactly one. Results come back in a paginated envelope (values[]); in single-version mode the list-only inputs (startAt, maxResults, query, status, orderBy) are ignored. Optionally set include to add the "driver" and/or "approvers" to every version returned, but leave it unset unless the user explicitly asks for them. To create, update, or release a version, use manageJiraProjectVersion instead.
- **Get jira user** - Get a Jira user's profile by account ID, including time zone, locale and active status, plus groups and application roles when asked for via expand. If you do not have the accountId, use lookupJiraAccountId or listJiraIssueAssignableUsers first. For the calling user's own profile use getJiraCurrentUser instead.
- **Get loom video** - Reads a Loom video's core metadata and optionally its transcript, comments, AI agent briefs, AI-extracted meeting action items, or attached links in one call via the expand input.
- **Get loom video download url** - Get a time-limited signed URL to download the actual MP4 file of a Loom video. This is the tool to use when the user wants the video file itself (to download, re-upload, or process), not its transcript or metadata (use getLoomVideo for those). MP4 generation is asynchronous: the response includes a status and, when not yet ready, a retryAfterSeconds hint — poll this tool until status is READY, then use the returned url before expiresAt. Identify the video by ARI or share URL.
- **Get my work** - Read the signed-in user's recent Jira, Confluence, Goals, Projects and Loom activity on one site. Returns things worked on or viewed, newest activity first, with titles, URLs and activity timestamps. Uses Activity Platform with no enriched graph-context or Cypher calls. Assigned work is not part of this feed. The lookback is configurable and defaults to 90 days.
- **Get project** - Retrieve one Atlassian Project by its exact Project ARI or key, with optional related details.
- **Get project update** - Retrieve one Atlassian Project update by its exact Project Update ARI, with optional related details.
- **Get talent fields** - Discover the workspace's queryable Talent fields, or resolve the valid filter values for a specific field. Call BEFORE authoring RQL: with no fieldId it lists the available field IDs (including custom fields), grouped by what they describe (position, worker, team, skill, focus area, focus area type, proposal, proposed movement and view fields), excluding hidden fields; with a fieldId it returns that field's valid values, paginated. Field IDs and values are workspace-specific and must not be guessed.
- **Get talent group metrics** - Aggregate Talent positions into COUNTS grouped by one to four position field IDs — headcount by country, by status, by level, by job family, by manager, or any nesting of those. Returns only the grouped counts and their field values, never the positions themselves: when the underlying list is wanted use searchTalentPositions, and when the breakdown is by reporting line or focus area use getTalentPositionsByEntity, which groups by entity rather than by field. Grouping field IDs are workspace-specific, must be groupable, and must not be guessed — call getTalentFields to resolve them. The common built-ins are positionCountry, positionStatus, positionLevel, positionRole, positionJobFamily, positionJobTitle, positionEmploymentType, positionManager and team.
- **Get talent position** - Read a single Talent position by its ARI, returning its selected position field values and, optionally, field values for the worker filling it. Use this only when you already have the position ARI: take it from a searchTalentPositions result's id, or from a getTalentPositionsByEntity result's entityId — NOT that tool's id, which is a connection node identifier and is not accepted here. To FIND a position rather than read a known one, use searchTalentPositions. To identify the worker filling the position, request positionWorker in positionFieldIdIsIn — that yields the worker's id, name and accountId. Do not rely on workerFieldIdIsIn for more than that: the backing action accepts it but does not currently return the requested worker field values, so attributes like skills or email will not come back here. Field IDs are workspace-specific and must not be guessed — call getTalentFields to resolve them. Common position built-ins are positionJobTitle, positionCountry, positionLevel, positionStatus, positionManager and positionWorker.
- **Get talent positions by entity** - List the Talent positions attached to an entity — the direct reports of a manager position (entity=position with that manager's ARI as fieldValue), or the positions rolled up to a focus area (entity=focusArea). This is the tool for walking the org chart and for breaking staffing down across focus areas or reporting lines, because it is the only one that can scope to those entities; it returns the underlying positions, paginated forward with after + endCursor. The two entities are scoped by DIFFERENT inputs: entity=position scopes with fieldValue, entity=focusArea scopes with rql. fieldValue is ignored when entity=focusArea, so a focus area passed there returns every row unfiltered — use rql "focusArea = '<focus area ARI>'" for that one area, or rql "focusAreaParent = '<focus area ARI>'" for its direct children. Use getTalentGroupMetrics INSTEAD when you want counts grouped by a position FIELD and not the positions themselves, and searchTalentPositions INSTEAD for a flat attribute filter that is not entity-scoped. Each returned position carries both an entityId and an id: entityId is the position identifier to pass to getTalentPosition, while id identifies the row within this connection and is NOT accepted as a position ARI. Field IDs and RQL values are workspace-specific and must not be guessed — resolve them with getTalentFields; focusArea and focusAreaParent are standard field IDs and are safe to use exactly as written. Useful built-ins are positionWorker, team, positionJobTitle, positionRole, positionStatus, aiMonthlyUsageCostSelfTotal and aiMonthlyUsageTokenSelfTotal.
- **Get talent user** - Resolve the calling user's own place in the Talent workspace: their position entity ID, their manager's position entity ID, and their role. Call this FIRST to anchor any self-referential request ("my team", "my reports", "who do I report to") before using the other Talent tools. Note this returns entity IDs, not position ARIs — to get a position ARI for getTalentPosition or getTalentPositionsByEntity, look the position up with searchTalentPositions.
- **Get team** - Get core metadata for one Atlassian team. Optionally expand any unique subset of members and hierarchy; each expansion supports its own cursor.
- **Link to focus area** - Link one of either goals, work items, or sub-focus areas to a focus area. Add exactly one connection type per call. Prefer identifiers from a prior lookup, or call a lookup to get them; do not fabricate ARIs. Useful lookup helpers: getGoal for goal ARIs, getJiraIssue for Jira work ARIs, and getProject for Atlassian project ARIs. In this tool, WORKITEM means one of the supported work ARI families: Jira/JPD issues or Atlassian projects. focusAreaIdentifier accepts a focus area UUID, ARI, or page URL. Linking GOAL or WORKITEM requires focusAreaIdentifier to be a focus area ARI; if only a UUID or URL is known, call getFocusArea and pass the returned ari. connection must specify exactly one type: GOAL with goalAris, WORKITEM with workAris, or FOCUSAREA with focusAreaIdentifiers.
- **List artifacts** - List artifacts created by the current user using cursor pagination.
- **List assets object schemas** - List all Assets object schemas in the selected site's workspace.
- **List assets object type attributes** - List attributes for one or more Assets object types in the selected site.
- **List bitbucket repo commit pull requests** - List Bitbucket pull requests that contain a commit.
- **List bitbucket repo commit reports** - List code-insights reports on a Bitbucket commit.
- **List bitbucket repo commits** - List commits in a Bitbucket repository.
- **List bitbucket repo deployments** - List Bitbucket deployments for a repository.
- **List bitbucket repo environments** - List Bitbucket deployment environments for a repository.
- **List bitbucket repo pipelines** - List Bitbucket pipelines for a repository.
- **List bitbucket repo pipeline steps** - List the steps of a Bitbucket pipeline.
- **List bitbucket repo pull request comments** - List comments on a Bitbucket pull request.
- **List bitbucket repo pull requests** - List pull requests in a Bitbucket repository.
- **List bitbucket repo pull request tasks** - List the tasks on a Bitbucket pull request.
- **List bitbucket repositories** - List repositories in a Bitbucket workspace.
- **List bitbucket workspace pull requests** - List pull requests across accessible repositories in a Bitbucket workspace; all supplied filters must match.
- **List bitbucket workspaces** - List Bitbucket workspaces the user is a member of.
- **List capacity plan non project work** - Search the non-project work items on a site. "Non-project work" is the user-facing name for a custom contribution target - the buckets of time that are not a Jira issue or an Atlas project, such as Leave, Run the Business (RtB), on-call, or training.
- **List code directory** - List the files and subdirectories under a path in a connected source-control repository at a specific commit. Paginated — pass the returned nextPage cursor to fetch the next page. Use it to browse a repository's structure discovered via searchCode.
- **List confluence attachments** - List attachment metadata for a Confluence content item.
- **List confluence comments** - List comments on a Confluence page or blog post.
- **List confluence content** - List Confluence content of one type within a single space (page, blog, live doc, whiteboard, database, embed, smart link, folder, slide).
- **List confluence content versions** - List version history for a Confluence page, live doc, or blog post, newest first.
- **List confluence spaces** - List Confluence spaces accessible to the caller.
- **List confluence tasks** - List Confluence inline tasks, optionally scoped to a page or blog post and filtered by status.
- **List confluence templates** - List Confluence templates and blueprints.
- **List jira boards** - List Jira boards visible to the current user. Use it to get board IDs for getJiraBoardIssueData, getJiraBoardConfig and listJiraBoardSprints; getJiraBoardSprintData can resolve a board by name directly. Returns each board's ID, name, type, edit/privacy/favourite flags and location. Page with startAt until isLast is true. projectKeyOrId matches boards whose JQL references that project, not boards located in it. includePrivate appends private boards, but Jira omits their name and type.
- **List jira board sprints** - List a board's sprints — past, active or upcoming — or resolve a sprint name to the numeric sprintId that transitionJiraIssue and manageJiraSprint take. Not needed before createJiraIssue, whose assignToSprint accepts a sprint name or "active" directly. For the active sprint plus its issues and progress in one call, use getJiraBoardSprintData.
- **List jira dashboards** - Returns Jira dashboards visible to the current user for discovery and linking workflows. Use this to find dashboard IDs, names, and links that can be shared or opened. This tool is intentionally lightweight and does not fetch dashboard gadget data. Page with startAt until isLast is true.
- **List jira filters** - Search saved Jira filters visible to the current user, returning their IDs and JQL. To get the matching issues, run a filter's jql through searchJiraIssuesUsingJql; to build a board, pass its id as createJiraBoard's filterId. projectId finds filters shared with that project, not filters whose JQL mentions it.
- **List jira issue assignable users** - List the users who can actually be assigned work in a project or on an issue. Filters by assign permission, which a plain name search does not, so prefer it when choosing an assignee for editJiraIssue or createJiraIssue.
- **List jira issue changelogs** - Get a Jira issue's field-change history — field edits only — paginated oldest-first with no ordering options. For the current value or most recent change, read total (which counts entries, not items) and request startAt = max(0, total - your page size); for counts or patterns across the history, page from startAt 0. A field's original value is in the first item that changed it; fields never changed leave no trace, and the log starts at the first edit, not at creation. On an item, from/to are IDs or raw values and are absent on text and array fields; fromString/toString are display text, and on array fields like labels each side is the complete set (space-joined, sorted) — diff the two sides, never read one as a delta. Jira omits from and fromString together when the field had no previous value, and to and toString together when it was cleared (so an assignee item with no to/toString is an unassignment). Match items on field, not position: order within an entry varies. Do not infer automation from author.accountType — a script running under a person's token reads "atlassian".
- **List jira issue comments** - Get a paginated list of comments for a Jira issue. Use this instead of getJiraIssue when an issue has many comments — getJiraIssue embeds at most 20 and cannot page them. Page with startAt until isLast is true; total is the full comment count. Each comment reports any visibility restriction on it and, on JSM, whether it is internal (jsdPublic: false) — check both before quoting or summarising a comment. Comments are returned as a flat list: a non-null parentId means the comment is a reply, and parentId identifies its root/parent comment. Group comments by parentId to reconstruct threads. Set reactionDetail when emoji reaction data is needed. For the issue's own fields, use getJiraIssue.
- **List jira issue link types** - List the issue link types configured on this site, each with its name and its inward and outward wording (name "Blocks", inward "is blocked by", outward "blocks"). Call it before createJiraIssueLink, which takes the name, when the user has described a link by its inward/outward wording. Issue linking must be enabled site-wide; where it is turned off this operation and createJiraIssueLink both fail.
- **List jira issue remote issue links** - List the Confluence pages and external URLs linked from an issue's Web links section. These are not issue-to-issue links: for those call getJiraIssue with view "evidence", which returns fields.issuelinks. Check here before calling createJiraIssueRemoteIssueLink: the same URL added twice becomes two separate links, and no operation removes one.
- **List jira issue transitions** - List the workflow transitions this issue can take right now, for the calling user. Pass a transition's id to transitionJiraIssue. A transition's name and the status it leads to are separate fields: when the user names a target status, match the status a transition leads to, not the transition's name. For every status a project defines, rather than this issue's currently valid moves, use listJiraStatuses.
- **List jira issue worklogs** - Get a paginated list of worklogs (logged time) for a Jira issue. Ordered by worklog creation time, not by when the work started — so the last page is not the most recent work. To find recent work, filter with startedAfter/startedBefore, or read every page and sort by started.
- **List jira project components** - List a Jira project's components with their ids, names, lead and assignee settings, and issueCount — 0 means no issues use a Jira component; Compass results list only components already linked to issues. realAssignee is who actually receives issues when the configured assignee cannot be used. Use it to find a valid component name before setting components on createJiraIssue or editJiraIssue.
- **List jira project issue types metadata** - Returns all issue types available in a Jira project, useful for knowing which issue types can be created. Each entry gives the issue type's id, name, description and subtask flag; pass that id as issueTypeId to getJiraIssueTypeMetaWithFields to get the type's create fields. Page with startAt until it covers total.
- **List jira projects** - Find the Jira projects the calling user can see — use it to resolve the projectKey that createJiraIssue requires, or the project a JQL search filters on. For a project's releases use getJiraProjectVersions; for its statuses, use listJiraStatuses.
- **List jira statuses** - List the statuses a Jira issue can be in — for a project (per work type), for one status looked up by ID or name, or across the whole site by name or category. Takes a PROJECT key (or project ID), not an issue key. For what a specific issue can do right now, use listJiraIssueTransitions instead; a status existing in a project does not mean a given issue can move to it.
- **List loom folders** - List the folders in the current Loom workspace that a video can be moved into, returning each folder's id, name, and parent space. Use this to discover a destination folder id before calling moveLoomVideoToFolder, or to pick a folderId for createLoomVideoUpload / publishLoomVideo. Pass query to filter folders by name; omit it to list all folders.
- **List loom videos** - List the Loom videos you own (that you created), most recent first. This is a primary entry point for finding a video: it returns each video's ARI, name, and description, which you can pass to getLoomVideo, getLoomVideoDownloadUrl, or any video action. Always scoped to the current user — there is no user parameter. Optionally filter by the video's creation date with the ISO-8601 createdAtFrom / createdAtTo bounds, and paginate with limit / offset. To find videos other people shared with you, use listLoomVideosSharedWithMe.
- **List loom videos shared with me** - List the Loom videos that other people have shared with you, most recent first. Returns each video's ARI, name, and description so you can pass the ARI to getLoomVideo, getLoomVideoDownloadUrl, or any video action. Always scoped to the current user — there is no user parameter. Optionally filter by the video's creation date with the ISO-8601 createdAtFrom / createdAtTo bounds (this filters on when the video was created, not when it was shared with you) and paginate with limit / offset. To list videos you own, use listLoomVideos.
- **List my bitbucket pull requests** - List Bitbucket pull requests authored by you across a workspace; defaults to open PRs.
- **List my bitbucket review requests** - List Bitbucket pull requests where you are a reviewer; defaults to open PRs and includes already-approved reviews.
- **Lookup jira account id** - Look up a Jira user account ID by display name or email — skip it if you already have the accountId. Returns only accountId, displayName and active, plus emailAddress when profile visibility allows it; for time zone, locale, groups, or application roles, pass the accountId on to getJiraUser. To choose an assignee use listJiraIssueAssignableUsers instead, which returns only users who can be assigned.
- **Manage confluence approval** - Request, decide, cancel, clear, or update a Confluence page approval. Approvals support pages only, not live docs or blog posts.
- **Manage jira project version** - Create, update, release, or archive a Jira project version (release or fix version). create returns the version id the other actions need. If release uses moveUnfixedIssuesTo, setting released: false later does not move those issues back. Otherwise release and archive change only the version, not its issues, and update can reverse either. To view or list versions, or read their release driver and approvers, use getJiraProjectVersions.
- **Manage jira project version related work** - Create or update related work links on a Jira project version (release). To read a version's existing related work, use getJiraProjectVersionRelatedWork. Both actions return the relatedWorkId a later update requires, with the stored category, title and url.
- **Manage jira sprint** - Create, add issues to, start, update, or close a Jira sprint; get a sprintId from listJiraBoardSprints. create returns the new sprint's id, which every later action needs. update rewrites the whole sprint, so any of name, goal, startDate or endDate you omit is cleared — resend the ones to keep; start and close keep them. Closing is one-way. addIssues returns movedIssues, as does start when given issueIdsOrKeys; both add estimatedIssues, with the field each estimate was written to, when storyPoints are passed.
- **Merge bitbucket repo pull request** - Merge a Bitbucket pull request.
- **Move confluence content** - Move a Confluence page, whiteboard, database, folder, or embed to a new parent or sibling position.
- **Move loom video to folder** - Move a Loom video into a folder in the current workspace. Get a destination folder id from listLoomFolders (or createLoomFolder). Identify the video by ARI or share URL.
- **Publish artifact** - Step 2 of 2 for uploading an artifact. Finalizes content whose bytes were already transferred via createArtifactsUpload (step 1), using the contentId from that step's completionPayload. Only call after the upload has completed. Creates a new artifact, or publishes a new version by supplying an existing artifact ID. Save, preserve, or store AI-generated analysis, reports, dashboards, charts, visualizations, and HTML slide decks durably behind a persistent link. Returns that link, which does not by itself grant anyone access: use shareArtifact to let named users, groups, or teams open it.
- **Publish loom video** - Step 2 of 2 for uploading a new video to Loom. Finalizes a video whose bytes were already transferred via createLoomVideoUpload (step 1), using the keyPath and fileName from that step's completionPayload. Only call this after the upload has completed. Returns the user-facing Loom share URL. Optionally place the video in a folder or space.
- **Query assets objects** - Query Assets objects with generated AQL for one object type in the selected site.
- **Query assets object schema attributes** - Query attributes for one or more Assets object schemas in the selected site.
- **Query assets objects using aql** - Query Assets objects with raw or generated AQL in the selected site.
- **Query assets object types** - Query Assets object types by schema in the selected site.
- **Query assets reference types** - Query global or schema-scoped Assets reference types in the selected site.
- **Recover loom video** - Recover a Loom video that failed to process, by initiating a recovery job to re-process it. Use this when a video is stuck or errored (for example isComplete is false in getLoomVideo). Identify the video by ARI or share URL.
- **Remove confluence content permissions** - Removes content-level permission grants from a single Confluence content.
- **Reopen bitbucket repo pull request comment** - Reopen a resolved comment thread on a Bitbucket pull request.
- **Reopen confluence task** - Reopen a completed Confluence inline task (mark it incomplete).
- **Replace confluence content permissions** - Replaces ALL content-level permission grants on a single Confluence content.
- **Request changes on bitbucket repo pull request** - Request changes on a Bitbucket pull request.
- **Resolve bitbucket repo pull request comment** - Resolve a comment thread on a Bitbucket pull request.
- **Resolve confluence content macros** - Resolve supported Confluence macro wrappers into per-macro HTML displayed in Confluence web. Use after getConfluenceContent when a full document read returns wrappers instead of visible content, especially for Include Page, Excerpt Include, and Jira macros. Use the returned HTML bodies to supplement the base document; this operation does not reconstruct the full page.
- **Restore confluence content version** - Restore an earlier version of a Confluence page, live doc, or blog post as a new latest version.
- **Revoke artifact share** - Stop sharing an artifact with named users, groups, or teams, or with every audience at once. Supply either audienceAris or revokeAll, never both and never neither. Revoking a share that was never granted still succeeds. This does not change the artifact's access level. An artifact readable by anyone with the link, or by the whole organisation, stays readable after every share is revoked, and the response says so when that is the case.
- **Run bitbucket repo pipeline** - Run a Bitbucket pipeline.
- **Scan code repo** - List the file paths in a connected source-control repository at a specific commit, optionally filtered by a glob or restricted to a subtree. Returns paths only, no file contents. Paginated — pass the returned nextCursor to fetch the next page.
- **Search** - Semantically search Jira, Confluence, and connected third-party content using Rovo Search. ALWAYS use this tool to search for Jira and Confluence content unless CQL or JQL is specified. The utilisation of this tool may consume up to 10 Rovo Credits. If the user or organization does not have any Rovo Credits available, the tool call will fail.
- **Search assets objects** - Search Assets objects by name or query-builder filters in the selected site.
- **Search code** - Search source code across connected source-control providers using semantic, lexical, or hybrid matching. Returns matching files along with the specific code spans that matched.
- **Search confluence** - Search Confluence content with CQL.
- **Search focus areas** - Search focus areas using text and structured filters with optional pagination and sorting. Omitting query and filters lists/browses focus areas. Exact lookup by ARI, UUID, or URL should use getFocusArea instead. getFocusArea also returns more detail per focus area than search results do — startDate, archived/draft/starred/watching flags, created and updated timestamps, and direct child focus areas — so follow up with it once a specific focus area is identified. Set include.aboutContent to true to fetch about content, and/or pass include.statusUpdates for latest status updates per result. Paginate with first/after using pageInfo.endCursor.
- **Search goals** - Find Atlassian Goals by text and structured filters.
- **Search jira issues using jql** - Search for Jira issues using JQL, with an optional approximate count. Use view: "evidence" to fetch and map custom fields. Page with nextPageToken until isLast is true. For one known issue, use getJiraIssue. JQL only returns issues; inferring anything else from issue rows is silently incomplete. Use the purpose-built operation for sprints, boards, board config, field history, worklogs, releases, accountIds, issue types, projects and statuses.
- **Search projects** - Find Atlassian Projects by text and structured filters.
- **Search talent positions** - Search Talent positions by their own attributes using an RQL filter, returning a paginated list of positions with their requested field values (each position's ARI is the id, so this is how you obtain ARIs for getTalentPosition). Use this for flat attribute filters — job title, country, level, status, job family, tenure. Use getTalentPositionsByEntity INSTEAD when scoping to a reporting line or a focus area, and getTalentGroupMetrics INSTEAD when you only need counts rather than the positions themselves. RQL field IDs and their valid values are workspace-specific and must not be guessed — call getTalentFields to resolve them. The common built-ins are positionJobTitle, positionCountry, positionLevel, positionStatus, positionRole, positionManager, positionTenure, positionJobFamily, positionEmploymentType, positionWorker and team; for anything else, or for a field's valid values, go through getTalentFields. If a filter returns nothing, suspect the field ID or its value and check it with getTalentFields rather than adding more filters.
- **Search teams** - Search Atlassian teams by name with cursor pagination. Core team fields are returned by default; pass expand ["members"] to include a separately paginated member summary for each team.
- **Set bitbucket repo pull request task state** - Resolve or reopen a Bitbucket pull request task.
- **Set confluence content restriction state** - Sets the high-level restriction state for a single Confluence content entity.
- **Set confluence content status** - Set the content state (status) of a Confluence page or blog post.
- **Set confluence space instructions** - Set the space instructions for a Confluence space.
- **Share artifact** - Grant named users, groups, or teams permission to view an existing artifact. Use this when someone cannot open an artifact yet, because publishArtifact returns a link but grants nobody access, and this is what makes that link work for them. This adds individual grants; it does not make the artifact readable by anyone with the link or by the whole organisation, which are the artifact's access level and are not set here. The call is atomic, so if any audience is invalid nothing is granted. Returns the artifact's resulting access level and the audiences it is now shared with.
- **Share loom video** - Share a Loom video with one or more specific Atlassian users by sending them a notification (with an optional message). This notifies people; it does not change the video's visibility — to make a video WORKSPACE- or PUBLIC-visible use updateLoomVideoPermissions instead. Identify the video by ARI or share URL, and recipients by their Atlassian user ARIs or exact name/email address.
- **Star confluence content** - Star a Confluence content item for the current user.
- **Star confluence space** - Star a Confluence space for the current user.
- **Transition jira issue** - Move a Jira issue through its workflow and/or into a sprint or the backlog — at least one is required. Take transitionId from listJiraIssueTransitions; transitionName is the transition's own name, not the target status. Returns the status the issue actually landed in, so no read-back is needed. If the sprint/backlog move fails after the status change succeeds, the status change stays — retry the move alone, not the whole call.
- **Unarchive confluence content** - Unarchive (restore) a single Confluence content entity.
- **Unstar confluence content** - Remove a star from a Confluence content item for the current user.
- **Unstar confluence space** - Remove a star from a Confluence space for the current user.
- **Unwatch confluence content** - Stop watching a Confluence content item for the current user.
- **Unwatch confluence label** - Stop watching a Confluence label for the current user.
- **Unwatch confluence space** - Stop watching a Confluence space for the current user.
- **Update bitbucket repo pull request** - Update a Bitbucket pull request.
- **Update bitbucket repo pull request comment** - Update the text of a comment on a Bitbucket pull request.
- **Update capacity plan allocations** - Allocate people to a single work item over one or more time periods in Individual Capacity Planning.
- **Update capacity plan non project work** - Rename an existing non-project work item in Individual Capacity Planning. "Non-project work" is a bucket of time that is not a Jira issue or an Atlas project, such as Leave, Run the Business (RtB), on-call, or training.
- **Update confluence comment** - Update an existing Confluence footer or inline comment on a page or blog post.
- **Update confluence comment resolution** - Resolve or reopen a Confluence footer or inline comment.
- **Update confluence content** - Update Confluence docs, whiteboards, or databases.
- **Update focus area** - Update one or more fields on an existing Focus area. Provide at least one of name, owner, startDate, or description — identifier-only calls fail upstream. Omitted fields are unchanged. Use createFocusAreaStatusUpdate for status, health, target date, or status summary changes. Multiple fields become separate mutations — a later failure can leave earlier fields already applied.
- **Update loom video permissions** - Change who can access a Loom video by setting its visibility to OWNER (only you), WORKSPACE (anyone in your workspace), or PUBLIC (anyone with the link). The change is immediate and permanent. To notify specific people about a video instead of changing its visibility, use shareLoomVideo. Identify the video by ARI or share URL.
- **Update loom video title** - Rename a Loom video. The change is immediate and visible to all viewers. Identify the video by ARI or share URL. To change who can access the video instead of its title, use updateLoomVideoPermissions.
- **Update talent position focus area mappings** - Allocate Talent positions to focus areas, or clear the focus area a position is allocated to. Each mapping sets the focus area of ONE position and REPLACES the focus area that position is allocated to now — a position is allocated to one focus area at a time, so this is not additive and it cannot add a second focus area to a position. Omit focusAreaId in a mapping to clear the allocation and leave that position unallocated. Every mapping is applied as a single all-or-nothing change, so one rejected ARI fails the whole call — keep batches small. Do not guess either ARI: take a position ARI from a searchTalentPositions result's id or a getTalentPositionsByEntity result's entityId, and take a focus area ARI from getTalentFields for the focus area field, or from searchFocusAreas. To see which positions a focus area is staffed by before or after the change, call getTalentPositionsByEntity with entity=focusArea.
- **Update team** - Update one Atlassian team through exactly one operation. Use updatedetails with displayName, description, or membershipSettings; addmembers with accountIds and/or add-only emails; or removemembers with accountIds. Metadata and membership changes cannot be mixed. Removing members can remove access.
- **Upload attachment to jira issue** - Attach a single local file to a Jira issue. Two phases: (1) call with filePath only to get a local uploadCommand; run it from your shell to upload the bytes and obtain a fileId; (2) call again with that fileId to attach the file to the issue. To instead embed the uploaded file inline in a body, stop after phase 1 and pass the fileId (with its collection) to editJiraIssue/addOrEditJiraIssueComment via inlineFileId (appends at the end) or an HTML body media node (for positional placement) — do not also run phase 2 for the same file.
- **Watch confluence content** - Start watching a Confluence content item for the current user.
- **Watch confluence label** - Start watching a Confluence label for the current user.
- **Watch confluence space** - Start watching a Confluence space for the current user.
- **Watch jira issue** - Add or remove the calling user as a watcher on a Jira issue. Always acts on you — it cannot add or remove another person, and it does not list who is watching. Watching only subscribes you to notifications about the issue; it does not assign it to you. To do that, set the issue's assignee field with editJiraIssue.

## Viktor uses Jira & Confluence together with

- [Slack](https://viktor.com/integrations/slack)
- [Gmail](https://viktor.com/integrations/gmail)
- [Google Sheets](https://viktor.com/integrations/google-sheets)
- [HubSpot](https://viktor.com/integrations/hubspot)
- [Salesforce](https://viktor.com/integrations/salesforce)
- [Stripe](https://viktor.com/integrations/stripe)

## More Productivity integrations

- [GitHub](https://viktor.com/integrations/github)
- [Asana](https://viktor.com/integrations/asana)
- [Monday.com](https://viktor.com/integrations/monday-com)
- [Linear](https://viktor.com/integrations/linear)
- [Notion](https://viktor.com/integrations/notion)
- [Miro](https://viktor.com/integrations/miro)
- [ServiceM8](https://viktor.com/integrations/servicem8)
- [ClickUp](https://viktor.com/integrations/clickup)

## FAQ

### Does Viktor integrate with Jira & Confluence?

Yes. Jira & Confluence is one of the 9,800+ tools Viktor connects to, as one of Viktor's native, deepest integrations. Once connected, anyone on your team can put Viktor to work in Jira & Confluence from their workspace - no workflow builder, no code.

### How do I connect Jira & Confluence to Viktor?

Ask Viktor in your workspace to connect Jira & Confluence, then approve the one-click OAuth prompt. Viktor never sees your password, handles authentication itself, and starts working right away. Setup takes about two minutes, and you can revoke access at any time.

### What can Viktor do in Jira & Confluence?

Viktor can run 242 Jira & Confluence actions, including Search, Get goal, and Get team - and chain them with other tools in a single request. In practice that means Viktor helps you plan, assign, and track project tasks. If a task spans several actions, Viktor plans the sequence itself and reports back when the work is done.

### Do I need to build workflows for Jira & Confluence?

No. Viktor isn't a workflow builder - there are no triggers to map and nothing to maintain. You ask for the outcome in plain English in your workspace, and Viktor decides which Jira & Confluence actions to take, runs them, and reports back.

### Is my Jira & Confluence data secure with Viktor?

Yes. Viktor connects to Jira & Confluence in one click via OAuth, runs in an isolated environment per team, and never trains models on your data. Sensitive actions wait for your approval, and you can revoke access at any time. Viktor is SOC 2 Type 1 compliant, with Type 2 and ISO 27001 in progress.

### How much does the Jira & Confluence integration cost?

Nothing extra - every integration, including Jira & Confluence, is available on every plan. You can start free with up to $100 in credits, no credit card required; the Team plan is $100 a month.

### Can Viktor use Jira & Confluence together with my other tools?

Yes - that's the point. Viktor connects to 9,800+ tools and works across them in a single run: he can pull data from Jira & Confluence, cross-reference it with another tool - for example Slack or Gmail, and deliver the finished result in your workspace.

## Get started

Viktor is free to start - up to $100 in credits, no credit card required. All 9,800+ integrations are included on every plan. Sign up at https://viktor.com or browse all integrations at https://viktor.com/integrations.
