Zulip
Send notifications to Zulip streams
Post messages to Zulip streams and topics using the bot API. Zulip's threaded model keeps notifications organized by topic.
How it works
Configure
Add the channel in your Alphorn dashboard with your credentials.
Send a webhook
POST a JSON payload to your Alphorn webhook endpoint.
Delivered
Alphorn filters, routes, and delivers the notification automatically.
Use cases
- Threaded project update notifications
- Academic and research group alerts
- Open-source project automation
Configuration
- Zulip server URL
- Bot email and API key
- Stream and topic targeting
Send your first notification
One HTTP request is all it takes. Alphorn handles routing to Zulip automatically.
$ curl -X POST https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myT \
-H "Authorization: Bearer $ALPHORN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Deploy complete","message":"v2.1.0 is live","priority":3,"tags":["deploy"]}'What Alphorn adds on top of Zulip
Wiring Zulip into your application directly is the easy part. What usually grows into a maintenance problem is everything around it: retries when the provider is having a bad day, backoff so you don't get rate-limited, fan-out to additional destinations when a rule fires, and a delivery log for debugging. Alphorn owns all of that on your behalf, so the integration code you write stays at one HTTP call forever.
Every notification is stored in a durable PostgreSQL-backed queue before Alphorn delivers it to Zulip. If delivery fails, Alphorn makes up to five attempts with exponential backoff and records the failure in the delivery log. You can trigger a secondary notification when deliveries to a primary channel fail, for example, page an on-call engineer when a daily summary to a chat room stops going through. Filtering rules based on priority, tags, or JSON path expressions decide at runtime whether a particular payload reaches Zulip or gets routed somewhere else entirely.
The same rules apply whether you're on the managed edition or running Alphorn yourself. The self-hosted edition is AGPL-3.0-or-later and ships as a single container, so you can deploy the exact same delivery pipeline on your own infrastructure, useful for regulated environments where notification data has to stay inside your own network.
Related chat & messaging integrations
Alphorn can route the same notification to multiple channels. Pair Zulip with another chat & messaging destination:
Start routing to Zulip
Free plan includes 3,000 messages/month. No credit card required.