Inspiration

We have been using Confluence extensively over the years. It is fantastic for storing knowledge, but it often falls short when it comes to everyday communication. Only a few people tend to create & update Confluence pages and the majority of the remaining team members simply become consumers. In contrast, those same team members who are consumers in Confluence create & broadcast on Slack/Teams messages, email threads, or hallway conversations for updates that don’t quite fit a Confluence page.
And that becomes a pressing challenge for remote and hybrid teams.

Similarly, leadership updates, company wide announcements, policies & processes often get buried deep in a sea of other pages in Confluence. So making the relevant knowledge discoverable at the right time is the tricky part.

We wanted something simple, familiar, and social - a lightweight space where leaders could share important announcements, teams could exchange quick updates, and people could celebrate wins together. Add to it the ability to surface important policy documents/SOPs at appropriate places. That’s how Chirp was born: a social intranet & community experience built directly inside Confluence.

What it does

Chirp brings a dynamic communication layer to Confluence.
It gives organizations a central feed where leadership announcements, team updates, community posts & policy documents coexist without chaos.

Key capabilities include:

  • Fast, frictionless posting through a social composer - share updates without creating long & scary Confluence pages.
  • Reactions, comments & polls - encourage interaction and build a sense of community. Polls help you better understand your team.
  • Customizable groups & categories - organize communication by team, department, or topic. Or something else that's completely up to you.
  • Company-wide broadcasting - ensure important updates reach everyone & are always accessible.
  • Conduct polls & engage people - gather your team's opinions & preferences to better connect with them.
  • Feed customisation - let individuals design their own feed so they are always in the loop.
  • A familiar social experience - all within the security and comfort of Confluence.

How we built it

We built Chirp using the Atlassian Forge platform, combining Custom UI with Confluence REST APIs to deliver fast, dynamic features inside Confluence. Our process began with defining the core user experience and configuring the required permissions and modules through manifest.yml. We used Forge Storage to power essential features such as creating sections, managing groups, and publishing polls. Backend logic was implemented using Forge functions, while Confluence modules allowed us to render dynamic, interactive content directly inside pages. We continuously tested the app using forge tunnel, iterated based on internal feedback, and deployed it smoothly across development, staging, and production environments.

Challenges we ran into

Like any Forge-based project, building Chirp brought with it a few technical hurdles - mainly around Forge permissions, API behaviors, and UI limitations (e.g. we had begun the project with Forge UI but soon realised its limitations & swiftly moved to Custom UI).

Some notable challenges:

  • UI Kit limitations leading to a migration to Custom UI - We initially built the interface using UI Kit, but certain UX and feature limitations pushed us to migrate to Custom UI, which gave us the flexibility needed for a modern social feed experience.

  • Lack of Confluence REST APIs for page/comment reactions - Lack of a REST API for the app to let users directly add reactions or fetch their reactions on/from Confluence pages turned out to be a problem. And we had to develop our own mechanism to store user reactions. But that means reactions from native Confluence pages are not reflected in our app & vice versa. I really hope this API becomes available soon.

  • Newly created pages are not immediately returned by Confluence API - Another challenge that is an ongoing one is that when a user creates 'Post' (which is a Confluence page) from within our app, the Confluence API does not return this new page immediately & user has to do a couple of refreshes before the post appears in the feed. Which kind of makes the 'Quick posting' experience poor. We are still working on how to address this challenge. (Update - we seem to have partially addressed this by adding a 'dummy post' until it becomes available through the Confluence REST API)

  • Duplicate comments during pagination - While integrating the footer comments API with sort=-created-date, we encountered duplicate results during pagination. We raised this issue in the Atlassian Community to highlight the unexpected API behavior.

  • Embedding YouTube videos and egress restrictions - Adding support for YouTube & Loom embeds required additional scopes. Though the feature worked after updating permissions, it affected our app’s “Runs on Atlassian (RoA)” badge because of current egress and RoA rules - something we also discussed in the developer community RFC. We didn't want to lose the Runs on Atlassian badge so we decided not to play Youtube/Loom videos directly in our app's feed & just render them as URLs.

