What should I do to extend my workspace’s functionality? Submit a pull request?Use integrations? Build a Rocket.Chat App?
Each of those options has its strengths and weaknesses.
Changing the source code is the most powerful way of extending Rocket.Chat, but not the simplest - you need to learn the code base, understand the code pattern and rules, submit a PR, and follow up on any changes requested to get it merged.
Integrations, on the other hand, allow you to write simple scripts that will be executed either when a message is sent or received in a channel. They’re quick to learn and write, but their scope is very limited.
Apps are the middle ground. They are much more powerful than integrations, allowing you to interact with the UI and execute custom routines on several triggers. They’re not as complex as learning the whole code base and can be distributed to our whole community via the Marketplace.
Do I need to host my app somewhere to make it available to Rocket.Chat?
Not at all! Rocket.Chat Apps are packaged and deployed to a workspace, and the system will take care of hooking the App up. Apps can be installed manually or via the Marketplace.
Can I build an app and use it even if it’s not published in the Marketplace?
Absolutely! It’s recommended you use our Apps Engine CLI tool to develop your apps, and it makes it super easy to deploy your apps to your own Rocket.Chat workspace.
Does Rocket.Chat have a plugin framework?
We don't have a plugin framework.
What language should I use to write Apps?
Rocket.Chat uses typescript only.