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.
To create a connection to Zulip, specify the URL, bot email, and API key.
To locate a bot email and API Key, perform the following actions:
- Go to Zulip, click the gear icon in the top right corner, and select Personal Settings.
- Click Bots in the appeared menu and copy the BOT EMAIL value and API KEY.
To connect to Zulip, do the following:
- In the Connection Editor, enter Zulip URL.
- Paste the obtained Bot email and Bot API KEY into corresponding boxes.
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
|INSERT, UPDATE, DELETE||Drafts, Messages, ScheduledMessages, Users|
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,
|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
To reactivate the specific user, use the following command
To deactivate the current user, use the command
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 — |
|Topic||Topic to which message is being typed. Required for the “stream” type. Ignored in the case of “direct” type|
Skyvia supports all the common actions for Zulip.