Zulip is a cloud chat app for managing live and asynchronous conversations.

Data integration: Skyvia supports importing data to and from Zulip, exporting Zulip data to CSV files, replicating Zulip data to relational databases, and synchronizing Zulip data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Zulip.

Query: Skyvia Query supports Zulip.

Establishing Connection

To create a connection to Zulip, specify the URL, bot email, and API key.

Getting Credentials

To locate a bot email and API Key, perform the following actions:

  1. Go to Zulip, click the gear icon in the top right corner, and select Personal Settings.

Personal settings

  1. Click Bots in the appeared menu and copy the BOT EMAIL value and API KEY.


Creating Connection

Connection window

To connect to Zulip, do the following:

  1. In the Connection Editor, enter Zulip URL.
  2. Paste the obtained Bot email and Bot API KEY into corresponding boxes.

Connector Specifics

Object Peculiarities


By default, the Messages object returns records with Anchor = newest when querying. To get other records, you can set the filter with filters Anchor = oldest or Anchor = first_unread.

By default, fields To, Topic, QueueId, and LocalId return empty results when querying. These fields are used for import only.

The To field mapping differs by the message types. For stream messages, the To field can be either the name or integer ID of the stream. For direct messages, the To field can be either a list containing integer user IDs or string Zulip API email addresses. For example, [642087, 642088], [email protected].


When importing data to the Drafts object, the integration log doesn’t display the IDs of the inserted records.


By default, the Streams object returns only public streams when querying.

To select other records, you can set filters by the IncludePublic, IncludeWebPublic, IncludeSubscribed, IncludeAllActive, IncludeDefault, and IncludeOwnerSubscribed fields. When querying, these fields return empty results, and they are used for filtering only.

Incremental Replication and Synchronization

Skyvia supports Replication with Incremental Updates for Messages and Streams objects.

Skyvia supports Synchronization for the Messages object.

DML Operations Support

Operation Object
INSERT, UPDATE, DELETE Drafts, Messages, ScheduledMessages, Users

Stored Procedures

Skyvia represents part of the supported Zulip features as stored procedures. You can call a stored procedure, for example, as a text of the command in the ExecuteCommand action in a Target component of a Data Flow or in Query.


To add an emoji reaction to a message, use the command

call AddEmojiReaction(:message_id, :emoji_name)


To delete the emoji reaction, use the command

call RemoveEmojiReaction(:message_id, :emoji_name)


To update the personal message flags, use the command

call UpdatePersonalMessageFlags(:messages, :op, :flag)

Messages List of message IDs for which you update the flags in array format. For example, [4, 5, 9]
Op Possible values are Add and Remove
Flag Flag which has to be updated/deleted. Valid values are Read, Starred, Collapsed, Mentioned, Wildcard Mentioned, Has Alert Word, Historical


To mark all the messages as read, use the command

call MarkAllAsRead()


To reactivate the specific user, use the following command

call ReactivateUser(:user_id)


To deactivate the current user, use the command

call DeactivateOwnUser()


To inform other users that the current user is typing a message.

call SetTypingStatus(:type, :op, :to, :topic)

Type Valid values are direct, stream or private
Op Whether the user has started (“start”) or stopped (“stop”) typing
To For “direct” type, it is the user IDs of the recipients of the message being typed. Send a JSON-encoded list of user IDs. (Use a list even if there is only one recipient.). For “stream” type, it is a single element list containing the ID of the stream in which the message is being typed. Example — [642089]
Topic Topic to which message is being typed. Required for the “stream” type. Ignored in the case of “direct” type

Supported Actions

Skyvia supports all the common actions for Zulip.