Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Forge App Jam - Episode #1 - Automation Actions & Jira Workflow Validators (Hands‑on)

👋 later this week, with my colleague Bree, we'll kick off a new series of events showing how to build Forge apps.

In the first episode, we'll present two topics:

 

📅 Wednesday, 17 December 2025 - 2:30 PM to 3:30 PM PST

If this sounds interesting to you, register for this event here. 

 

Would love to see you there,
- Caterina & Bree

 

If you can't make it at this time, the session will be recorded and the video posted on YouTube. Registering for the event is the best way to be notified once the recording becomes available. Ok ok ok... I'll post the link here too.

8 comments

Caterina Curti
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 18, 2025

The recording is now up on YouTube: https://www.youtube.com/watch?v=UWYFscxQHww

And because I ran out of time while trying to show the Workflow Validator, I uploaded a short (10s) video for that part here.

The code for both apps is available at https://go.atlassian.com/faj-repo.

Like # people like this
Bill Sheboy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
December 22, 2025

Hi @Caterina Curti 

Thanks to you and Bree for the awesome videos of the session!  These links are super helpful as some of us cannot register for events with a Gmail account.

I am looking forward to seeing the future sessions, with perhaps more on how to use Forge to extend automation features beyond the basics to solve current limitations in the actions / engine.

Kind regards,
Bill

Like Caterina Curti likes this
Caterina Curti
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 22, 2025

Thank you @Bill Sheboy for your comment! I didn't know it wasn't possible to register for events with a Gmail account 🤔.
I'll keep posting the events and links here!

Another options is to subscribe to our YouTube channel and you'll then be notified when a new live stream is published (see https://www.youtube.com/@AtlassianDeveloper/streams) and when it starts.

I would love to know more about some of the use cases/limitations that would be beneficial for you and your team. You can add them here or send me a message on LinkedIn (https://www.linkedin.com/in/caterinacurti).

In the meantime, I hope you'll get to relax and enjoy the next couple of days.

Cheers,
Caterina

Rishabh Kumar Shukla
April 3, 2026

Hi @Caterina Curti 

Thank you so much for awesome videos of the session. I am developing almost same solution, but we have so many workflows, so i am getting timed out while parsing all the workflows. Is there any way that we can get rid of timeout. We do have ~3k workflows in our instance, so parsing the workflow in once, i am getting timeout at forge end.

 

Any suggestion?

Like Caterina Curti likes this
Darryl Lee
Community Champion
June 1, 2026

Hey sorry, this is kind of a necropost, but the recording of this webinar actually helped me figure out what the heck the Smart Values of an Automation Action that I created over the weekend were:

image.png

(I did not even think to look in the Smart Values Help Panel! By the way I realized today despite being introduced by @Sophia Do two years ago, this very valuable tool is barely documented, when I would argue it deserves its own separate topic page here. I mean, there was even an update in 2025 by @Luna! These articles should be KB articles. Surely there's some conversion tool or AI agent you could use to make them match whatever stringent documentation requirements you have. Because as much as I love the Community Forums, it shouldn't be a substitute for documentation in the right place.)

I am curious about what @Bill Sheboy said about being unable to register for events with a Gmail account.

I just tested this with a Gmail account that had never been signed up for this ACE event: https://ace.atlassian.com/events/details/atlassian-atlassian-developers-presents-bingo-in-confluence-doom-in-jira 

And was able to create an account and register just fine.

(Oh haha, I'm speaking at that event... this is not a plug.)

Darryl Lee
Community Champion
June 1, 2026

OH, I just remembered that Atlassian blocks Gmail registrations on events.atlassian.com, like for Team '26, etc. That's super annoying.

But ace.atlassian.com is a different system, so I think us Gmailers are ok there. For now. :-}

Darryl Lee
Community Champion
June 1, 2026

And so I'm not just posting nonsense here, this was the bit about Smart Values and how they're constructed from output parameters in manifest.yml that is NOT well-documented.

In Smart values output with Forge apps Atlassian writes:

We can now leverage smart value processing with Forge apps, this allows us to use the output of the defined Forge actions within our rule builder, to create more dynamic automation rules.

For every Forge automation action that produces outputs, we construct something called as the smart value operator. The smart value operator name is derived by combining the values specified for the fields actionVerb, outputDomain and entityName in the apps manifest file. Finally what you see on the UI is in the format {smartValueOperator}.{outputs} which can be used across rules.

Kindly refer outputs and outputContext sections to thoroughly understand how to define outputs for Forge actions.

So ok, here's what those links say:

If your action on execution returns any output, then we need to provide a few more details around the output with the outputContext property.

We use the data from this property mainly for smart value processing.

(!) This property is mandatory to be provided if you have any defined outputs.

Each outputContext must have the following properties: entityName, outputType, and outputDomain.

Which, uh, ok. I have no idea what that means. How about an example?

Luckily we have one in the video. From @Caterina Curti and @Bree Hall 's code, the manifest.yml contains:

      actionVerb: CREATE
...
outputs:
commentId:
description: The ID of the comment that was added
type: string
nullable: false
outputContext:
entityName: comment
outputType: OBJECT
outputDomain: workitem

So the Smart Value from the screenshot above looks like:

{{createdWorkitemComment.commentId}}

So then we have to reverse-engineer how that is formed:

actionVerb: CREATE -> created (changes tense of verb)

outputDomain: workitem -> Workitem (first letter capitalized)

entityName: comment -> Comment (first letter capitalized)

outputs: commentId -> commentId (as specified)

 Note that the capitalization matters. In my Automation Action, I had:

entityName: pageLookup

And this got turned into Pagelookup (first letter capitalized, rest of text all lowercase) in the Smart Value, which was easy for me to miss.

Oh, another bit that I could not find ANY DOCUMENTATION for. In my Action:

actionVerb: GET -> fetched

"fetched" where the heck is that coming from? Certainly not the documentation:

Property Type Required Description
actionVerb string Yes The verb that best represents your action: GETCREATEUPDATEDELETETRIGGER.

Uh. Ok, yeah, literally nothing on that page mentions the change in verb tense (create->created) OR the literal word changing.

I guess "fetched" is better than "got" or "gotten"? Haha.

And I guess MAYBE the other verbs->Smart Value prefix will be:

UPDATE -> updated

DELETE -> deleted

TRIGGER -> triggered

Still, the docs could be a lot better.

Because here's the other funny thing. I used the new Rovo Studio for Forge Apps feature, and I guess because Rovo relies on the same documentation (or lack thereof) that we have, it too had no clue about this Smart Value output format.

Since I didn't know how it worked, I requested: {{pageLookup.pageId}} and like every other sycophantic LLM, it told me that's what I was going to get.

Narrator: It was not what he got.

So yeah. Better documentation, please? For your users and for Rovo. Thanks!

Darryl Lee
Community Champion
June 2, 2026

Poor little Rovo Studio - it really was trying it's best, parroting both my prompt, as well as the meager documentation, but like me, not figuring out how the heck it was actually going to end up.

image.png

For the record, my Smart Values ended up being:

  • {{fetchedConfluencePagelookup.pageId}}
  • {{fetchedConfluencePagelookup.pageTitle}}
  • {{fetchedConfluencePagelookup.pageFullURL}}
  • {{fetchedConfluencePagelookup.spaceKey}}

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events