Guide to get started with Rocket.Chat Apps Development Workshop.
- Node.js v20.18.1
- Unix-based OS (Linux, macOS, WSL2)
- Join the Workshop server workspace shared in the workshop room.
- Join the room
#challengechatin the workshop server.
Hint: Find the room under the Directory tab in the left sidebar.
- Note down the server URL and your credentials (username and password) for the workshop server.
In this part, you'll learn how to deploy a summarization app and implement a slash command.
Install rc-apps globally:
npm install -g @rocket.chat/apps-cliVerify the installation:
rc-apps -vYou should see the CLI version information:
@rocket.chat/apps-cli/1.12.0 darwin-arm64 node-v20.18.1Note: The platform information (e.g., "darwin-arm64") will differ depending on your operating system.
git clone https://github.com/RocketChat/Workshop.Apps.Development.gitcd Workshop.Apps.Development/app Modify the following files:
-
In the
app.jsonfile:- Change
nameSlugto a unique value (e.g.,ai-chat-summarizer-<yourname>) - Generate a new UUID at uuidgenerator.net for the
idfield- Important: Do NOT use
0034268f-e49a-4113-be51-4a5ca77aeeb1
- Important: Do NOT use
- Update the
authorfield with your name
- Change
-
Replace the
icon.pngfile:- Delete the existing icon
- Create a new icon (recommend using AI image generation)
- You can use Pollinations.AI with your initial
- Save as
icon.png(keep file size small)
Open /commands/SummarizeCommand.ts and change the command field to a unique name (e.g., <yourname>-chat-summary).
npm installrc-apps packageOpen the file /settings/settings.ts and modify the L12 key value and package value to [llama3-8b.local:1234](http://llama3-8b.local:1234).
Note: The API call is made to
http://llama3-8b.local:1234/v1/chat/completionssollama3-8b.localis the hostname and1234the port.
Edit the .rcappsconfig file with your credentials:
{
"url": "https://workspace_server_url",
"username": "your_username",
"password": "your_password"
}Important: Use the server URL shared in the workshop room along with your personal credentials.
Deploy your app:
rc-apps deployType /<yourname>-chat-summary in the thread on the #challengechat channel and press Enter.
The app works in a simple way. It only does three steps:
- Read the messages
- Summarize the messages (main feature)
- Execute the add-ons
In the Marketplace, you will be able to see these settings. For every add-ons you check, the app will create corresponding prompt and execute an LLM call. In this case, instead of just summarizing the message (step 2), the app will also output what are the summaries for each participant.
- Navigate to Administration (kebab menu) → Marketplace
- Select the Private Apps tab
- Find and click on your deployed app
- Go to the Settings tab
- In the Summary add-ons section, select any one add-on
- Click Save
- Test your command again with
/<yourname>-chat-summaryin the#challengechatchannels' thread
For curious minds ✨, the prompt for the add-on can be found in the
/constants/prompt.tsfile. You can modify the prompt to suit your needs.
- Verify that you see the chat summary plus the selected add-on functionality
- Take a screenshot of your successful result
- Share your screenshot in the workshop channel along with your email address to receive an invitation to the Workshop Meetup
Basically, this code only do
if ("assigned-tasks" is checked) {
// 1. Create assigned task prompt
// 2. Execute LLM call
// 3. Show message to user
}
So, if the question is "can I add my own add-ons"? Obviously yes, you can just
- Add another block of if statement,
- Create corresponding prompt, and
- Execute the LLM call (same code everywhere)
HOWEVER !! Don't forget to add your add-ons in the settings here to make it appear in the settings.
To deepen your understanding, explore the Rocket.Chat Apps documentation and most importantly, have fun! understading the App code you just deployed and how to improve it.



