rovo.isEnabled() returns true even when Rovo is not activated on the tenant

Hi everyone,

I’m facing an issue with the rovo.isEnabled() method from forge/bridge.

I’m testing it on a tenant where Rovo is (normally) not activated and it always returns true.

Here is the code I use to test :

const checkRovo = async () => {
    try {
      const isEnabled = await rovo.isEnabled();
      console.log("ROVO IS ENABLED :", isEnabled);
    } catch (error: any) {
      console.error(error);
    }
  };

Result in browser console :

image

I checked the administration settings, Atlassian Intelligence doesn’t seem to be activated :

I don’t have any “Ask rovo” button in the top of my tenant.

Are Rovo and Atlassian Intelligence two different things ? Can Rovo be technically present but not “activated”?

Thanks !

Hi!

Rovo was activated on my global tenant but not specifically for Jira, which is why the Rovo chat wasn’t appearing.

On my Free plan, Rovo was only available in Confluence, Goals, and Projects. Once I upgraded to a Standard plan, I was able to activate Rovo for Jira. After doing that, the “Ask Rovo” button appeared and rovo.open() worked perfectly.

It would be more convenient if the rovo.isEnabled() method filtered by app rather than by tenant. Currently, it returns true in Jira or JSM even if Rovo is only enabled for Confluence.

Hi @AdamMoore :waving_hand: quick follow-up on this.

Would it be possible to evolve the Rovo API so developers can determine availability at the product level rather than only at the tenant level?

For example, something like:

rovo.isEnabledByApp("jira")

Hi @VickyHu , do you think this is something that could be possible?

We are currently working on a Rovo-powered feature and we absolutely need to know if Rovo Chat is enabled, not just on the tenant level, but within the Jira app itself.

Unfortunately, this is a blocker preventing us from releasing the feature to our customers. We hope a solution can be provided as soon as possible.

Have a nice day!

This really should be considered as a bug. Why would a Forge app care if the tenant is has Rovo enabled if it’s not enabled in the app’s current parent product? I followed the example in the rovo API and it’s simply not working as expected, and may I say rather misleading?

import { rovo } from@forge/bridge”;

const isEnabled = await rovo.isEnabled();
if (isEnabled) {
await rovo.open({
type: “forge”,
agentName: “My agent”,
agentKey: “my-agent-key”,
prompt: “Optional prompt”
});
}