Atlassian ships an official app called Questions for Confluence. It has 3,924 installs — by far the most popular Q&A app on the Marketplace — and a 3.0/5 average rating from 77 reviews. For an app made by the company that owns the platform, that's a loud signal.
I read those reviews before writing any code. This is the story of what we built in response, why we built it that way, and what's actually different in ours.
I'm Simon from NGPILOT. The app is Modern Questions for Confluence.
Questions for Confluence gives you a StackOverflow-style space where people post questions, others answer, and answers get upvoted. It's Forge-based, instance-wide, and has been around for years.
The reviews paint a clear picture. The two complaints that came up over and over were:
Search only covers question titles. This is the one that hurt most. If someone wrote the answer you needed inside the question body or in a reply, the search box simply wouldn't find it. Reviewers called the search "awful." A Q&A app where you can't find existing answers isn't really a knowledge base — it's a list of questions people keep re-asking.
It applies to the entire instance. You can't switch it on for one space and leave it off for the rest. And there's no way to separate who can ask from who can answer — if someone can use it, they can use all of it. For a 500-person Confluence site with HR, Engineering, and Finance spaces, that's a dealbreaker.
Beyond those two, reviewers mentioned bugs (questions not appearing after creation, "Unauthorized action" errors as admin), missing features (no duplicate merging, no REST API for Cloud, no linking to pages), and a general feeling that the app was "a glorified voting system rather than true Q&A" — one reviewer called it "a second-rate StackOverflow clone."
None of this is malicious. It's just an older app that hasn't kept up with what teams need.
We looked at every Q&A app we could find. Here's the landscape (data from our marketplace crawler, June 2026, frameworks verified against the live listings):
| App | Vendor | Rating | Reviews | Installs | Cloud | Framework | What it doesn't do |
|---|---|---|---|---|---|---|---|
| Questions for Confluence | Atlassian | 3.0/5 | 77 | 3,924 | Yes | Forge | Title-only search; instance-wide; no granular permissions |
| Questions & Answers | EliteSoft | 3.9/5 | 26 | 663 | Yes | Connect | Connect framework (data leaves Atlassian); also on Server/DC |
| Smart Questions and Answers | Purde Software | 4.4/5 | 13 | 282 | Yes | Forge | No dark mode mentioned; Cloud-only |
| FAQ for Confluence | VECTORS | 2.7/5 | 12 | 305 | Yes | Forge | FAQ-focused, not full Q&A with voting/accepted answers |
| Community Questions for Confluence | Firnity | 5.0/5 | 4 | 154 | Yes | Connect | Only 4 reviews — untested at scale |
| ZanMind Questions and Answers | ZanMind | — | 0 | 1 | Yes | Forge | Too new to evaluate |
The pattern: Atlassian's app dominates installs but trails on rating. The Connect-based alternatives tend to score higher but, being Connect, store and process data outside Atlassian's infrastructure. The Forge alternatives are newer and smaller.
We started on March 24, 2026. The first commit was a basic Q&A scaffold — questions, answers, votes. By the next day we had pagination, status filters, and search working. About a week later the app was feature-complete, and we spent a final pass renaming it, polishing notifications, and writing the user docs.
Every meaningful decision traced back to a specific complaint in those reviews.
Search had to actually find things. This is the change I cared about most. The resolver behind our search bar runs a SQL query that matches the search term against the question title, the raw JSON of the question body, every answer's content, and every topic name. If the answer to "how do I reset the staging database" is buried in a reply three months ago, typing "reset staging" finds it. This was the fix reviewers had been asking for since the official app launched.
Permissions had to be granular. We split the old all-or-nothing model into three independent switches: who can view, who can ask, and who can answer. Each one can be set to "Everyone" or to a hand-picked list of users via a UserPicker. Each switch is checked on the backend, not just hidden in the UI — every resolver calls enforcePermission() before it does anything. That means a space admin can set up a space where anyone can read and ask, but only the senior engineers can answer. That's the workflow reviewers said they wanted.
It had to work per-space, not just instance-wide. Modern Questions has both a space page (questions from that space only) and a global page (questions from every space). Topics are scoped per space too — Engineering's topics don't leak into HR's view. Each space keeps its own settings.
It had to actually tell you when something happened. A bell icon in the toolbar shows an unread badge when someone answers your question or accepts your answer. Click the bell, the panel opens, the badge clears. Small thing, but it directly answers the "questions just disappear after I post them" complaint — now you know exactly when there's activity.
The interface had to feel like Confluence. We built it entirely on Forge UI Kit, which means native rendering — no iframe, no separate UI framework. Questions live in a DynamicTable; click a row and the answers expand inline. The editor is a CommentEditor with full rich text — block quotes, code blocks, links, lists. You can rename a question by clicking its title in the table. Status (NEW / ANSWERED / ACCEPTED) shows up as color-coded lozenges. Voting happens inline on the row; no page reload. The question author can mark one answer as accepted, and it floats to the top with a green highlight — StackOverflow-style.
Most Q&A apps store their content as Confluence pages, comments, or attachments. We used Forge SQL instead — a MySQL/TiDB database that Atlassian manages for you.
The main reason was search. Doing full-text search across page bodies using Confluence's native storage would mean crawling every page. With SQL it's one query. The database has five tables — questions, answers, topics, votes (with a UNIQUE constraint so nobody votes twice), and settings — and the search query just joins across them.
The other reasons followed naturally. Our permission system doesn't interfere with Confluence's page-level permissions, because there are no pages involved. SQL indexes make filtering by space, topic, status, or vote count fast even with thousands of questions. And questions don't clutter the space's page tree or attachment list — they live entirely inside the app.
Modern Questions for Confluence does what a Confluence Q&A app should do in 2026:
We're priced at $10 flat for up to 10 users, then tiered down to $0.05/user at scale. At 100 users you're already paying less than the official app.
Modern Questions is for the living kind of Q&A — people ask, people answer, votes and accepted answers surface the best replies, and the search index grows over time. That's the right shape for a community knowledge base.
There's a second shape of Q&A that lives on documentation pages: the curated FAQ section at the top of an onboarding doc, a runbook, a help page. The author already knows the questions and the answers — they just want a clean, styled way to present them. No voting, no asking, no database.
For that we built Modern FAQ for Confluence — a macro you drop onto a page that renders your Q&A pairs in one of two styles: a centered card layout, or a left-aligned collapse layout. Both adapt to Confluence's light and dark themes. You compose the questions and answers in the macro config, save, and the FAQ renders inline on the page.
Most teams end up wanting both. Modern Questions for the long tail of "has anyone hit this before?" Modern FAQ for the top of every doc page where you want to head off the obvious questions.
Modern Questions for Confluence: https://marketplace.atlassian.com/apps/3250836705
Modern FAQ for Confluence: https://marketplace.atlassian.com/apps/1236739
Simon_NGPILOT_
1 comment