Favicon of Huginn

Huginn

Huginn is a self-hosted Ruby system for building agents that watch feeds, scrape sites, and trigger automated actions on your data.

Open Source Alternative to:
Huginn website screenshot
Huginn GitHub repository preview

Huginn is an open source system for building agents that automate tasks online: reading the web, watching for events, and acting on your behalf. Agents create and consume events and pass them along a directed graph, so the output of one agent becomes the input of the next. The project describes itself as a hackable version of IFTTT or Zapier that you run on your own server, so you control the data instead of a third party. It has been actively developed since well before either of those commercial services existed in their current form, and the agent graph model still underpins every workflow.

Key features

  • Agent graph: Chain agents together so one agent's output triggers the next, building multi-step automations.
  • Wide service coverage: Built-in agents connect to HipChat, FTP, IMAP, Jabber, JIRA, MQTT, Pushbullet, Pushover, RSS, Slack, Twilio, Twitter, and Weibo, among others.
  • Web scraping and change detection: Watch pages for changes and get notified, or extract structured data from HTML.
  • Webhooks in and out: Send and receive webhooks to connect Huginn to services without a dedicated agent.
  • Custom JavaScript agents: Run your own JavaScript functions as part of a workflow for cases the built-in agents don't cover.
  • Digest email: Batch notifications into digest emails delivered at set times instead of one-off alerts.
  • Mechanical Turk workflows: Use Amazon Mechanical Turk as an input or output stage in an agent chain for human-in-the-loop tasks.

How it works

Each Agent either produces events, such as watching an RSS feed or a Twitter search term, consumes events, such as sending an email or posting to Slack, or both. Agents are wired together through a web UI, and Huginn runs scheduled checks in the background to move events through the graph you've built. Agents can also be published as separate Ruby gems using the huginn_agent tooling, which keeps the core project focused on general-purpose building blocks while specialized integrations live outside it.

Getting started

The quickest path is the official Docker image, documented in doc/docker/install.md. For a local Rails setup, fork the repository, copy .env.example to .env, set APP_SECRET_TOKEN, install MySQL or PostgreSQL, run bundle to install dependencies, then run the database rake tasks (db:create, db:migrate, db:seed) before starting the app with bundle exec foreman start. That seeded database ships with example agents already configured, so a new install has something to inspect and modify instead of an empty dashboard. Deployment guides also cover Heroku (paid plan required) and OpenShift, and manual installation on any server is documented separately for teams that want to run Huginn outside of a managed platform. In development, outgoing email is intercepted and viewable at /letter_opener instead of actually being sent, which keeps local testing of email-based agents from spamming real inboxes.

Frequently asked questions

Share:

Stars
49.7K
Forks
4.3K
Last commit
1 day ago
Repository age
13 years
License
MIT
Self-hosted
Yes
Activity score
86/100
View Repository
Ad
Favicon

 

  
 

Similar to Huginn

Favicon

 

  
 
Favicon

 

  
 
Favicon