Cloud Functions for Chat21

Usage no npm install needed!

<script type="module">
  import chat21Chat21CloudFunctionsPublic from 'https://cdn.skypack.dev/@chat21/chat21-cloud-functions-public';


npm version

Chat21 is the core of the open source live chat platform Tiledesk.com.


Chat21-cloud function is the backend module required for the operation of the other chat21 modules.

  • Send a direct message
  • Send a group message
  • Create a conversation for each message
  • Send the push notification for direct and group message
  • Send an info message to notify the creation of a group or a member joining

Pre requisites

You can find more info about Firebase Functions here https://firebase.google.com/docs/functions/get-started

Project building

  • Clone or download this repo from github
  • Run from command line:
cd functions 
npm install

Project setup

  • Login to Firebase CLI with firebase login. If you are not in localhost run firebase login --no-localhost More info here https://firebase.google.com/docs/cli/
  • Set up your Firebase project by running firebase use --add, select your Project ID and follow the instructions.


Deploy to Firebase using the following commands:

  • Go in the project root directory with cd ..
  • Deploy with firebase deploy You can now see the deployed functions on the Firebase Console under Functions menu.


Run with Docker

If you prefer you can use a pre-built docker image to deploy the cloud functions to the Firebase project:


docker run -it chat21/chat21-cloud-functions sh

After that follow the "Project setup" and "Deploy paragraphs.


Send your first message

  • Create a new user on the Firebase Console under Authentication Menu.
  • Select Email/Password for Authentication Provider
  • Click on "Add New User" and populate Email and Password field with for example : email = a@a.com, password = 123456
  • Get a JWT token calling JWT Authentication method as described here JWT Authentication
  • Send a new message using Send Message API with JWT Authentication as described here Send message

Advanced Setup Options

Read the Setup Options page


Read the REST API page