What's involved with building an app with Forge?

I’d like to create a Forge app which would allow our team to share a calendar. Basically there would be one or two people who can add events, and everyone else can view them. We have a calendar in Outlook already, so integrating that would be ideal, but we’re open to having a Confluence-specific one.

I looked at existing apps for this and they’re too expensive for what we need, so I thought that building our own might be an option (we have plenty of software devs who can work on it).

I just don’t know where to start or what’s involved. I’ve read that Forge is the best way to start, so I’d plan to use that unless there’s a compelling reason not to. I see Atlassian have said that Forge is free until the end of 2024, but does that include hosting etc? Where would my app be hosted so that the entire team can access it?

Ideally I want to do the following:

  • Set up a calendar in Outlook
  • Create an app which I can add to my team Confluence setup
  • The app should allow someone editing a page to add the calendar to that page (we only have one team calendar, so they don’t need to select the calendar or anything like that)
  • Once the calendar appears on a page, then anyone viewing that page should be able to view it - going back and forth between different months, clicking on events to see more details etc
  • Any changes will be made to the calendar in Outlook, so we don’t need to be able to edit it in Confluence, but anyone viewing it in Confluence should see the latest version (it doesn’t need to refresh while they’re looking at it, just when they load the page)

What’s involved in doing this? I know JavaScript/React and there are people around who know Java and Python; I’m confident we’d be able to do the actual coding part. I saw that Docker was needed for dev - do I need to know how to use it? I’ve installed it before and run things on it but that’s all I know about it - I think there are some people around who know a bit more though.

What kinds of costs are involved? Do I have to pay to host it on Confluence?

Thanks for any advice!

1 Like

Welcome to the Atlassian developer community @SharonGilmore,

Although I trust your assessment, Forge coding is strictly JavaScript (a mix of React & Node.js). Java & Python developers may or may not be proficient in Node.js.

Maybe. In most cases, Docker is just an invisible part of the toolchain. However, it sounds like you have sufficient experience to understand “leaky abstractions”. So there are corner cases where you may suddenly be thrust into learning about Docker. That warning aside, little to no Docker knowledge should not be a blocker to getting started.

No hosting fees. Or more precisely, not this year. So far, the drafts of cost-models that I’ve seen include a generous free-tier (similar to AWS). Even when Atlassian does get around to firming up a cost-model, I think you’re describing the kind of simple app that would fit into that free-tier model. In short, I think you can consider Forge free for development and operations. Forge apps run inside Atlassian infrastructure so is accessible to all users of your site.

Pro-tip: sharing the development effort does take a little forethought. See:

Now lets use your scenario to talk through some of the nuances of Forge.

The main implication here is that your Forge app would need to communicate with Outlook. If that’s an on-prem installation, then you’ll have some network issues to sort since the Forge app would need to make HTTP requests through your firewall. Furthermore, once 2 can connect, you’ll want to make sure the connection has auth, ideally OAuth 2.0 using Forge’s external auth.

Forge apps have an install flow. You won’t need to list yours on Marketplace.

This sounds like a good fit for a Confluence macro. While Atlassian’s Atlaskit has a calendar package, I strongly suspect you want some details in the calendar, not just date selection. As such, you’ll probably want Forge Custom UI.

Good constraints. These will help keep your app simple but I can’t think of any recommendations based on this point.

2 Likes

Thank you, that’s really helpful. In terms of communicating with Outlook, I don’t think we have Outlook installed anywhere locally… I don’t really know how it’s set up, to be honest. I just sign in using the browser, so I always assumed it was ‘somewhere at Microsoft’ (without giving it any further thought!). I’ll have to look into that some more.

The rest sounds feasible though, so I’ll check it out and see how I get on!

Thanks!