Bitbucket modules
Common modules
Compass modules
Confluence modules
Jira modules
Jira Service Management modules
Rovo modules (Preview)

When you use Rovo APIs, you must comply with the Atlassian Acceptable Use Policy, including the section titled “Artificial intelligence offerings and features.” For the protection of our customers, Atlassian performs safety screening on Agents at our sole discretion. If we identify any issues with your Agent, we may take protective actions, such as preventing the Agent from being deployed or suspending your use of Rovo APIs. Where possible we will notify you of the nature of the issue, and you must use reasonable commercial efforts to correct the issue before deploying your Agent again.

Rovo Agent (Preview)

The rovo:agent module defines an Agent. Agents are configurable AI teammates that integrate into Jira and Confluence workflows. You can define an Agent's behaviour using a prompt and an action, so the Agent can fetch data and perform operations.

Data access

Unlike Agents built using a product user interface (UI), app based Agents only have access to the data in the workspace that the app is installed in.

For instance, if there is a Confluence page located at yourtenant.atlassian.net that describes your team's CI/CD process, an app-based Agent that is installed in Jira at yourtenant.atlassian.net will not have automatic access to it.

Manifest structure

1
2
modules {}
└─ rovo:agent []
   ├─ key (string) [Mandatory]
   ├─ name (string) [Mandatory]
   ├─ description (string) [Optional]
   ├─ icon (string) [Optional]
   ├─ prompt (string) [Mandatory]
   ├─ conversationStarters [] [Optional]
   │  └─ conversationStarter (string)
   ├─ actions [] [Optional]
   │  └─ action (string)
   └─ followUpPrompt (string) [Optional]

resources []
└─ key (string) [Mandatory]
└─ path (string) [Mandatory]

In this structure:

  • The rovo:agent array includes properties such as key, name, description, icon, prompt, conversationStarters, actions, and followUpPrompt.
  • The conversationStarters array and actions array are represented with generic entries conversationStarter and action, respectively.
  • The resources array includes properties key and path.

Properties

PropertyTypeRequiredDescription
keystringYesA key for the module, which other modules can refer to. Must be unique within the manifest.
Regex: ^[a-zA-Z0-9_-]+$
namestringYesThe name of your Agent.
descriptionstringThe description of your Agent. This is used to describe what your Agent can do to users.
iconstringThe icon displayed as the Agent’s avatar.
The icon property accepts a relative path from a declared resource. Alternatively, you can also use an absolute URL to a self-hosted icon.
If no icon is provided, or if there's an issue preventing the icon from loading, a generic avatar will be displayed.
The icon property is still being implemented. However, you can include the property in the manifest but it won’t yet be displayed on the front end.
promptstringYesThis is the custom LLM prompt where you describe how your Agent will behave.
You can specify the prompt as a string or provide it as a relative path to a declared resource. See, the prompt as resource example.
To use a relative path for the prompt, you must have Forge CLI version 10.6.0 or above.
conversationStartersstring[]Conversation starters that will be suggested to the user when they engage with your Agent.
actionsactionsA list of the actions that the Agent can invoke.
followUpPromptstringA prompt that will be used to generate follow up suggestions once the user’s original query has been answered.

Manifest example

Here is an example manifest file for creating an Agent that assists with managing project risks:

1
2
modules:
  rovo:agent: 
    - key: risk-agent
      name: "My Risk Register Assistant"
      description: A Rovo Agent that helps you manage your project risks
      icon: resource:example-resource;icons/risk-agent.svg
      prompt: |
        You are a helpful assistant that helps users manage their project risks. 
        You can retrieve risks from the risk register, create new risks and update existing ones.
      conversationStarters:
        - Fetch my active project risks
        - Fetch my highest priority risks
        - Create a new risk
      actions:
        - fetch-all-risks
        - fetch-risk-by-priority
        - create-risk
        - update-risk
resources:
  - key: example-resource
    path: static/hello-world/build