Accomplishments that we're proud of

The best thing we did was - we started with the conviction that we will be building an app that is at the least useful to ourselves. So right since the first day, we have been dogfooding Chirp for our internal communications. We even presented Chirp V1 in an ACE event in Pune in the 3rd week of December to seek feedback. That led us to deliver a clean, intuitive, and fully functional social intranet/community experience natively inside Confluence. Now, we've decided to invest further in this app & make it commercially available through the Atlassian marketplace.

Another accomplishment as a result of developing this app is that we wanted to gain expertise on Atlassian Forge. So far, all our apps have been on Connect & other team members are migrating them to Forge, step by step. But we were also keen to experience the process of developing an app natively on Forge.

Social intranets & communities require a little bit of initial content/participation (to gain the escape velocity) and gain team wide traction. Rest of the team played crucial part in helping me (as the Product person for this app) understand this aspect. As a result, we ended up developing so many interesting things. 'Demo data' experience is one of them. It lets teams 'experience' the app even before they start using it. Hopefully, this will motivate them gain that 'escape velocity' as quickly as possible.

Seeing Chirp evolve into a tool that genuinely enhances team communication (for ourselves) is one of our biggest achievements.

What we learned

Building Chirp gave us deep, hands-on experience with Atlassian Forge - including modules, functions, storage APIs, security scopes, and deployment pipelines. We learned how to design secure, permission-sensitive features that work reliably across Confluence sites and how to handle dynamic data rendering efficiently. Using forge tunnel improved our debugging skills significantly, and the project strengthened our understanding of Confluence architecture, app lifecycle events, and real-world constraints such as egress rules. Overall, the journey helped us grow both technically and in our approach to building user-centric apps on the Atlassian platform.

What's next for Chirp: Social Intranet & Community for Confluence

Chirp is just getting started. Our roadmap includes:

  • Analytics for leaders to understand engagement and communication reach
  • Private & semi-private groups to control the Group sprawl for large teams
  • Improvements in Polls (We have already included basic polls in the current version but we are working on making them more flexible)
  • Improved notifications to ensure important updates never get missed

Our mission is simple:
Make Confluence feel alive - a place where information flows freely & is discoverable at the right moment, people feel connected, and communication becomes part of the culture, not a chore.

Built With

+ 8 more
Share this project:

Updates

posted an update

To improve the usability of larger teams who need to provide conditional access to Groups/Menu items from Chirp's navigation - we have now introduced Group visibility setting. This lets the admins decide whether a Chirp group should be public or should it inherit the mapped Confluence space's permissions. Simple. By the way - the content/posts of the group continue to honour the visibility controls from Confluence - above setting just determines whether the group itself is shown in the Chirp navigation. Sweet :)

Log in or sign up for Devpost to join the conversation.

posted an update

The polls are now further improved and show up additional badges to end users to convey how they work. For example, anonymous polls would show up a badge that indicates so clearly & so on. Additionally, now the actual dates are also surfaced in the form of tooltips such as Poll closed date etc

Next, we are introducing visibility control over the groups in Chirp. Stay tuned :)

Log in or sign up for Devpost to join the conversation.

posted an update

We are continuing to make progress as the internal usage is picking up for Chirp. Today, we have improved the polls -

  1. Now you can host anonymous polls on Chirp.
  2. Control visibility of the poll results.
  3. Increased the number of max options in a poll to 10 from 4.

We have also introduced 'Activity' tab on the Notifications to highlight reactions on Chirp posts.

Log in or sign up for Devpost to join the conversation.

posted an update

We've just released another improvement. Curated pages can now be classified under collections making it easier for admins to easily configure Policy & Process documents and make them easily discoverable for the users ✌️ Next comes the 'Notifications' panel, stay tuned.

Log in or sign up for Devpost to join the conversation.