With Root about to launch its community developer program I wanted to talk about the Root app model, specifically, why does Root support both Apps and Bots? The short version: bots are great for automation, apps deliver experiences.
Bots on Root
Let’s be direct, Discord helped pioneer the bot model for communities. Bots have helped communities automate moderation, manage roles, run events, and capture feedback.
And when you want things to happen automatically, bots are amazing.
I recently built a simple bot that adds the user count to a voice channel description as users join the call and clears the description when everyone leaves. It requires zero human interaction and runs continuously. Perfect use for a bot.

Moderation is another great example. A bot can delete spam or remove messages with banned words. But what happens when you want to audit the moderation log? Change the banned word list? Review frequent offenders?
Developers can build complex menus and configuration systems in pure text, and many successful bots have done this through slash commands.
But that model exists because, on most platforms, chat is the primary interface.
Bots historically do too much work because on most platforms, there isn’t a better option.
Apps on Root
Apps enable developers to present complete graphical interfaces, directly within a channel on Root on both desktop and mobile.
Compared to bots, Apps give developers more creative freedom. They can build multi-screen interactive experiences, use animations, and selectively present UI based on roles.
Apps on a communication platform
Apps are elevated when they run within a community, they’re not visual, they can also show the user updates as they happen.
If one user enters data, changes a setting, or makes a move in a game, those updates are immediately shown to all other users. This makes Apps a live shared experience.
A simple but powerful example is the Root polling app. Users can both vote and watch the results change live from within the app.

Root Apps really become a form of communication. Think about every channel you’ve seen where users pin messages, or create bots to capture and summarize data, could that be an interactive experience?
• Would you rather pin messages or edit a community wiki?
• Do you want to post to-do reminders as text or use a structured task tracking app?

How to choose
Ultimately, it’s up to the developer to decide. But generally, most bots today could be a better user experience as an App. I would only choose a pure bot if I wanted something running in the background with little or no human interaction.
And developers don’t need to choose. Apps on Root can perform any action a Bot can. You can process slash commands; you can read text channels and send messages from an App.
My advice is: start where you’re comfortable but be open to expanding your vision. And come share your thoughts or ask questions on the Root Developer Community.

.avif)
.avif)
