Discourse has slowly been solving a fatigue I didn't realize I had

…death by a thousand (sometimes literally) enterprise applications. I’m fatigued today (and so seem to be many others) by having 1,000 different applications for everything in enterprise today. Inconsistency in UX/UI, access controls, communication protocols…the list goes on and on. This isn’t just isolated to our internal business either, our users feel it too.

This is our note app, this is our file app, this is our message app, this is our a/b/c/1/2/3/x/y/z app. It’s exhausting.

Then you have more enterprise applications you need to pickup to connect them together at the application level, and a different application to keep them all together. It’s Netflix rebuilding the cable bundle, but enterprise applications.

Ironically, because of that fragmentation in the enterprise, the whole is decidedly not greater than the sum of its parts—it’s much worse! Each application ends up operating in a silo because data is king today and nobody wants you going anywhere else with it.

While Discourse might not be considered best in class by others at all the other things (e.g. ticket system, blog, marketplace, etc.), to me it is best in class because it can do 99% of what these other applications do, while keeping the user experience and underlying architecture in harmony. This is worth exponentially more to me because I know my blog, announcements, user management, discussion forum, events, etc. etc. etc. will all play nicely together.

Improvements can many times be brought to all experiences equally with such a fall application footprint, rather than each application being owned by a different business, with different priorities.

Anything can be built with this platform. They’re not topics, they’re:

  • Blogs
  • Announcements
  • Marketplace items
  • Discussions
  • Support tickets
  • Videos
  • Events
  • Sprint boards
  • Bugs/issues
  • Ideas
  • CFPs
  • Guides
  • the list goes on…

This is such a relief when you need to build different experiences for different groups, and almost always a combination of the above.

While I’ll never shy away from saying Discourse has its quirks (I despise the docs plugin, but maybe I haven’t seen the matrix yet), the value that it has in flexibly building such a cohesive ecosystem far outweighs any deficiencies.

:spiral_notepad: We use Discourse for our B2B enterprise community. These thoughts were brought on by a rapid influx of other teams in our business asking if we could help them build their customer-facing experiences on our community after seeing what it could do at a recent company event. We’re scaling our operations and expanding our use cases quickly (which is a good problem to have, for us).


I don’t disagree you at all. But yet Discourse is a compromise or trade-off quite often. I can get very much better blogging platform using WordPress, but it can’t give a functional forum.

I have few option to sell things, and Discourse is not in that list.

Hosting podcasts using Discourse? Forget it.

And all my options in those three examples are such ones that don’t leak or hog data.

We have to separate things:

  • what an user needs
  • what an admin/owner needs

And from my point of view we have two questionmarks:

  • as an admin/owner I must use separate solutions because all do own niche very well, but sidejobs not that much
  • users want separate apps to use those services, because (social) media corporations wanted that because of… data.

Did I say people is brainless cattle? Pretty much they are. Or if I want to format that more polite way: most of people don’t know and are after easier solution. Plus everything changed when Jobs (it could be Nokia, Blueberry etc. too) introduced first real smartphone, that operated on app-level.

I’m a bit negative today. I’m totally happy user of Discourse, as an end user and an admin. It is briljant forum software. But we just can’t beat separate app-world and multi-biljon corporates when every user, those who creates, those who consumes and those who collect all benefits want something else.


Absolutely agree—great response! I attempted to capture that in the sentiment of the above post. Is Discourse better than Jira at issue and project tracking? Of course not, dollar for dollar. Is it better than Google Drive/OneDrive/etc. for file hosting? Definitely not.

(Is it best for online communities? Well hell yes, obviously!)

But the value on those other fronts, because Discourse is so versatile, is that it can do 99% of what those things can do, albeit with quirks as I believe you’re eluding to. I’m okay with one platform for most things that can do 99% with a few quirks, than the enterprise application hell I see today.

BUT, like everything in life…it always depends!

You’re right, you’ll never solve every use case, build every feature, or make everyone happy. Being in an organization building enterprise applications myself, striking that balance is a forever journey!

I’m sorry to hear that. I hope your day gets better today :hugs:


