Channel-Based Communication

The Wolfram Language supports efficient publish-subscribe communication, brokered either in the Wolfram Cloud (through or elsewhere. Channels can be used for asynchronous communication, either between Wolfram Language sessions on the cloud or desktop, or with external systems (with data provided in a JSON format).


ChannelObject symbolic representation of a communication channel

$ChannelBase base URL of default broker to use for channel communications

FindChannels find available channels

CreateChannel create a new communication channel on the server

DeleteChannel delete a communication channel on the server

ChannelListen set up a listener to specify what to do whenever a message arrives

ChannelListener  ▪  RemoveChannelListener

ChannelListeners list of currently active channel listeners

ChannelSend send an expression as a message to a specified channel

ChannelSubscribers list of users currently subscribed to a channel

Channel Options

HandlerFunctions handler functions to execute when a message is received

NotificationFunction notification to generate when a message is received

ChannelPreSendFunction function to apply to messages before sending

Initialization how to initialize processing functions for the channel

Permissions permissions for reading, writing, and changing the channel

ChannelDatabin databin to which to send all received messages

Standard Channels

"WolframID" "home channel" for a particular user