Rendering more complex data structures

Hey there,

How will you deal with showing structured data in the Rovo Agents panel? At the moment the agents’ output is rendered using Markdown, but what if you want to display a more complex data structure? Will there be a possibility to output it in a Custom UI panel?

Thanks,
Vladimir

1 Like

@VladimirNegacevschi,

I’m not sure I understand this from the user perspective. Can you give a lightweight example of a user exchange where the result should be Custom UI? And, as a developer how do you want to instruct Rovo to return Custom UI and how to populate it?

In working on some agents inside Atlassian, the pattern that has felt more appropriate is to have the agent process results into a much simpler JSON, and then feed that into an appropriate UI via an action. For example, sending the content to a Confluence page, or “merging” with a Google doc and attaching to the context (page or issue).

Sure. I had something similar in mind, but the redirection would be to an app. For example:

  1. User is on an issue in Jira
  2. User asks the Rovo Agent to extract the stakeholders that should be contacted to clarify the issue.
  3. The Rovo Agent processes the result and returns a JSON containing the details to set up a meeting, including title, description, attendees.
  4. This JSON is somehow passed to a “widget / app” representing the meeting create form, where the user can quickly edit the details, schedule the meeting and send it. The form would be displayed as popup, overlaying the current page, so that the user doesn’t lose the context.

@VladimirNegacevschi,

What I’ve seen from other people’s agents is dropping a link where a richer UI can take over. So, yes, I’ve already seen the redirect to an app emerging as a pattern.

One of the subtle aspects of agents is that you shouldn’t expect them to execute in only the Rovo Chat context. Generally, the intent here is that agents will be available “close” to the context to where they apply. For example, you can already find agents in Confluence when you type the /ai macro. The trickier example is that agents can also be utilized in an almost “headless” context with Automation. It’s rather subtle, but notice the docs on actionVerb:

The verb that best represents your action: GET, CREATE, UPDATE, DELETE, TRIGGER.
Agents triggered by automation rules will not invoke actions with actionVerb CREATE, UPDATE, DELETE, and TRIGGER.

We couldn’t inject a popup into the automation context.

To brainstorm a possible solution (without any authority to make it happen), maybe non-GET actions could have a “confirmation hook” to define custom UI? If you have a better idea, let me know. In any case, I’d like to log another suggestion based on this thread.

2 Likes