Hi Atlassian team/community,
I’m having an issue with a Rovo Agent Action in an existing Forge app and would appreciate some help debugging it.
Problem
I created a Rovo Agent using the official Hello World tutorial:
Build a Hello World Rovo Agent
The Agent itself works correctly.
However, when I add a Forge action to the Agent, Rovo responds with:
I wasn’t able to generate a response. Please try again.
Important observation
I performed an isolation test.
1. Rovo Agent without an action
The Agent responds normally:
Hello Shubham! I’m your Rovo Agent, here to help you build your first Forge Agent.
So the Agent registration, prompt, deployment, and Rovo environment appear to be working.
2. Rovo Agent with the action
As soon as I add:
actions:
- hello-world-logger
Rovo returns:
I wasn't able to generate a response. Please try again.
My action
action:
- key: hello-world-logger
name: hello world logger
function: messageLogger
actionVerb: TRIGGER
description: >
When a user asks to log a message, this action logs the message to the
Forge logs.
inputs:
message:
title: Message
type: string
required: true
description: The message that the user has requested be logged to Forge logs
The function is:
function:
- key: messageLogger
handler: index.messageLogger
And the implementation is:
export function messageLogger(payload, context) {
console.log("ROVO ACTION INVOKED");
console.log("PAYLOAD:", JSON.stringify(payload));
console.log("CONTEXT:", JSON.stringify(context));
return `Successfully logged message: ${payload.message}`;
}
What I have already tried
- Returned a string instead of an object from the action function.
- Added
read:chat:rovoto the permissions. - Ran
forge lint— no issues. - Deployed successfully using:
forge deploy -e development
- Upgraded/reinstalled the development installation.
- Tested with a new Rovo conversation.
- Explicitly asked the Agent to invoke the action.
- Checked
forge logs -e development. - There are no logs from
messageLogger, which makes me think the Forge function isn’t being invoked at all.
Existing application
The existing app is a fairly large Forge application containing multiple Jira dashboard gadgets, a shared resolver, lifecycle functions, and other Forge modules.
It also contains this:
app:
connect:
key: sample-key-example
The app was originally based on a Connect app and later moved to Forge.
I have also tried moving the Rovo action function into a separate file so that it doesn’t share the existing resolver code, but the same error occurs.
Question
Could there be something in an existing Forge app’s manifest/configuration — especially a Forge + Connect hybrid app or another module configuration — that prevents a rovo:agent action from invoking its Forge function?
What would be the best way to debug why the Rovo action invocation fails before the Forge function is executed?
Any guidance on what logs, invocation IDs, Developer Console diagnostics, or manifest settings I should check would be greatly appreciated.
Thanks!