My company offers tools for creating chat bots in Zoom. We had a Chatbot-only integration that worked for a while, but recently customers have reported that the bot doesn’t appear in the list of bots in chat. I also cannot get a bot to appear under any of the following circumstances:
- Reinstalling a chatbot app that had previously worked via Local test and where OAuth redirect requests are ignored.
- Creating a new chatbot app and installing via Local test where OAuth redirect requests are ignored.
- Creating a new chatbot app and installing via Local test where OAuth redirect requests are handled and successfully resolved into an auth and refresh token.
- Creating a new chatbot app and installing via OAuth, which is handled and successfully resolves into an auth and refresh token, and the app appears as installed in Local test.
In the latter three cases I included a welcome message to be handled by Zoom and it is never sent. The installing/authorizing user is the same as the user creating the app. The requested scope was either just
imchat:bot or that plus
meeting:read:admin (user is an admin). No errors are ever received via the UI nor through the OAuth flow. I don’t see any admin settings that would prohibit app installation, and there are numerous 3rd-party and internal apps showing as installed in the Admin app management screen.
After every installation attempt I’ve quit the Zoom client, waited quite a while for possible cache delays, then reopened it. I’ve tried using the development and the production credentials, no difference.
I’ve looked through Zoom docs, this forum, and other sources and can’t see what might be going wrong. What might I be overlooking here?
I’m noticing that the authorization page content isn’t what you’d expect. Here’s what it looks like, whether authorizing from Local test or via OAuth: Image 2022-01-05 at 4.19.43 PM
Note that the permission it’s requesting has nothing to do with chatbot behaviors. In the docs, the auth page lists “Enable Chatbot within Zoom Chat Client” as the requested permission: https://s3.amazonaws.com/user-content.stoplight.io/19808/1579648795344
As I mentioned this occurs whether authorizing from outside or via Local test. Here’s an example of an OAuth authorization URL:
Note that it includes the (URL-encoded)
imchat:bot scope, which precisely matches the scope ID as shown in the app configuration and in Zoom’s scope docs.
Thank you for posting in the Developer Forum. Just tested on my end and it looks like the chatbot will appear in the Client after populating the Chatbot Subscription Section on the Feature Page. Here are the steps that worked for me:
Go to the Marketplace, select Build App, and select Chatbot
On the App credential page, populated the following fields
- Add a Redirect URL for OAuth
- Add Redirect URL to Add allow list
On the Information page populated the following fields:
* App Name
* Company Name
* In the Developer Contact Information section, add Name, Email address
On the Feature Page,
On the Scopes page, add a Scope:
Finally, on the Local Test Screen, Click Install and the Chatbot will appear in the Client:
I hope this helps.
Thanks for the response, @donte.zoom !
It seems like the difference between what you’ve done and what we’ve been doing is that you included a slash command. And indeed if I include a slash command in my app it does finally install and appear in the bot list in chat. Thanks!
Does this mean that slash commands are a required feature for chatbot apps? If so, this fact should be documented and the configuration validation feature in the Local test section should tell you that you missed configuring a slash command. But I’m guessing this is some sort of bug, because there are plenty of use cases where you’d want a chatbot without a slash command.
Thank you for your feedback, @jonathan.anderson! I’ll check internally to clarify the workflow and either submit a documentation update request or bug ticket. Please feel welcome to submit your feedback here as well.
Thanks again for choosing to develop on Zoom.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.