Mercury

Mercury is the “event bus” that facilitates the communication between clients (skills, browsers, Iot, etc). When clients communicate, they are always having their events routed through Mercury. It also comes with suite of events to support some core functionality you’de expect from any foundational platform (people & role management, permissions, messages, etc).

Skills and Mercury

Every skill utilizes the MercuryClient for communication. It’s a websocket based client that facilitates both push and pull type communication (typical event driven systems stuff). If a skill wants to, it’ll go through Mercury. One outcome of this is that skills can be indepedently upgrade, updated, and rebooted without affecting the rest of the system.

Clients, Skills, and Mercury

Even “non-skill clients”, like browsers, native apps, or any device that can run a MercuryClient will have it’s communication routed through Mercury. In this example if, “Client 1” and “Client 2” wanted to communicate, they’d still have to go through Mercury.

Core Events

It’s common to refer to the events that Mercury provides as “core events”.

API COMING SOON

Registering your skill

In order for your skill to officially be a “skill,” you need to register it. Once registered, it’ll be able to register events, be installed at organizations, and more.

spruce register

Something Missing?

Request Documentation Enhancement
It looks like you are using Internet Explorer. While the basic content is available, this is no longer a supported browser by the manufacturer, and no attention is being given to having IE work well here.