🌟 About the Project

💡 Inspiration

As someone exploring the Atlassian ecosystem for the first time, I was curious to see how custom apps could enhance the Confluence experience. The idea of building something lightweight, serverless, and cloud-native was very appealing—especially with Forge, Atlassian's developer platform designed to simplify that journey. FirstConfluenceApp started as a "Hello World" test but quickly evolved into a more meaningful learning experience.

🚀 What it does

This app is built as a Confluence spacePage module using Forge Custom UI. It retrieves and displays the following:

  • The logged-in user's current theme (light/dark)
  • The user's account ID from Confluence context
  • The user's public display name using Confluence's Bulk User Lookup API

This small, clean app serves as a foundation for learning context-aware, API-driven Forge apps.

🏗️ How we built it

  • Forge CLI was used to scaffold the app and deploy changes quickly
  • The app runs in a Custom UI frontend using React
  • Used view.getContext() to access user and theme info
  • API calls were made with requestConfluence() to fetch user details securely
  • State and side effects were handled using useState and useEffect in React
  • Permissions were configured via manifest.yml to allow secure API access

🧩 Challenges we ran into

  • Understanding how permissions and scopes work in the manifest.yml
  • Figuring out the difference between Forge UI vs Custom UI, and when to use which
  • Handling asynchronous API calls inside React's useEffect properly
  • Testing and debugging API responses in a secure sandboxed environment

🏆 Accomplishments that we're proud of

  • Successfully used real Confluence data (account ID, public name) in a custom UI
  • Deployed and ran a fully functional app inside a live Confluence space
  • Built a strong foundation to expand into more advanced Forge apps
  • Gained practical experience integrating frontend React logic with Atlassian’s cloud APIs

📚 What we learned

  • How to set up and structure a Forge project from scratch
  • How to work with Forge context APIs, @forge/bridge, and REST integrations
  • The power of building apps within Confluence without managing infrastructure
  • How to work with React in a cloud environment, managing state and effects cleanly

🔮 What's next for FirstConfluenceApp

  • Add UI enhancements and polish the interface
  • Store user-specific preferences using Forge’s storage API
  • Add more endpoints (e.g., email, groups, roles) for richer user insights
  • Package it as a macro for easier page embedding
  • Explore building apps for Jira using similar patterns

Built With

Share this project:

Updates