Integrating your group chat / collaboration tool with external data sources is easy with Semaphor. From its inception, Semaphor has supported Self-Hosted Bots (see GitHub). In fact, we use this same programmatic interface to test new features and implement Active Directory in the product. SpiderOak-hosted Integrations are expected to be available early in Q1 of 2017.
There are material differences between how Semaphor implements integrations and bots compared to others in the marketplace. These differences are primarily driven by the security and privacy features of Semaphor. Most notably, integrations can only insert data into channels; however bots have the same features as any users of a channel - they can read, post, and even take administrative actions if permitted.
Below is a quick overview of both technical approaches along with their pros and cons.
In addition to Hosted Integrations, SpiderOak also provides a "wrapper" around the Semaphor application which enables end users to create "Bots" that can interact with Semaphor programmatically. Bots are essentially full Semaphor applications which do not possess a user interface, also known as being "headless." Because Bots have all of the capabilities of the Semaphor application, they also can represent Semaphor user accounts, complete with all of the privacy, abilities, and encryption.
The library which enables the creation and customization of bots is called "flow-python" and is currently provided on GitHub for use and collaboration. Anyone can utilize the library to create instances of Semaphor users which are driven by command line, automation, web services, internet of things devices, and any utility which can interface with the Python programming language and runtime environment.
Bots can be installed to run on workstations, laptops, or servers; and due to the fact that the Bot users retain all of the Messages, Attachments, and user details, of whichever team they are in, Bot installations should be protected with the same safeguards as any privileged user endpoint.
Hosted Integrations provides third-party service interaction to Semaphor customers. These Integrations, also known as "Plugins," are hosted by SpiderOak, but provide a gateway for data and notifications to flow into your team's channels via our custom program logic.
All Integrations are secured by a Channel-specific Public/Private Key Pair, ensuring that only Integrations you authorize can write to your Channels. Once installed, any members of the specified Channel can see the content provided by the Integration's functionality.
Hosted Integrations are made possible by the Semaphor Protocol's Integration-Message specification. This allows data received from your desired third party services to be securely added to your Channel as its own unique Message Type and user experience. Implementation is as simple as associating a given Integration with your Team, then assigning it your Channel-specific Public/Private key pair. As with any service providing a proxy from a third party, Hosted Integrations do violate Zero Knowledge, as the incoming content is derived from a third party and must be inserted into the Semaphor protocol via the SpiderOak-hosted Integration, however the Integration access can be revoked at any time, and Integration Keys can be rotated for extra security.