TypeScript icon, indicating that this package has built-in type declarations

0.15.2 • Public • Published

Beekeeper JavaScript SDK

An API wrapper for Beekeeper to give easy access to services from the ecosystem. This library can be used on the client and server. Please see required adoption below.

Beekeeper is a mobile-first communication platform that reaches every shift, location, and language through real-time messaging and targeted streams. Managers keep frontline teams productive and turnover low by automating workflows, while leveraging an analytics dashboard to measure engagement. Beekeeper integrates with existing operational systems and makes them accessible in one central portal.

Learn more about Beekeeper at


Install NPM package with:

$ yarn add beekeeper // npm install --save beekeeper

Optional dependencies

Some features require additional dependencies:

If you are using this package with Node.js, please also add the optional dependency node-fetch:

$ yarn add node-fetch

If you want to use the realtime capabilities (e.g. Chatbots), please also add the optional dependency pubnub;

$ yarn add pubnub

If you need to upload files, please also add the optional dependency axios:

$ yarn add axios

If you need to upload files and the project is running on Node.js form-data is required in addition to axios:

$ yarn add form-data

Tenant Access

In order to use this package on a tenant, you will need to gather two pieces of information:

  • Tenant URL e.g.
  • Bot Access Key e.g. fae00bbc-b0f6-4ace-8e13-7d53b58076e1

Read more about it in the Help Center.


The SDK gives access to multiple domains at Beekeeper. Here are the different resources.


sdk.getMe() gets information about the current user


sdk.Messages.create(message) creates a new message


sdk.Profiles.get(username) gets a profile by username
sdk.Profiles.list(filter) returns a list of users with optional filter that can be {limit: 50}. This is an ADMIN resource.


sdk.Conversations.byProfile(profile) gets a conversation by username


sdk.Posts.create(post) create a new post


sdk.Streams.list() gets a list of streams


sdk.Files.create() uploads a file


sdk.Artifacts.get(query) returns a root artifact with optional query that can be { expand: 'children' | 'breadcrumbs' | 'acl', visibility: 'read' | 'manage' }

sdk.Artifacts.getById(artifactId, query) gets the artifact by artifactId with optional query that can be { expand: 'children' | 'breadcrumbs' | 'acl', visibility: 'read' | 'manage' }

sdk.Artifacts.getAclById(artifactId) gets the Acl by artifactId

sdk.Artifacts.create(artifactId, body, query) creates a new artifact by artifactId with optional query that can be { expand: 'children' | 'breadcrumbs' | 'acl' }

sdk.Artifacts.update(artifactId, body, query) updates an existing artifact with optional query that can be { expand: 'children' | 'breadcrumbs' | 'acl' }

sdk.Artifacts.updateAcl(artifactId, body) updates existing acl on an artifact

sdk.Artifacts.delete(artifactId) deletes an existing artifact


An easy way to get started with the Beekeeper SDK is a chatbot. An example is shown below:

const { ChatBot } = require('beekeeper');

const credentials = {
    tenantURL: 'https://<tenant>',
    token: '540a254c-ea8b-4ae7-a456-d8437b7314d6',

const bot = ChatBot.withCredentials(credentials);

bot.on('message', (message, ctx) => {
    // Listen to new messages and reply with received text

bot.on('started', () => {
    // Listen for started event and indicate readiness
    console.log('Bot is started!');

// Start listening for events

More examples can be found in the examples folder.

Package Sidebar


npm i beekeeper

Weekly Downloads






Unpacked Size

148 kB

Total Files


Last publish


  • floriandr
  • beekeeper_jou
  • waboodoo