This was one of our core problems as well. We have an obscene amount of platforms doing the same thing, and Discourse is phenomenal at gluing all that stuff together when done right.

In particular we lacked a single point of search. To achieve this at (very) low cost we sponsored the Discourse team to modify the header search so it allows us to search other platforms from the Discourse search bar. Now we can search Confluence etc from Discourse :slight_smile:

Note: This doesn’t search natively in Discourse, rather it re-directs the user to the other platform, but with the search term passed as a query argument, so they get taken directly to the results in the other platform.

This means there’s no on-going cost, no need to build an entire search engine - you just install and configure the theme component :slight_smile:

Below is an example for searching Meta from the search bar in your instance:

  1. Add fab-discourse to your svg icon subset
  2. In the header search theme component, open the editor extra search icons:
  3. Add an entry for Meta

    Note: excludeFrom is a list of Category IDs for the Categories you do not want this icon to appear in. In this case we are excluding it from Category id 1
  4. Save changes.

When you refresh the browser, you should see the meta symbol in the search bar when you enter a search term. If you click the icon it will open the results for that term in Meta :slight_smile:

In the video below I search for “fatigue” in the search bar of my personal instance, then click the meta icon to see the results for fatigue in Meta instead:


@Tris20 this is sick! I’ve only really spoken about the generic use cases above, I’d say. The only two that I have that are on that level that I haven’t written/talked about yet, and haven’t seen anywhere else are:

Status Page Integration

We sync our status page events 1:1 from our status page to a Discourse category, where each status is its own topic. Status events are mirrored in the original post, even posting in chronologically, ascending. We do little things that our users (internal and external) love, like using the Discourse datetime object so it’s always in their local time, mirror the latest status with a tag on that topic, and some other slick ideas we came up with. I actually wish Meta had this feature.

I should really write more about the full integration, because it’s amazing. We round it off by integrating it with the chat integration and Slack (our company chat tool) so when platform status events happen, those Discourse topics get posted to an internal status channel that everyone can follow, but the conversation will ultimately bring them back to our single source of truth: Discourse!

Airtable Sync

We do so much community program management, project management, and automation in Airtable. We came up with an incredible one-way sync between our Discourse user and user group tables from Discourse to Airtable, so we have a 1:1 copy in Airtable with real-time updates.

In Airtable we can create advanced automations on those events (user lifecycle changes, or even things like changing their location, updating their profile, etc. Airtable also lets you sync these tables to other Airtable bases, which is where the real magic happens. We have an Airtable base where we manage our events program, and we not only use the basel-level user table, but then extend it with additional values that are specific to managing that event program.

The value and scale we get out of this integration, I would say, is unprecedentedly the reason how I scaled my community activity so much before I ever hired my first full-time person on community after 3.5 years (@putty :wave:).

These are some pretty advanced use cases that I guess if others in the enterprise saw them, would probably be like this:


Sounds like we need to get you on a (virtual) stage somewhere :smiley:

I’d love to see what you’ve built; I love the scrappy attitude of using airtable or zapier or something similar to hack things together :slight_smile:
Not everything needs to be a 100% unit-test covered, fully specced, solution. Often a quick thing, that can be revised easily by the product owner themselves… is a lot more useful!


Don’t get me wrong, I’d love to see the features in Discourse, right? Wouldn’t we all love to see our features prioritized :sweat_smile:

That’s the value of an extensible product though, and why it has been so well-embraced by our team: there’s never a road we can turn down that is a dead end.


Oh of course!
But as we all know, even if we all only use 20% of a piece of software, no one uses the same 20% :smiley:

Patching things with airtable solves so much! What you can create in airtable in 2 hours… would probably take days of discussion, before it even gets to the development stage :man_shrugging:

1 Like

110%! API-first is a blessing to implementers!

1 Like

can you help me in setting this up for our community also?

do you use zapier, etc. or is there a direct integration?

1 Like

Unfortunately I don’t have the extra time to help with this, though I hope to one day post more about the integration.

It’s all done doing Discourse webhooks/APIs and catching/calling them with Airtable Automations.


thanks. this is useful. I will try to figure it out.