Introduction
Beehive is an open-source event and agent system written in Go. It connects services through event-driven chains: when something happens in one service (an event), Beehive can filter, transform, and trigger actions in another. Think of it as a lightweight, self-hosted IFTTT or Zapier that runs on your own infrastructure.
What Beehive Does
- Monitors events from sources like RSS feeds, email, IRC, Mastodon, and file system watchers
- Chains events to actions through configurable filters and conditions
- Triggers actions such as sending notifications, posting messages, or executing webhooks
- Provides a web-based UI for creating and managing automation chains visually
- Runs as a single Go binary with no external dependencies
Architecture Overview
Beehive is built around three concepts: Bees, Hives, and Chains. A Bee is an instance of a Hive (a plugin for a specific service like RSS, SMTP, or Telegram). Each Bee can emit events and accept actions. Chains connect a source Bee's events to a target Bee's actions, optionally applying filters that inspect event data before triggering. The entire configuration is stored in a JSON file, making it easy to back up and version control.
Self-Hosting and Configuration
- Install from source with
go installor download pre-built binaries from GitHub releases - Run with
beehiveto start the web UI on port 8181 - Create Bees (service connections) through the web interface or by editing the JSON config
- Define Chains that map events from one Bee to actions on another with optional filters
- Store the config file in a persistent location and back it up with your dotfiles
Key Features
- 30-plus built-in Hives covering RSS, email, IRC, Mastodon, Telegram, webhooks, and more
- Filter expressions let you route events based on content, sender, or metadata
- Template variables inject event data into action parameters for dynamic messages
- Single static binary with an embedded web UI requires no runtime dependencies
- Extensible Hive API makes it straightforward to add support for new services in Go
Comparison with Similar Tools
- n8n — feature-rich workflow automation with a visual node editor; Beehive is lighter and simpler to self-host
- Huginn — Ruby-based agent system with broader capabilities; Beehive offers a smaller resource footprint as a Go binary
- Node-RED — flow-based visual programming for IoT and automation; Beehive focuses on service-to-service event chaining
- IFTTT/Zapier — cloud-hosted automation platforms; Beehive is fully self-hosted with no account or subscription needed
FAQ
Q: Does Beehive support webhooks? A: Yes. Beehive can both receive incoming webhooks as events and send outgoing webhook requests as actions.
Q: Can I run Beehive in Docker? A: Community Docker images are available. Mount a volume for the config file to persist your automation chains.
Q: How do I add a new service integration? A: Implement the Hive interface in Go, defining the events it emits and actions it supports, then register it with the Beehive core.
Q: Is Beehive suitable for production workloads? A: Beehive is best suited for personal automation and homelab use cases. For enterprise workflow automation, consider n8n or Temporal.