Connect your App to Multiple Messaging Channels with the W3C Open standard.

npm node deps tests bithound bithoundscore nsp-checked


Broid Integrations is an open source project providing a suite of Activity Streams 2 libraries for unified interface among a vast number of communication platforms.

Connect your App to Multiple Messaging Channels with the W3C Open standard.

gitter join-slack


Broid Integrations provide a suite of libraries to convert all messaging platforms events to Activity Streams 2 schemas.


  • All events are Observables (RxJS)
  • All functions return a Promise (Bluebird)
  • Highly modular to keep your focus on high level features

Quick Example

A quick example showing off listening for new messages on Facebook Messenger and Discord with Observables.

npm i --save broid-messenger broid-discord rxjs ramda
const Rx = require("rxjs/Rx");
const R = require("ramda");
const BroidDiscord = require("broid-discord");
const BroidMessenger = require("broid-messenger");

const clients = {
	discord: new BroidDiscord({token: 'DISCORD_TOKEN'}),
	messenger: new BroidMessenger({token: 'FACEBOOK_TOKEN', tokenSecret: 'FACEBOOK_SECRET'})

Rx.Observable.merge( => client.connect(), R.values(clients)))
		next: data => console.log(JSON.stringify(data, null, 2)),
		error: err => console.error(`Something went wrong: ${err.message}`),

Rx.Observable.merge( => client.listen(), R.values(clients)))
		next: message => console.log(JSON.stringify(message, null, 2)),
		error: err => console.error(`Something went wrong: ${err.message}`),

Get Started

Check out Broid’s quick Get Started guide to get a better feel of what Broid is capable of.


Broid Integrations support simple, media and rich messages (location, carroussel) and split into multiple libraries. This make Broid flexible and useful to use in your application.

Node packages

Name Status
broid-alexa alexa alexa alexa
broid-callr callr callr callr
broid-discord discord discord discord
broid-flowdock flowdock flowdock flowdock
broid-gitter gitter gitter gitter
broid-google-assistant google-assistant google-assistant google-assistant
broid-groupme groupme groupme groupme
broid-irc irc irc irc
broid-kik kik kik kik
broid-line line line line
broid-messenger messenger messenger messenger
broid-ms-teams ms-teams ms-teams ms-teams
broid-nexmo nexmo nexmo nexmo
broid-skype skype skype skype
broid-slack viber slack slack
broid-telegram telegram telegram telegram
broid-twilio twilio twilio twilio
broid-twitter viber twitter twitter
broid-viber viber viber viber
broid-wechat wechat wechat wechat

Broid Formats

Broid integrations supports Activity Streams 2.0 and uses broid-schemas package to validate input and output message.

Name Status
broid-schemas schemas schemas schemas


If you have discovered a bug or have a feature suggestion, feel free to create an issue. If you create a integration, feel free to open a Pull Request!

You are also welcome to correct any spelling mistakes or any language issues.

If you want to discuss something or just need help, here is our Gitter room.

Code of Conduct

Make sure that you’re read and understand the Code of Conduct.


To protect the interests of the Broid contributors, Broid, customers and end users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is simple and straightforward - it requires that the contributions you make to any Broid open source project are properly licensed and that you have the legal authority to make those changes. This helps us significantly reduce future legal risk for everyone involved. It’s easy—no faxing or printing required!

You can digitally sign the CLA online. Please indicate your email address in your first pull request so that we can make sure that will locate your CLA. Once you’ve submitted it, you no longer need to send one for subsequent submissions.


Broid contributors Broid contributors Broid contributors

Related Repositories



LoopBack makes it easy to build modern applications that require complex integrations. ...



A supercharged Git/GitHub command line interface (CLI). An official integration for GitHub and GitHub Enterprise: ...



Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API ...



A really simple but powerful packaged personal site that has social integrations like twitter, github, dribbble, instagram, foursquare, tumblr, wordpress, linkedin, spotify/, and much more... ...



StackStorm (aka "IFTTT for Ops") is event-driven automation commonly used for auto-remediation, security responses, facilitated troubleshooting, complex deployments, and more. Includes rules engine, workflow, 1800+ integrations (see /st2contrib), native C ...