Communication · Integration

Zulip

Add Zulip to your product for your customers, and give your AI agents governed access to it.

Zulip's REST API sits on each organisation's own host, for example yourorg.zulipchat.com/api/v1, and authenticates with HTTP basic auth using a bot email as the username and its API key as the password. Messages are addressed to a channel plus a topic rather than a channel alone, so posting without a topic is rejected and threading is a first class field instead of a convention. What the UI now calls channels was previously called streams, and many API parameters kept the stream naming, so both spellings turn up in live payloads. Reading history uses narrow filters with an anchor and num_before or num_after rather than page numbers, and the real time path is registering an event queue and long polling it. A bot only sees the channels it is subscribed to, so onboarding has to subscribe the bot before anything is visible. fastn holds each customer's realm host and bot key, and keeps the subscription and event queue lifecycle running.

Start freeBook a demo

In your product

Embedded for your customers. Per-tenant auth, no per-customer code, maintained by fastn.

Let a customer connect their own Zulip organisation so your product can post into the channels and topics they choose

Send alerts from your app into a dedicated topic so each incident keeps its own thread rather than flooding a channel

Read a topic's history to attach the relevant discussion to a record in your own system

Subscribe the connected bot to newly created channels so coverage does not quietly go stale

For your AI agents

Governed, audited access for the agents you build, through the MCP server.

Ask an agent to summarise a topic's discussion and post the summary back into the same topic

Have an agent search a channel for messages matching a query, with the read audited per tenant and limited to subscribed channels

Let an agent post a status update to a named topic only after a human approves the text

Example prompt

Summarise what was decided in the deploy topic on the engineering channel this week.

Set up Zulip in 4 steps

  1. 01Enable the Zulip connector from your fastn dashboard.
  2. 02Have each customer authorise their own Zulip account, so calls run under their credentials rather than a shared key.
  3. 03Decide which messages, conversations and participants your product needs, map those fields, then enable the actions and triggers you want.
  4. 04Call it from your product and expose it to your agents through the same governed connection.

Why teams use the Zulip integration

What you get by embedding it with fastn instead of building it yourself.

  • Ship a Zulip integration without building it. Your customers connect their own Zulip account inside your product and work their messages, conversations and participants there, with no per-customer code on your side.
  • Handle the part that actually costs time: anything sent is user-visible, so duplicates and misfires are immediately embarrassing. fastn owns the auth, token refresh, rate limits, pagination and breaking-change fixes, so a Zulip update is not your on-call problem.
  • One integration serves your product and your agents. The same governed Zulip connection powers in-product features and gives AI agents scoped, audited access, so you put the right message in front of the right team automatically without wiring it twice.

Used by these teams

SalesCustomer SupportHR & People OpsEngineering

Compare with

SlackMicrosoft TeamsTwilio

Often used alongside

Tools the same teams tend to run next to Zulip, across other categories.

AircallCalendlyGongGoogle Calendar

Zulip integration FAQ

How do I add a Zulip integration to my product?

Enable the Zulip connector in your fastn dashboard, then let each customer authenticate their own Zulip account. fastn handles the OAuth flow, token storage and refresh per tenant, so there is no Zulip client code in your app and no per-customer branch in your codebase. Setup is 4 steps.

Do my customers each connect their own Zulip account?

Yes. Every connection is scoped to the individual customer, so each authorises their own Zulip account and only ever sees their own messages, conversations and participants. That per-tenant isolation is the point of an embedded integration: you support the long tail of customer setups without maintaining an integration per customer.

Can AI agents use this Zulip integration?

Yes. The same connection is exposed to your agents through the fastn MCP gateway, with permissions scoped per tenant and every call audited. Ask an agent to summarise a topic's discussion and post the summary back into the same topic

Who maintains the Zulip integration?

fastn does. When Zulip changes an endpoint, deprecates a field or alters its auth, the fix lands in the connector rather than in your backlog, and your customers' connections keep working.

Does each customer connect their own Zulip account?

Yes. Every customer authorises their own Zulip account, so messages, meetings and notifications originate from their workspace under their permissions. You never proxy through a shared account, which also means a customer revoking access affects only their own connection.

How are duplicate notifications avoided?

Sends are deduplicated per event, so a retry after a network failure does not post the same message twice into a channel people are reading.

What can I build with the Zulip integration?

A common starting point: let a customer connect their own Zulip organisation so your product can post into the channels and topics they choose. Teams also use it for the other use cases listed above, and expose it to agents for governed reads and writes.

How much does the Zulip integration cost?

It is included. Pricing is based on connected accounts, not on how many connectors you enable, so adding Zulip does not change your per-connector cost. You can start free with 3 connected accounts.

Add Zulip to your product

Start free with 3 connected accounts. No sales call required, and no per-customer integration code.

Start freeRead the docs
← All integrations