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

Types of Bot Handlers

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
HandlerDescription
Menu HandlerAdds up to 5 quick-action items to the bot's chat menu. Triggered when a user interacts with the menu.
Message HandlerTriggered when the bot receives a message.
Welcome HandlerDefines the greeting message sent when a user subscribes to the bot.
Mention HandlerTriggered when the bot is @mentioned in a chat or channel.
Incoming Webhook HandlerAllows external services to post messages into the bot via outgoing webhooks.
Context HandlerManages multi-turn conversations, maintaining context across a user's interaction with the bot.

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.

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" 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" 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" smileys: type: string enum: - enabled - disabled description: "Toggles emoji display in messages.
\nAllowed values:\n\n" translation_mode: type: string enum: - enabled - disabled description: "Toggles automatic message translation.
\nAllowed values:\n\n" av_noise_cancellation: type: string enum: - enabled - disabled description: "Toggles noise cancellation during audio/video calls.
\nAllowed values:\n\n" av_hd_video: type: string enum: - enabled - disabled description: "Toggles HD video during calls.
\nAllowed values:\n\n" sound_notification: type: string enum: - enabled - disabled description: "Master toggle for all sound notifications.
\nAllowed values:\n\n" desktop_notification: type: string enum: - enabled - disabled description: "Toggles desktop push notifications.
\nAllowed values:\n\n" reading_mask: type: string enum: - enabled - disabled description: "Toggles reading mask for accessibility.
\nAllowed values:\n\n" vision_assistive: type: string enum: - enabled - disabled description: "Toggles vision assistive features.
\nAllowed values:\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" 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" linkpreview_status: type: string enum: - enabled - disabled description: "Toggles URL link previews in messages.
\nAllowed values:\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/