openapi: 3.0.0
info:
title: Bots mobilesettings 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: mobilesettings
description: Mobile Settings Module
paths:
/settings/mobile:
get:
summary: Get mobile settings
operationId: getMobileSettings
description: "Returns the current mobile settings for the authenticated user.\nThe response includes notification preferences, media settings, AV behavior, and summary-related options.\n
\n\n OAuth Scope: ZohoCliq.Profile.READ
\n Duration: 5
\n Threshold: 20 requests per min per user
\n Lock period: 5 minutes
\n
\n"
parameters:
- name: keys
in: query
required: false
schema:
type: string
description: Key name for which you need to get the value.
- name: fetch_all
in: query
required: false
schema:
type: boolean
description: If true, returns all mobile setting keys (used by clients).
responses:
'200':
description: Mobile settings were retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/mobile-settings-response'
example:
av_noise_cancellation: disabled
media_to_gallery:
images: disabled
camera_captures: disabled
videos: disabled
conference_recording: disabled
last_seen: disabled
file_summary: disabled
media_upload_quality: enabled
notification:
direct_message: enabled
direct_message_sound: enabled
direct_message_preview: enabled
channel: enabled
channel_sound: enabled
channel_preview: enabled
group: enabled
group_sound: enabled
group_preview: enabled
atmentions: enabled
atmentions_sound: enabled
atmentions_preview: enabled
bot: enabled
bot_sound: enabled
bot_preview: enabled
reactions: enabled
reactions_sound: enabled
reactions_preview: enabled
hashtags: enabled
hashtags_sound: enabled
hashtags_preview: enabled
media_auto_download:
images: enabled
videos: enabled
others: enabled
media_auto_download_android:
images: wifi
videos: disabled
others: mobile
huddle_join_video_muted: enabled
av_hd_video: enabled
av_speech_detection: enabled
unread_summary: enabled
chat_summary: disabled
'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:
- mobilesettings
put:
summary: Update mobile settings
operationId: updateMobileSettings
description: "Updates mobile settings for the authenticated user.\nSend only the fields you want to modify. For nested objects (for example, `notification` or `media_to_gallery`), send the object with the intended values. You can also update `file_summary` directly using the query parameter.\n
\n\n OAuth Scope: ZohoCliq.Profile.UPDATE
\n Duration: 5
\n Threshold: 20 requests per min per user
\n Lock period: 5 minutes
\n
\n"
parameters:
- name: file_summary
in: query
required: false
schema:
type: string
enum:
- enabled
- disabled
description: Quickly toggle file summary without a request body.
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/update-mobile-settings-request'
example:
notification:
hashtags_sound: enabled
file_summary: disabled
responses:
'204':
description: No Content. Mobile settings 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:
- mobilesettings
components:
schemas:
notification-settings:
type: object
description: Notification controls by conversation type and notification mode (alert, sound, and preview).
x-enum-descriptions:
- enabled: Enables the notification behavior for the setting.
- disabled: Disables the notification behavior for the setting.
properties:
direct_message:
type: string
enum:
- enabled
- disabled
description: "Toggles alert notifications for direct messages.
\nAllowed values:\n\n enabled: Direct message notifications are turned on. \n disabled: Direct message notifications are turned off. \n
\n"
direct_message_sound:
type: string
enum:
- enabled
- disabled
description: "Toggles sound for direct message notifications.
\nAllowed values:\n\n enabled: Sound plays for direct message notifications. \n disabled: Sound is muted for direct message notifications. \n
\n"
direct_message_preview:
type: string
enum:
- enabled
- disabled
description: "Toggles message preview for direct message notifications.
\nAllowed values:\n\n enabled: Message content is shown in the notification preview. \n disabled: Message content is hidden in the notification preview. \n
\n"
channel:
type: string
enum:
- enabled
- disabled
description: "Toggles alert notifications for channel messages.
\nAllowed values:\n\n enabled: Channel notifications are turned on. \n disabled: Channel notifications are turned off. \n
\n"
channel_sound:
type: string
enum:
- enabled
- disabled
description: "Toggles sound for channel message notifications.
\nAllowed values:\n\n enabled: Sound plays for channel notifications. \n disabled: Sound is muted for channel notifications. \n
\n"
channel_preview:
type: string
enum:
- enabled
- disabled
description: "Toggles message preview for channel notifications.
\nAllowed values:\n\n enabled: Message content is shown in the channel notification preview. \n disabled: Message content is hidden in the channel notification preview. \n
\n"
group:
type: string
enum:
- enabled
- disabled
description: "Toggles alert notifications for group messages.
\nAllowed values:\n\n enabled: Group notifications are turned on. \n disabled: Group notifications are turned off. \n
\n"
group_sound:
type: string
enum:
- enabled
- disabled
description: "Toggles sound for group message notifications.
\nAllowed values:\n\n enabled: Sound plays for group notifications. \n disabled: Sound is muted for group notifications. \n
\n"
group_preview:
type: string
enum:
- enabled
- disabled
description: "Toggles message preview for group notifications.
\nAllowed values:\n\n enabled: Message content is shown in the group notification preview. \n disabled: Message content is hidden in the group notification preview. \n
\n"
atmentions:
type: string
enum:
- enabled
- disabled
description: "Toggles alert notifications for @mention messages.
\nAllowed values:\n\n enabled: @mention notifications are turned on. \n disabled: @mention notifications are turned off. \n
\n"
atmentions_sound:
type: string
enum:
- enabled
- disabled
description: "Toggles sound for @mention notifications.
\nAllowed values:\n\n enabled: Sound plays for @mention notifications. \n disabled: Sound is muted for @mention notifications. \n
\n"
atmentions_preview:
type: string
enum:
- enabled
- disabled
description: "Toggles message preview for @mention notifications.
\nAllowed values:\n\n enabled: Message content is shown in the @mention notification preview. \n disabled: Message content is hidden in the @mention notification preview. \n
\n"
bot:
type: string
enum:
- enabled
- disabled
description: "Toggles alert notifications for bot messages.
\nAllowed values:\n\n enabled: Bot notifications are turned on. \n disabled: Bot notifications are turned off. \n
\n"
bot_sound:
type: string
enum:
- enabled
- disabled
description: "Toggles sound for bot message notifications.
\nAllowed values:\n\n enabled: Sound plays for bot notifications. \n disabled: Sound is muted for bot notifications. \n
\n"
bot_preview:
type: string
enum:
- enabled
- disabled
description: "Toggles message preview for bot notifications.
\nAllowed values:\n\n enabled: Message content is shown in the bot notification preview. \n disabled: Message content is hidden in the bot notification preview. \n
\n"
reactions:
type: string
enum:
- enabled
- disabled
description: "Toggles alert notifications for message reactions.
\nAllowed values:\n\n enabled: Reaction notifications are turned on. \n disabled: Reaction notifications are turned off. \n
\n"
reactions_sound:
type: string
enum:
- enabled
- disabled
description: "Toggles sound for reaction notifications.
\nAllowed values:\n\n enabled: Sound plays for reaction notifications. \n disabled: Sound is muted for reaction notifications. \n
\n"
reactions_preview:
type: string
enum:
- enabled
- disabled
description: "Toggles message preview for reaction notifications.
\nAllowed values:\n\n enabled: Message content is shown in the reaction notification preview. \n disabled: Message content is hidden in the reaction notification preview. \n
\n"
hashtags:
type: string
enum:
- enabled
- disabled
description: "Toggles alert notifications for hashtag mentions.
\nAllowed values:\n\n enabled: Hashtag notifications are turned on. \n disabled: Hashtag notifications are turned off. \n
\n"
hashtags_sound:
type: string
enum:
- enabled
- disabled
description: "Toggles sound for hashtag notifications.
\nAllowed values:\n\n enabled: Sound plays for hashtag notifications. \n disabled: Sound is muted for hashtag notifications. \n
\n"
hashtags_preview:
type: string
enum:
- enabled
- disabled
description: "Toggles message preview for hashtag notifications.
\nAllowed values:\n\n enabled: Message content is shown in the hashtag notification preview. \n disabled: Message content is hidden in the hashtag notification preview. \n
\n"
MT:
type: string
enum:
- enabled
- disabled
description: "Toggles alert notifications for mentions and tags (MT).
\nAllowed values:\n\n enabled: MT notifications are turned on. \n disabled: MT notifications are turned off. \n
\n"
MT_sound:
type: string
enum:
- enabled
- disabled
description: "Toggles sound for MT notifications.
\nAllowed values:\n\n enabled: Sound plays for MT notifications. \n disabled: Sound is muted for MT notifications. \n
\n"
MT_preview:
type: string
enum:
- enabled
- disabled
description: "Toggles message preview for MT notifications.
\nAllowed values:\n\n enabled: Message content is shown in the MT notification preview. \n disabled: Message content is hidden in the MT notification preview. \n
\n"
update-mobile-settings-request:
type: object
description: Provide only the settings to update. For nested settings, send the nested object with intended values.
x-enum-descriptions:
- enabled: Turn this setting on.
- disabled: Turn this setting off.
properties:
av_noise_cancellation:
type: string
enum:
- enabled
- disabled
description: "Controls noise cancellation during audio/video calls.
\nAllowed values:\n\n enabled: Noise cancellation is active. \n disabled: Noise cancellation is turned off. \n
\n"
media_to_gallery:
$ref: '#/components/schemas/media-gallery-settings'
description: Controls whether downloaded media is saved to the device gallery.
conference_recording:
type: string
enum:
- enabled
- disabled
description: "Controls whether conference call recording is allowed.
\nAllowed values:\n\n enabled: Conference recording is permitted. \n disabled: Conference recording is not permitted. \n
\n"
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 others. \n disabled: Last seen is hidden from others. \n
\n"
file_summary:
type: string
enum:
- enabled
- disabled
description: "Controls whether file summaries are shown for shared files.
\nAllowed values:\n\n enabled: File summaries are displayed. \n disabled: File summaries are hidden. \n
\n"
media_upload_quality:
type: string
enum:
- enabled
- disabled
description: "Controls whether media is uploaded in high quality.
\nAllowed values:\n\n enabled: Media is uploaded at high quality. \n disabled: Media is uploaded at reduced quality. \n
\n"
notification:
$ref: '#/components/schemas/notification-settings'
description: Notification controls by conversation type and notification mode (alert, sound, and preview).
media_auto_download:
$ref: '#/components/schemas/media-auto-download-settings'
description: Controls automatic media download behavior based on media type or network mode.
huddle_join_video_muted:
type: string
enum:
- enabled
- disabled
description: "Controls whether the camera is muted by default when joining a huddle.
\nAllowed values:\n\n enabled: Camera is muted on huddle join. \n disabled: Camera is active on huddle join. \n
\n"
av_hd_video:
type: string
enum:
- enabled
- disabled
description: "Controls whether HD video is used during audio/video calls.
\nAllowed values:\n\n enabled: HD video is active. \n disabled: HD video is turned off. \n
\n"
chat_summary:
type: string
enum:
- enabled
- disabled
description: "Controls whether chat summaries are shown for conversations.
\nAllowed values:\n\n enabled: Chat summaries are displayed. \n disabled: Chat summaries are hidden. \n
\n"
media-gallery-settings:
type: object
description: Controls whether downloaded media is saved to the device gallery.
x-enum-descriptions:
- enabled: Enables saving media to gallery.
- disabled: Disables saving media to gallery.
properties:
images:
type: string
enum:
- enabled
- disabled
description: "Controls whether downloaded images are saved to the device gallery.
\nAllowed values:\n\n enabled: Downloaded images are automatically saved to the gallery. \n disabled: Downloaded images are not saved to the gallery. \n
\n"
camera_captures:
type: string
enum:
- enabled
- disabled
description: "Controls whether photos taken within the app are saved to the device gallery.
\nAllowed values:\n\n enabled: Camera captures are automatically saved to the gallery. \n disabled: Camera captures are not saved to the gallery. \n
\n"
videos:
type: string
enum:
- enabled
- disabled
description: "Controls whether downloaded videos are saved to the device gallery.
\nAllowed values:\n\n enabled: Downloaded videos are automatically saved to the gallery. \n disabled: Downloaded videos are not saved to the gallery. \n
\n"
mobile-settings-response:
type: object
description: Full mobile settings object returned by the GET endpoint.
x-enum-descriptions:
- enabled: Setting is turned on.
- disabled: Setting is turned off.
properties:
av_noise_cancellation:
type: string
enum:
- enabled
- disabled
media_to_gallery:
$ref: '#/components/schemas/media-gallery-settings'
conference_recording:
type: string
enum:
- enabled
- disabled
last_seen:
type: string
enum:
- enabled
- disabled
file_summary:
type: string
enum:
- enabled
- disabled
media_upload_quality:
type: string
enum:
- enabled
- disabled
notification:
$ref: '#/components/schemas/notification-settings'
media_auto_download:
$ref: '#/components/schemas/media-auto-download-settings'
media_auto_download_android:
$ref: '#/components/schemas/media-auto-download-settings'
huddle_join_video_muted:
type: string
enum:
- enabled
- disabled
av_hd_video:
type: string
enum:
- enabled
- disabled
av_speech_detection:
type: string
enum:
- enabled
- disabled
unread_summary:
type: string
enum:
- enabled
- disabled
chat_summary:
type: string
enum:
- enabled
- disabled
media-auto-download-settings:
type: object
description: Controls automatic media download behavior based on media type or network mode.
properties:
images:
type: string
example: enabled
description: "Controls automatic download behavior for image files.
\nAllowed values:\n\n enabled: Images are downloaded automatically. \n disabled: Images are not downloaded automatically. \n wifi: Images are downloaded automatically only when connected to Wi-Fi. \n mobile: Images are downloaded automatically only when on mobile data. \n
\n"
videos:
type: string
example: disabled
description: "Controls automatic download behavior for video files.
\nAllowed values:\n\n enabled: Videos are downloaded automatically. \n disabled: Videos are not downloaded automatically. \n wifi: Videos are downloaded automatically only when connected to Wi-Fi. \n mobile: Videos are downloaded automatically only when on mobile data. \n
\n"
others:
type: string
example: mobile
description: "Controls automatic download behavior for all other file types.
\nAllowed values:\n\n enabled: Other files are downloaded automatically. \n disabled: Other files are not downloaded automatically. \n wifi: Other files are downloaded automatically only when connected to Wi-Fi. \n mobile: Other files are downloaded automatically only when on mobile data. \n
\n"
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/