Heartbeat-gateway: Event-driven replacement for cron polling in OpenClaw

What heartbeat-gateway does
Heartbeat-gateway is an event-driven replacement for cron-based heartbeat polling in OpenClaw. Instead of polling every 30 minutes to check if anything changed, it receives webhooks from external tools and processes them immediately.
Key details from the source
The tool was built to address high API costs from OpenClaw's default heartbeat polling. At default settings, polling every 30 minutes costs approximately $86/month. The author notes that while OpenClaw has added lightContext and isolatedSession optimizations, these still involve polling rather than event-driven architecture.
Heartbeat-gateway works by:
- Receiving webhooks from GitHub, Linear, and PostHog
- Running a zero-cost pre-filter with repo/project/branch scoping and always-drop lists
- Classifying qualifying events against your
SOUL.mdwith a lightweight LLM call (~200 tokens) - Writing actionable items directly to
HEARTBEAT.mdfor your agent to read
Performance improvements:
- Cost reduction: ~$4.50/month vs ~$86/month
- Latency improvement: under 2 seconds vs up to 30 minutes
Technical specifications:
- Version: v0.1.1
- License: Apache-2.0
- Language: Python 3.11+
- Status: Live in production with 134 tests passing
Limitations and future plans
The tool is not a complete replacement for cron - temporal tasks like daily digests and scheduled synthesis still need cron. It specifically handles reactive events that tools can push via webhooks.
Current limitations include manual setup and rough onboarding. The author plans to build a "gateway doctor" config validator and easier deploy options if adoption grows.
Areas for feedback
The author is seeking feedback on:
- The
SOUL.mdclassifier interface - whether reading the first 500 characters makes sense or if a different context strategy would be better - Pre-filter scoping - whether repo/project/branch level control is sufficient or if event-type level control is needed
- Additional webhook sources - currently supports GitHub, Linear, PostHog; considering Slack, Sentry, Jira next
Architecture notes: The author is a PM, not a software engineer, and built this with Claude Code. The code is functional and tested but may have patterns that experienced Python developers could improve.
📖 Read the full source: r/openclaw
👀 See Also

Savecraft MCP Server Provides Claude with Accurate Magic: The Gathering Data
Savecraft is an open-source MCP server that parses MTG Arena Player.log locally, syncs game state, and gives Claude access to 12 expert reference modules built on real Magic: The Gathering data. The tool prevents Claude from hallucinating card names and rules by providing access to actual Arena data, draft recommendations from 17Lands, and the complete Scryfall database.

Building a Local Voice-to-Text macOS App with Claude Code: Vext Case Study
A developer spent 3 months building Vext, a macOS voice-to-text app using Whisper on Apple Neural Engine. Claude Code helped with Rust/Swift FFI, Core ML optimization, and hotkey architecture. The app runs 100% offline, transcribes 60s audio in ~400ms.

Exploring AI with Tiny Bots: Understanding AI Agents Through Nanobot Tutor
OpenClaw community member shares insights with the 'Nanobot Tutor', a miniature framework aimed at demystifying AI agent functionality. Discover how diving into this compact learning environment unveils the workings of intelligent agents.
Survey of Local-First Markdown Memory Servers for AI Agents: Mem0, Hindsight, Zep, and the Newcomer Engram
A user tested ~20 local agent memory systems for storing memories as editable files. Engram (by Obsidian68) was the only one that met all requirements: fully local, Markdown storage, smart dedup, importance decay, and standalone server.