Zulip
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:
- 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.
Creating Connection
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.
Connector Specifics
Object Peculiarities
Messages
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]
, some_email@gmail.com.
Drafts
When importing data to the Drafts object, the integration log doesn’t display the IDs of the inserted records.
Streams
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 |
UPDATE, DELETE | Streams |
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.
AddEmojiReaction
To add an emoji reaction to a message, use the command
call AddEmojiReaction(:message_id, :emoji_name)
RemoveEmojiReaction
To delete the emoji reaction, use the command
call RemoveEmojiReaction(:message_id, :emoji_name)
UpdatePersonalMessageFlags
To update the personal message flags, use the command
call UpdatePersonalMessageFlags(:messages, :op, :flag)
PARAMETER NAME | DESCRIPTION |
---|---|
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 |
MarkAllAsRead
To mark all the messages as read, use the command
call MarkAllAsRead()
ReactivateUser
To reactivate the specific user, use the following command
call ReactivateUser(:user_id)
DeactivateOwnUser
To deactivate the current user, use the command
call DeactivateOwnUser()
SetTypingStatus
To inform other users that the current user is typing a message.
call SetTypingStatus(:type, :op, :to, :topic)
PARAMETER NAME | DESCRIPTION |
---|---|
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.