prompt as a resource

1
2
modules:
  rovo:agent: 
    - key: risk-agent
      name: "My Risk Register Assistant"
      description: A Rovo Agent that helps you manage your project risks
      icon: resource:example-resource;icons/risk-agent.svg
      prompt: resource:agent-resource;prompts/agent-prompt.txt
      conversationStarters:
        - Fetch my active project risks
        - Fetch my highest priority risks
        - Create a new risk
      actions:
        - fetch-all-risks
        - fetch-risk-by-priority
        - create-risk
        - update-risk
resources:
  - key: example-resource
    path: static/hello-world/build
  - key: agent-resource
    path: resource/agent

Here agent:prompt refers to following string resource: resource/agent/prompts/agent-prompt.txt

1
2
You are a helpful assistant that helps users manage their project risks. 
You can retrieve risks from the risk register, create new risks and update existing ones.

Agent interaction points

Chat side panel (Confluence and Jira)

Accessed by clicking the Chat button in the top navigation bar

Example of a chat button

AI toolbar in the Confluence editor

Accessed using the /ai command in the editor

Example of a chat button

The AI toolbar in the Jira editor

Accessed using the /ai command in the Jira issues editor

Example of a chat button

Writing effective prompts

When creating prompts for an Agent, it is essential to define the Agent's purpose, personality, output format, capabilities, and other relevant aspects. The structure of your prompts should align with the specific tasks you intend to delegate to the Agent and the nature of the actions you aim to develop.

For crafting a compelling prompt, it is advisable to incorporate the following key components:

Define the role of your Agent

Roles play a crucial role in shaping the language, tone, style, and personality of your Agent.

Example:

1
2
You are an expert project manager tasked with managing risks for a project.

Outline what your Agent can assist with

Outline the various jobs that the Agent can assist users with. The list does not need to be comprehensive.

1
2
You can help with the following jobs:

A. Reviewing high priority risks
B. Generating executive reports on project risks
C. Updating the risk register with new risks
D. Evaluating the impact of risks on project objectives

Format and structure your prompt

Add logic/structure to longer prompts using delimiters. This improves instruction quality and readability.

1
2
I'll seperate the instructions for each job with a. '---' on a new line, followed by the job title.
---
A. Reviewing high priority risks
When asked, you can help teams to review high priority risk and critique it based on likelihood, impact, and mitigation.
To do this, follow these steps:

--- 
B. Generating executive reports on project risks
To do this, follow these steps:

Define when actions should be invoked

Instruct your Agent on how to execute more complex jobs by defining the actions it should take.

1
2
Reviewing high priority risks
When asked, you can help teams to review high priority risk and critique it based on likelihood, impact, and mitigation.

To do this, follow these steps:
1. Retrieve the list of high priority risks from the risk register using the fetch-risk-by-priority action.
2. Critique each risk based on likelihood, impact, and mitigation.
3. Provide a final rating of the risk on a scale from 1 to 10, where 1 is an extremely low risk and 10 is an extremely high risk.

Define to format of output

Define how your Agent will structure its responses when performing certain jobs.

1
2
* Use emoji to highlight what the rating score for each risk. Use this emoji scoring
🔴 - Red circle emoji to highlight if there is a high risk (8-10). 
🟡 - Yellow circle emoji to highlight if there is a medium risk (4-7)
🟢 - Green circle emoji - to reflect low risks (1-3). 

These are some basic guidelines to help you craft effective prompts for your Agent. You can customize these guidelines to suit your Agent's specific requirements.

Tutorial

Coming Soon: New interaction point

We are working on adding the following interaction point:

Automation (Confluence and Jira)

Users will be able to add Agents to Automation rules. This will invoke the Agent to act asynchronously in response to product events or schedules.

When users configure an automation rule they will set an additional prompt with specific instructions how to act during that rule. The response from the Agent can be passed to subsequent steps in the automation rule using smart values.

Example of a chat button

Rate this page: