Using Zoom’s Incoming Webhook Chatbot
It is possible to send messages directly from any Zoom chat channel to an external service, such as Amazon CloudWatch, using the Incoming Webhook app. With the chat app, you can generate an endpoint that will be unique, along with a verification token, in any channel you choose. This credential will allow you to send messages through HTTP POST requests to a Zoom chat channel with these credentials.
Prerequisites for Incoming Webhook
-
Ownership or administrative privileges for an account
-
Account type: Professional, Business, Educational, or Enterprise
-
The ability to send HTTP POST requests using a token and an endpoint that is familiar with HTTP POST
-
Zoom App Marketplace has pre-approved the Incoming Webhook chatbot for inclusion in its Marketplace
Note: You will need to contact your Zoom admin if the app has not been pre-approved.
How to add and configure Incoming Webhook
Add from the Zoom App Marketplace
Note: The Incoming Webhook Chatbot needs to be added and configured on your Zoom account if you do not have administrative privileges
-
Ensure that you are logged in as the administrator of your Zoom account in the Zoom App Marketplace.
-
The Incoming Webhook app can be found in the search box at the top right of your screen. Simply enter the name of the app in the box.
-
You will find the Incoming Webhook app in your search results. Click on the app to open it.
Note: It is recommended that you contact your Zoom administrator if the app is not pre-approved on your account in order to have it approved. -
Please click the Add button.
-
When you have confirmed that the app requires the permissions that you want, click Authorize.
I have now added an app for incoming webhooks to the store.
Configure the Incoming Webhook Chatbot
-
Zoom’s desktop client can be accessed by signing in.
-
You will find the Chat tab on the left side of the screen.
-
You can find Incoming Webhooks under the BOTS section.
Also, if you would like to receive messages in a specific chat channel, you can go to that channel. -
To connect to the connection, type /inc connect <unk>connectionName>.
As a result of this action, you will be connected, and you will receive a 1:1 chat message containing the following details:-
Endpoint
-
Verification token
-
Example cURL requests.
-
-
Using this information, you can send a POST request to the server.
Note: In order to have the Incoming Webhook chatbot send messages to any channel you choose, you must follow these steps for each channel you choose.
How to send messages to Zoom chat
In order for you to be able to send POST requests to the integration’s endpoint once you’ve created your connection, you must first create your connection. The authorization header should include the verification token, if you have configured it to include it.
Note: A POST request is the only type of request that is accepted by the endpoint.
It is recommended to run a git-bash (or an equivalent that is able to run cURL commands) to test your connection in the terminal. The incoming webhook chatbot will send you the cURL request based on the example cURL in the initial 1:1 chat message. You can copy the example cURL and paste it into your cURL request. In the specified channel, you should see a test message being sent once you have sent it. An HTTP 200 OK response indicates that the test has been successful.
The type of message and the complexity of the message can be set in the Incoming Webhook Chatbot by choosing from the four options below:
-
Simple format: It is important to know that this format allows you to send plain text coming from a connection that has been created. The endpoint can be used without any parameters if you wish to use this formatting. The body of your message should contain a string that contains the content that you want to send.
POST <endpoint>
Authorization: <verificationToken>
Body: "This is a test message."
-
Fields format: The field format of this format allows for simple formatting to be entered into fields. Your message can, for example, be formatted into a list of fields that you can fill in. It is necessary to add fields as the format in the query parameter (?format=fields) in order for this formatting to work.
POST <endpoint>?format=fields
Authorization: <verificationToken>
Content-Type: application/json
Body:
{
"Field 1": "bar",
"Field 2": "qux"
}
-
List format: Using this format, you are able to send a simple formatted list of items. A list can be used to format your message, for example, if you want it to appear in this format. In order to use this formatting, the query parameter should be set to list (?format=list) in order to use this format.
POST <endpoint>?format=list
Authorization: <verificationToken>
Content-Type: application/json
Body:
{
"Item 1": "Item 1",
"Item 2": "Item 2"
}
-
Full format: With the help of this format, rich message formatting can be generated and sent within Zoom Chat messages as well. The use of such formatting allows you to construct your chatbot messages in various ways, such as using headers and subheaders, link, button, dropdown, attachment, and more. As a way to make use of this formatting, add the parameter ?format=full to the query parameter so that full will be the format. In order to find out more about the JSON objects that are supported, please refer to the following document.
How to use the Incoming Webhook Chatbot
Available commands
-
Connect: To earn tokens and create a connection, you will need to type /inc connect <unk>connectionName> as the first step. The token will then be used to send messages directly to your current chat channel. There are both 1:1 direct messaging and channels that can be used by this Chatbot.
-
Regenerate token: For additional information, please make sure you know the connection name that will be used to generate the verification token.
-
Disconnect: When you are using the /inc disconnect option, you want to remove all connections associated with the specified name.
-
Disconnect all: The Incoming Webhook Chatbot can be removed by using the command /inc disconnect all to remove all connections.
-
Configure: For a list of connections for the current chat channel, type /inc configure in the terminal.
-
Configure All: For a list of all the connections for each channel, type /inc configure all.
How to remove the Incoming Webhook Chatbot
-
Ensure that you are logged in as the administrator of your Zoom account in the Zoom App Marketplace.
-
To manage your account, click the Manage button in the top-right corner of your screen.
-
Select the Add Apps option from the navigation menu at the top of the page.
-
If you click Remove to the right of the Incoming WebHook app, the app will be removed.
-
Click on the Remove button after you have confirmed the dialogue.
Note: As part of this step, all active connections in Zoom Chat will be removed, as well.
Zoom Support can provide you with additional assistance if you need it.