Nanoprogrammed Penultimate Musicianship

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

    0.13.7 • 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.


    npm i beekeeper

    DownloadsWeekly Downloads






    Unpacked Size

    148 kB

    Total Files


    Last publish


    • floriandr
    • beekeeper_jou
    • waboodoo