---
title: "Zulip Integration"
description: "Send stream and direct messages, manage streams and users, react to and edit messages, upload files, and register event queues in a Zulip organization over its REST API."
url: https://flowrunner.ai/integrations/zulip
date_modified: 2026-08-01T02:40:32-07:00
---

# Zulip

[Communication](https://flowrunner.ai/integrations/category/communication-messaging)

Send stream and direct messages, manage streams and users, react to and edit messages, upload files, and register event queues in a Zulip organization over its REST API.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 21 actions · Basic auth · available

[Zulip website](https://zulip.com/) · [Platform Documentation](https://zulip.com/api/) · Capability data verified 2026-07-14

1.  An offboarding record appears in the HR system for a departing employee
2.  Agent reads the employee's Zulip identity and stream memberships
3.  Agent confirms the departure date has passed and the record is final
4.  Agent drafts the deactivation and the streams the account will be removed from
5.  Agent posts the proposed deactivation to the admin stream
6.  An admin approves; only then does the agent call Deactivate User

## What This Integration Enables

FlowRunner agents use Zulip to run notifications, provisioning, and offboarding on a threaded, searchable platform. An agent can post alerts and summaries into a stream topic, send direct messages to individuals or groups, add and remove reactions to triage messages, upload files and reference them in message content, and provision, update, or deactivate members during onboarding and offboarding. Creating a stream is done by subscribing to a name that does not yet exist. The member-administration actions, and deactivation above all, are where the agent pauses and puts the decision in front of an admin, because removing access is a change to answer for.

### Without FlowRunner

**Manual offboarding**: An admin deactivates each departing account by hand from an HR ticket

**Lingering access**: Accounts stay active past the departure date because nobody got to them

**No deactivation record**: An account is deactivated with no clear note of who approved it

### With FlowRunner

**Agent prepares offboarding**: The agent assembles the deactivation from the HR record

**Human approves**: An admin signs off before any account is deactivated

**Logged deactivation**: Each deactivation is captured with the admin who approved it

## Use Case Scenarios

### Offboarding with a deactivation gate

When an offboarding record appears in the HR system, the agent reads the employee's Zulip identity and stream memberships, confirms the departure date has passed, and drafts the deactivation. It posts the proposed change to the admin stream and waits. An admin approves. Only then does the agent call Deactivate User. Access is removed on time and on purpose, with a record of who approved it.

### Stream status updates

The agent resolves the target stream with Get Streams, then calls Send Message to post a formatted status update to the right topic. Deploy notifications, report summaries, and alerts land in a threaded topic that stays searchable, instead of scrolling past in a single stream.

### Onboarding new members

When new hires appear in a source system, the agent calls Create User for each one to onboard them into the organization and subscribes them to the streams their role needs. New members arrive with the right access already in place.

## Human-in-Loop Highlight

The human-in-loop moment in Zulip is the deactivation gate. Posting, reacting, and uploading run on their own. Deactivating a member does not, because it cuts off access. When an offboarding workflow reaches the deactivation step, the agent assembles the change and posts a request to the admin stream: "This member's departure date has passed. Deactivate their Zulip account and remove them from three streams?" An admin approves or holds. Only an approval leads the agent to call Deactivate User, and the approval is recorded. The agent prepares the offboarding. A person owns the decision to remove access.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

21 actions

### Messages

8

-   **Send Message** Send a stream message to a topic or a direct message to one or more users. Used to post alerts, deploy notifications, or summaries.
-   **Get Messages** Read messages matching a narrow. Used to gather context before acting.
-   **Update Message** Edit a message or its topic.
-   **Delete Message** Delete a message.
-   **Add Reaction** Add an emoji reaction as a lightweight acknowledgement or triage signal.
-   **Remove Reaction** Remove an emoji reaction.
-   **Get Message Read Receipts** List the users who have read a message.
-   **Upload File** Store a file in FlowRunner file storage and return both the Zulip upload URL and a downloadable URL to reference in message content.

### Streams

6

-   **Get Streams** List the streams in the organization. Used to resolve a target stream.
-   **Get Stream ID** Resolve a stream name into its numeric ID.
-   **Get Stream Topics** List the topics in a stream.
-   **Subscribe to Streams** Subscribe the account to one or more streams.
-   **Create Stream** Create a stream by subscribing to a name that does not yet exist.
-   **Unsubscribe from Streams** Unsubscribe the account from one or more streams.

### Users

6

-   **Get Users** List the organization's members.
-   **Get User** Retrieve a single user.
-   **Get Own User** Return the authenticated account. Used as a connection check.
-   **Create User** Create a member. Requires administrator permissions.
-   **Update User** Update a member. Requires administrator permissions.
-   **Deactivate User** Deactivate a member during offboarding, behind a human approval. Requires administrator permissions.

### Events

1

-   **Register Event Queue** Create a Zulip event queue.

## Frequently Asked Questions

### What can FlowRunner do with Zulip?

FlowRunner agents can run Send Message, Get Messages, and Update Message in Zulip, plus 18 more actions.

### Does connecting Zulip to FlowRunner require OAuth?

No. Zulip connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

### Can Zulip trigger a FlowRunner workflow automatically?

Zulip doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Zulip?** This integration exposes Zulip to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/zulip. Site index: https://flowrunner.ai/llms.txt
