Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Forge modules
Automation modules
Bitbucket modules
Compass modules
Confluence modules
Dashboard modules (EAP)
Global module (EAP)
Jira modules
Jira Service Management modules
Customer Service Management modules
Jira Software modules
Rovo modules
Teamwork Graph modules
Last updated Sep 9, 2026

Rovo Agent Connector (Preview)

This section describes a Forge preview feature. Preview features are deemed stable; however, they remain under active development and may be subject to shorter deprecation windows. Preview features are suitable for early adopters in production environments.

We release preview features so partners and developers can study, test, and integrate them prior to General Availability (GA). For more information, see Forge release phases: EAP, Preview, and GA.

The rovo:agentConnector module allows you to integrate remote AI agents hosted on external infrastructure into Jira. Once a remote agent is registered, users can interact with them in a similar manner to other users and Rovo agents: assigning them work items, @mentioning them in comments, and chatting with them via the Rovo Chat panel.

Use this module to integrate Jira with AI agents residing outside of the Atlassian platform (such as GitHub Copilot, Cursor Background Agents, or Box AI Agents). New integrations should target A2A 1.0. For implementation guidance, see Integrate remote agents with Jira.

Requirement: Agent2Agent protocol server

Remote agents must implement an Agent2Agent (A2A) protocol server to communicate with Jira. The A2A protocol is an open standard that enables AI agents to communicate with each other, regardless of the underlying framework or vendor.

For more information, see Getting Started.

Jira communicates with remote agents via the JSON-RPC 2.0 protocol. Your remote service must expose an endpoint that accepts JSON-RPC requests from Jira and returns responses according to the A2A protocol specification.

Timeouts

Transport TypeTimeout
streaming=false (sync invocation)55s
streaming=true (SSE stream)900s (15min)

Note that in case of timeouts during the streaming requests, Jira will attempt to reconnect automatically to the remote agent.

System User implications

Adding a rovo:agentConnector to a Forge app leads to modifying the behavior of the system user associated with the Forge app:

The app system user will no longer be mentionable.

This means that users won't be able to @-mention the app in comments or fields. This change affects all app versions in the current environment.

Instead, the agent connector user is available for @-mention.

The Forge CLI warns about this behavior change at deployment time and asks you to approve before proceeding. This warning feature requires the Forge CLI version 13.3 or higher. For more details about the deployment approval flow, refer to deploy.

Limitations

Non-production apps might fail during the invocation if the user triggering the agent is not a contributor to the app.

This would reflect in the following error message:

1
2
I counldn't finish working because of a technical problem on my end. Try again in a few moments.

If this is the case, you can fix it by adding the current user as an app contributor.

See also: more details about Forge app environments.

Manifest structure

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
modules {}
└─ rovo:agentConnector []
   ├─ key (string) [Mandatory]
   ├─ name (string) [Mandatory]
   ├─ description (string) [Optional]
   ├─ icon (string) [Optional]
   ├─ conversationStarters [] [Optional]
   │  └─ conversationStarter (string)
   ├─ productContexts [] [Mandatory]
   │  └─ product (string)
   └─ protocols [] [Mandatory]
      └─ agent2Agent
         ├─ version (string) [Mandatory]
         └─ jsonRpcTransport
            ├─ streaming (boolean)
            └─ endpoint (string) [Mandatory]

remotes []
└─ key (string) [Mandatory]
└─ baseUrl (string) [Mandatory]

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

permissions []
└─ scopes []
  └─ scope (string) [Mandatory]

In this structure:

  • The rovo:agentConnector module defines a remote agent with metadata and communication protocols.
  • The endpoint property references a separately defined endpoint module, which specifies the route Jira uses to communicate with your remote agent via JSON-RPC.
  • The remotes configuration identifies the domain of your remote service and enables authentication tokens to be passed to your service.
  • The resources module provides static assets like the agent icon.
  • The productContexts property specifies which Atlassian products the agent operates in. Only jira is supported during the Preview.
  • The permissions.scopes array declares the OAuth scopes your app requires. The read:jira-work scope is required for the agent to function correctly.

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. Must not exceed 30 characters.
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.
conversationStartersstring[]Conversation starters that will be suggested to the user when they engage with your Agent.
productContextsstring[]YesThe Atlassian apps within which the agent should operate.
Only jira can be used during the Preview.
protocolsobjectYesDefines the protocols and transport mechanisms your remote agent uses to communicate with Jira.
See A2A Protocols for more configuration details

A2A Protocols

For new integrations, set agent2Agent.version to 1.0. Use 0.3 only for deprecated A2A 0.3-era integrations or temporary migration scenarios.

PropertyTypeRequiredDescription
agent2AgentobjectYesConfigures communication using the Agent2Agent (A2A) protocol. Currently, only jsonRpcTransport is supported.
agent2Agent
.version
stringYesThe version of the A2A protocol to use.
Valid values are 1.0 and 0.3. Use 1.0 for new integrations. Use 0.3 only to preserve compatibility with existing A2A 0.3-era implementations during migration.
See A2A protocol versioning for more details.
agent2Agent
.jsonRpcTransport
objectYesEnables Agent2Agent protocol over JSON-RPC 2.0 transport.
See Transport properties for more configuration details

Transport properties

The rovo:agentConnector module works together with other manifest configurations to enable remote agent integration:

Manifest example

The following example manifest file defines an rovo:agentConnector that connects to your remotely hosted agent:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
modules:
  rovo:agentConnector:
    - key: your-awesome-agent
      name: Your Awesome Agent
      description: An awesome agent that you built
      icon: resource:agent-resources;icons/your-agent.svg
      productContexts:
        - jira
      protocols:
        agent2Agent:
          version: '1.0'
          jsonRpcTransport:
            endpoint: a2a-json-rpc-endpoint
            streaming: true
  endpoint:
    - key: a2a-json-rpc-endpoint
      remote: agent-remote
      route:
        path: /a2a/json-rpc
remotes:
  - key: agent-remote
    baseUrl: https://youragent.com
    operations:
      - fetch
      - compute
      - other
resources:
  - key: agent-resources
    path: static/hello-world/build
permissions:
  scopes:
    - read:jira-work

Tutorials and example apps

Rate this page: