openapi: 3.0.0
info:
title: Bots userpreferences API
description: "
Bots are conversational assistants designed to automate repetitive tasks and manage simple user interactions. Their behavior is fully customizable through predefined Bot Handlers, which are activated by specific actions or through Webhooks that communicate with your own external server.
For more information about Bots, please refer to the Bots Help Documentation.
Bot Handlers
\n - Bot Handlers are the building blocks of a bot's functionality. Each handler is associated with a specific trigger event, such as receiving a direct message, being @mentioned in a channel, or a user subscribing to the bot.
\n - When the trigger event occurs, the corresponding handler executes it's script to perform actions like sending messages, making API calls, or updating data.
\n - By configuring different handlers, you can create bots that respond intelligently to various user interactions and automate complex workflows within Zoho Cliq.
\n
Types of Bot Handlers
\n \n | Handler | \n Description | \n
\n \n | Menu Handler | \n Adds up to 5 quick-action items to the bot's chat menu. Triggered when a user interacts with the menu. | \n
\n \n | Message Handler | \n Triggered when the bot receives a message. | \n
\n \n | Welcome Handler | \n Defines the greeting message sent when a user subscribes to the bot. | \n
\n \n | Mention Handler | \n Triggered when the bot is @mentioned in a chat or channel. | \n
\n \n | Incoming Webhook Handler | \n Allows external services to post messages into the bot via outgoing webhooks. | \n
\n \n | Context Handler | \n Manages multi-turn conversations, maintaining context across a user's interaction with the bot. | \n
\n
What you can do with the Bots API?
With the Bots API, you can retrieve information about a specific bot, list all bots within your organization, manage configurations specific to handlers, trigger bot calls programmatically, manage subscribers, and much more.
Each bot has an execution_type that defines how its handlers run when a trigger event occurs. The Bots API allows developers to create two types of bots:
Deluge Bots (default)
Deluge bot executes handler logic using Zoho's Deluge scripting language, hosted entirely within the Zoho Cliq Developer platform, where no external server is required.
\n - If
execution_type is not specified during bot creation, it defaults to deluge. \n - Handler logic is defined as a script field (Deluge source code) when creating or updating handlers.
\n - Suitable for teams that want to build and manage bot logic entirely within Zoho's ecosystem.
\n
Webhook Bots
A Webhook bot delegates all handler execution to your own external server. When a trigger event fires, Zoho Cliq sends an HTTP POST request to the execution_url you configure, and your server processes the event and returns a response.
\n - To create a Webhook bot, set
execution_type to webhook during bot creation and provide the execution_url where event payloads should be sent. \n - Your server must be publicly accessible and able to handle incoming POST requests from Zoho Cliq.
\n - Ideal for teams seeking complete control over bot logic and possessing the resources to manage an external server. Also suitable for integrations requiring access to external databases, third-party APIs, or custom business logic that cannot be executed in Deluge.
\n
\n"
contact: {}
version: 1.0.0
servers:
- url: https://cliq.zoho.com/api/v3
description: Zoho Cliq US DC
tags:
- name: userpreferences
description: User Preferences Module
paths:
/settings/user-preferences:
get:
summary: Get user preferences
operationId: getUserPreferences
description: "Returns the full preference set for the authenticated user.\nThis includes interface settings, notification controls, AV behavior, and accessibility-related options.\n
\n\n OAuth Scope: ZohoCliq.Profile.READ
\n
\n"
parameters:
- name: keys
in: query
required: false
schema:
type: string
description: Comma-separated preference key names to fetch.
responses:
'200':
description: User preferences were retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/user-preferences-response'
example:
userpreferences:
dark_mode: disabled
ui_theme: '4'
lhs_theme: enabled
smileys: enabled
smileypreference: enabled
translation_mode: enabled
show_translate_option: enabled
av_noise_cancellation: disabled
av_hd_video: enabled
av_speech_detection: enabled
av_auto_pip: enabled
av_livetranscript_always_on: disabled
av_livetranscript_fontsize: '2'
av_translate_livetranscript: disabled
sound_notification: enabled
global_sound_notify: enabled
desktop_notification: disabled
toast_notification: disabled
reading_mask: disabled
vision_assistive: disabled
cliq_font: '-1'
cliq_font_size: '2'
cliq_font_spacing: '2'
reminder_notification: enabled
reactions_notification: enabled
quick_reactions: :thumbsup:,:super:,:heavy-plus-sign:/#x2795
conference_recording: disabled
conference_theme: none
video_background: none
video_filter: none
'400':
description: Bad Request.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
'401':
description: Unauthorized.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Request was rejected because of invalid AuthToken.
'403':
description: Forbidden.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
'429':
description: Too many requests.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Too many requests within a certain time frame.
'500':
description: Internal Server Error.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Cliq server encountered an error which prevents it from fulfilling the request.
security:
- Cliq_Auth:
- ZohoCliq.Profile.READ
tags:
- userpreferences
put:
summary: Update user preferences
operationId: updateUserPreferences
description: "Updates one or more user preferences for the authenticated user.\nSend only the fields you want to modify.\n
\n\n OAuth Scope: ZohoCliq.Profile.UPDATE
\n
\n"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/update-user-preferences-request'
example:
dark_mode: enabled
responses:
'204':
description: No Content. User preferences were updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/NoResponse'
'400':
description: Bad Request.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
'401':
description: Unauthorized.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Request was rejected because of invalid AuthToken.
'403':
description: Forbidden.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
'429':
description: Too many requests.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Too many requests within a certain time frame.
'500':
description: Internal Server Error.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Cliq server encountered an error which prevents it from fulfilling the request.
security:
- Cliq_Auth:
- ZohoCliq.Profile.UPDATE
tags:
- userpreferences
components:
schemas:
update-user-preferences-request:
type: object
description: Provide only the preference fields that must be updated.
properties:
dark_mode:
type: string
enum:
- enabled
- disabled
description: "Toggles dark mode for the Cliq interface.
\nAllowed values:\n\n enabled: Dark mode is active. \n disabled: Dark mode is turned off. \n
\n"
ui_theme:
type: string
description: Active UI theme identifier.
example: '4'
lhs_theme:
type: string
enum:
- enabled
- disabled
description: "Toggles the left-hand sidebar theme.
\nAllowed values:\n\n enabled: Left-hand sidebar theme is applied. \n disabled: Left-hand sidebar theme is turned off. \n
\n"
smileys:
type: string
enum:
- enabled
- disabled
description: "Toggles emoji display in messages.
\nAllowed values:\n\n enabled: Emojis are rendered in messages. \n disabled: Emojis are shown as text. \n
\n"
translation_mode:
type: string
enum:
- enabled
- disabled
description: "Toggles automatic message translation.
\nAllowed values:\n\n enabled: Auto-translation is active. \n disabled: Auto-translation is turned off. \n
\n"
av_noise_cancellation:
type: string
enum:
- enabled
- disabled
description: "Toggles noise cancellation during audio/video calls.
\nAllowed values:\n\n enabled: Noise cancellation is active. \n disabled: Noise cancellation is turned off. \n
\n"
av_hd_video:
type: string
enum:
- enabled
- disabled
description: "Toggles HD video during calls.
\nAllowed values:\n\n enabled: HD video is active. \n disabled: HD video is turned off. \n
\n"
sound_notification:
type: string
enum:
- enabled
- disabled
description: "Master toggle for all sound notifications.
\nAllowed values:\n\n enabled: Sound notifications are active. \n disabled: All sound notifications are muted. \n
\n"
desktop_notification:
type: string
enum:
- enabled
- disabled
description: "Toggles desktop push notifications.
\nAllowed values:\n\n enabled: Desktop notifications are active. \n disabled: Desktop notifications are turned off. \n
\n"
reading_mask:
type: string
enum:
- enabled
- disabled
description: "Toggles reading mask for accessibility.
\nAllowed values:\n\n enabled: Reading mask is active. \n disabled: Reading mask is turned off. \n
\n"
vision_assistive:
type: string
enum:
- enabled
- disabled
description: "Toggles vision assistive features.
\nAllowed values:\n\n enabled: Vision assistive features are active. \n disabled: Vision assistive features are turned off. \n
\n"
cliq_font:
type: string
description: Selected font identifier. -1 means default.
example: '-1'
cliq_font_size:
type: string
description: Font size level.
example: '2'
conference_recording:
type: string
enum:
- enabled
- disabled
description: "Toggles conference call recording.
\nAllowed values:\n\n enabled: Conference recording is permitted. \n disabled: Conference recording is not permitted. \n
\n"
video_background:
type: string
description: Virtual background identifier for video calls.
example: none
video_filter:
type: string
description: Video filter identifier applied during calls.
example: none
last_seen:
type: string
enum:
- enabled
- disabled
description: "Controls the visibility of the user's last seen status.
\nAllowed values:\n\n enabled: Last seen is visible to contacts. \n disabled: Last seen is hidden from contacts. \n
\n"
linkpreview_status:
type: string
enum:
- enabled
- disabled
description: "Toggles URL link previews in messages.
\nAllowed values:\n\n enabled: Link previews are shown in messages. \n disabled: Link previews are hidden. \n
\n"
user-preferences-response:
type: object
properties:
userpreferences:
$ref: '#/components/schemas/user-preferences-object'
user-preferences-object:
type: object
description: Complete user preference object returned by the API.
x-enum-descriptions:
- enabled: Setting is enabled.
- disabled: Setting is disabled.
properties:
dark_mode:
type: string
enum:
- enabled
- disabled
description: Enable or disable dark mode.
ui_theme:
type: string
description: Active UI theme identifier.
example: '4'
lhs_theme:
type: string
enum:
- enabled
- disabled
description: Left-hand sidebar theme toggle.
smileys:
type: string
enum:
- enabled
- disabled
description: Enable emoji display in messages.
smileypreference:
type: string
enum:
- enabled
- disabled
description: Emoji preference toggle.
translation_mode:
type: string
enum:
- enabled
- disabled
description: Auto-translation toggle.
show_translate_option:
type: string
enum:
- enabled
- disabled
description: Show the Translate option on messages.
av_noise_cancellation:
type: string
enum:
- enabled
- disabled
description: Enable noise cancellation during AV calls.
av_hd_video:
type: string
enum:
- enabled
- disabled
description: Enable HD video for calls.
av_speech_detection:
type: string
enum:
- enabled
- disabled
description: Enable speech detection during calls.
av_auto_pip:
type: string
enum:
- enabled
- disabled
description: Automatically switch to picture-in-picture during calls.
av_livetranscript_always_on:
type: string
enum:
- enabled
- disabled
description: Keep live transcript always visible during calls.
av_livetranscript_fontsize:
type: string
description: Font size setting for live transcripts.
example: '2'
av_translate_livetranscript:
type: string
enum:
- enabled
- disabled
description: Translate live transcripts during calls.
sound_notification:
type: string
enum:
- enabled
- disabled
description: Master toggle for sound notifications.
global_sound_notify:
type: string
enum:
- enabled
- disabled
description: Global sound notification switch.
desktop_notification:
type: string
enum:
- enabled
- disabled
description: Desktop push notification toggle.
toast_notification:
type: string
enum:
- enabled
- disabled
description: Toast (pop-up) notification toggle.
reading_mask:
type: string
enum:
- enabled
- disabled
description: Enable reading mask for accessibility.
reading_mask_type:
type: string
enum:
- enabled
- disabled
description: Type of reading mask.
vision_assistive:
type: string
enum:
- enabled
- disabled
description: Enable vision assistive features.
vision_assistive_type:
type: string
enum:
- enabled
- disabled
description: Type of vision assistive mode.
cliq_font:
type: string
description: Selected font identifier. -1 means default.
example: '-1'
cliq_font_size:
type: string
description: Font size level.
example: '2'
cliq_font_spacing:
type: string
description: Font spacing level.
example: '2'
reminder_notification:
type: string
enum:
- enabled
- disabled
description: Toggle reminder notifications.
reactions_notification:
type: string
enum:
- enabled
- disabled
description: Toggle reaction notifications.
quick_reactions:
type: string
description: Comma-separated list of quick reaction emojis.
example: ':thumbsup:,:super:,:heavy-plus-sign:'
conference_recording:
type: string
enum:
- enabled
- disabled
description: Enable conference call recording.
conference_theme:
type: string
description: Theme used during conference calls.
example: none
video_background:
type: string
description: Virtual background for video calls.
example: none
video_filter:
type: string
description: Video filter applied during calls.
example: none
contact_photo:
type: string
enum:
- enabled
- disabled
description: Show contact photos in the chat list.
linkpreview_status:
type: string
enum:
- enabled
- disabled
description: Show URL link previews in messages.
underlinelinks:
type: string
enum:
- enabled
- disabled
description: Underline hyperlinks in messages.
magnify_text:
type: string
enum:
- enabled
- disabled
description: Magnify text for accessibility.
focus_indicator:
type: string
enum:
- enabled
- disabled
description: Show focus indicator for keyboard navigation.
last_seen:
type: string
enum:
- enabled
- disabled
description: Show last seen timestamp to contacts.
message_in_notification:
type: string
enum:
- enabled
- disabled
description: Show message content in notifications.
huddle_mirror_video:
type: string
enum:
- enabled
- disabled
description: Mirror own video feed in huddle.
huddle_pane_status:
type: string
enum:
- enabled
- disabled
description: Show huddle pane status.
huddle_sticky_info:
type: string
enum:
- enabled
- disabled
description: Show sticky info bar in huddle.
huddle_screenshare_layout:
type: string
enum:
- enabled
- disabled
description: Layout preference during screen share in huddle.
huddle_notify_msg:
type: string
enum:
- enabled
- disabled
description: Notify participants when a huddle message is sent.
NoResponse:
type: object
description: Response envelope for successful operations with no payload.
properties:
status:
type: string
example: success
message:
type: string
example: Operation completed successfully.
securitySchemes:
Cliq_Auth:
type: oauth2
x-authorization-example: Bearer 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f
flows:
implicit:
authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
scopes:
ZohoCliq.Bots.READ: Read Bot Information
ZohoCliq.Bots.CREATE: Create Bots
ZohoCliq.Bots.UPDATE: Update Bots
ZohoCliq.Bots.DELETE: Delete Bots
ZohoCliq.Webhooks.CREATE: Post messages to conversations via webhooks
ZohoCliq.BotMessages.CREATE: Send messages via bot incoming webhooks
ZohoCliq.Channels.UPDATE: Update Channel Settings
externalDocs:
description: Find out more about Zoho Cliq APIs V3
url: https://www.zoho.com/cliq/help/restapi/v3/