• Public
  • Public/Protected
  • All



Table of contents

Table of Contents
  1. Introduction
  2. Prerequisites
  3. Getting Started
  4. Sending your first message
  5. License


Robin.io-js is a Javascript SDK built to communicate with the Robinapp API. Now you can integrate Robin.io with minimal effort and quickly setup a real-time messaging platform in your Web application.

Interactive Demo

Checkout the Interactive Demo here.
You can also checkout the sample repository here.


This library supports the following browsers:

Browser Supported versions
Internet Explorer 10 or higher
Edge 13 or higher
Chrome 16 or higher
Firefox 11 or higher
Safari 7 or higher
Opera 12.1 or higher
iOS Safari 7 or higher
Android Browswer 4.4 (Kitkat) or higher

Getting started

Step 1: Create a Robinapp account

A Robinapp account comprises everything required in a chat service including users, message, and api-keys. To create an application:

  1. Go to the Robinapp Dashboard and enter your email and password, and create a new account.
  2. Navigate to Api Config and copy your API key

Note: All the data is limited to the scope of a single user account, thus the users in different Robinapp accounts are unable to chat with each other.

Step 2: Install the Chat SDK

  ## NPM

npm install robin.io-js --save



yarn add robinapp.io-js

Sending your first message

Follow the step-by-step instructions below to authenticate and send your first message.


To use the features of the Chat SDK in your client app, a robin instance must be initiated in each client app before user authentication with Robin server. These instances communicate and interact with the server based on an authenticated user account, allowing for the client app to use the Chat SDK features.

Step 1: Initialize the Chat SDK

You need to initialize a robin instance before authentication. Initialization binds the Chat SDK to Javascript’s context which allows the Chat SDK to respond to connection, state changes and also enables client apps to use the Chat SDK features.

To initialize a Robin instance, pass the API key as the first argument to in the new Robin() method, You can find your API key in the API Configuration tab in your Robin Account.

Then true or false for as the second parameter as it tells the sdk whether to load with ssl or not. As the new Robin() can only be a single instance, call it only a single time across your Javascript client app. Typically, initialization is implemented in the user login screen.

Note: It is recommended to initialize the Chat SDK at the top of your Javascript file.

const robin = new Robin('<api_key>', true);

Step 2: Connect to Robin server

You'll need a USER_TOKEN to connect to the Robin server.

A. Create User Token

Create user token

const response = await robin.createUserToken({
meta_data: {
username: 'elvis',

Connect to the Robin server using the USER_TOKEN you just created.


Step 3: Channels

All messages sent via Robin are sent through channels, you can consider channels as tunnels that relay messages to all connected clients.

Step 4: Create a conversation

Before we can send a message to a channel we first need to create a converstion.

const response = await robin.createConversation({
sender_name: string,
sender_token: string,
receiver_token: string,
receiver_name: string

Step 5: Send a message to a conversation

Finally, send a message to a conversation.

robin.sendMessageToConversation(msg: object, conn: WebSocket, channel:string,conversation_id: string, senderToken?: string);


The following are general attributes used in Robin:

Attribute Type Default Description
Conn WebSocket null Websocket opbject returned after calling robin.connect()
sender_name String '' Name of the person sending the message
sender_token String '' USER_TOKEN of the person sending the message
receiver_name String '' Name of the person receiving the message
receiver_token String '' USER_TOKEN of the person receiving the message
msg Object {} Json serializable object containing the message

If you have any comments or questions regarding bugs and feature requests, visit Robinapp community.


Distributed under the MIT License. See LICENSE for more information.

Generated using TypeDoc