Determine if an account-level app is already installed

Description
With an account-level app, if the app is already installed and the admin is sent the the install URL, the user will login and is sent to the redirect uri.

However if a non-admin user, on the same account, is sent to the install URL they are presented with a “You cannot authorize the app” page even if the application is already installed on the account.

Is there a way to determine if the application is already installed on the users account or if they need to request installation from their administrator?

Error

You cannot authorize the app

An account admin is required to install chatbots. Please contact your account admin or IT administrator to install this bot.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
Account-level OAuth / Chatbot

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Follow the install link for an account admin
  2. After admin installs app, follow the install link for a non-admin user on the account

Screenshots (If applicable)

Hey @istewart,

Good question! Happy to clarify.

To that end, an account admin can see if an app is already installed for a user under their account by following these steps:

If a user has access to the Marketplace, they can also check “Installed Apps” themselves.

Let me know if this helps!

Best,
Will

Is there anyway to tell programmatically if it’s installed? Due to the limitations of the chatbot/account-level apps, we were required to have two apps. One that a user installs to manage their meetings, and the chatbot, which the admin must install, to communicate with the user about there meeting.

When the user installs the app we need a mechanism to determine if they have the account-level app setup or if they need to request install from their admin.

Hi @istewart ,

I’m afraid we don’t have an endpoint to expose this information at the moment. However, we’re working on incorporating more development/subscriber management functionality in the future, and it’s on our roadmap.

For now, the UI will be your best source for this information though.

Let me know if you have any other questions.

Best,
Will

What about the ability to determine if a chatbot is enabled for an account?

It looks like I could attempt to send a message to the user and it would fail if the chatbot is not authorized for that account. Is there a similar API I could try that wouldn’t display a message to the user every time?

Hi @istewart,

We don’t currently have an API endpoint like this. You would need to use one of the existing Chat APIs to send a message for this purpose.

However, you make a good suggestion, especially for testing purposes. If you’re so inclined, I would encourage you to submit a feature request for this too: #feature-requests

Thanks,
Will