# Beehive — Event and Agent System for Task Automation > A flexible event and agent system written in Go that lets you create automated workflows by connecting services through chains of events, filters, and actions without writing code. ## Install Save as a script file and run: # Beehive — Event and Agent System for Task Automation ## Quick Use ```bash go install github.com/muesli/beehive@latest beehive # Open http://localhost:8181 to access the web UI ``` ## 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 install` or download pre-built binaries from GitHub releases - Run with `beehive` to 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. ## Sources - https://github.com/muesli/beehive - https://beehive-project.com/ --- Source: https://tokrepo.com/en/workflows/asset-7a4af3f6 Author: Script Depot