Force_install_if_needed for OAuth only app

I created my OAuth app, filled it out completely and activated it.
The only thing I did was not publish it on the marketplace.
Now if I try to log in from another account, I get an error.

I figured out that the app needs to be installed on the account before OAuth authorization. Later, I discovered the “force_install_if_needed” flag, which forces the installation during authorization—that’s exactly what I needed.

However, I’ve encountered a problem where even with this step, I can’t install my app for the same reasons. Does this mean I should still submit my app to the marketplace even when using “force_install_if_needed”?

P.S. I enabled “Share” in the settings and can share the installation link.

Hi @makssein,
Welcome to the community!

From what I know, you don’t need to publish your app to the monday.com Marketplace for force_install_if_needed to work.

If your app is set to Share and you’re able to distribute it via an installation link, that’s completely valid for internal use. Publishing is only required if you want the app to be publicly listed - it shouldn’t impact the OAuth installation flow.

If it’s still not installing even with force_install_if_needed=true, it’s usually something like missing scopes, not being an account admin, or account-level plan restrictions.

Hello @makssein
You do not need to publish to the Marketplace. However, the app still must be installable on the target account. The user must have permission to install apps and the app must be Active and shared correctly.

Things to check

• Use the install link from the Share section
• Make sure the user is an account admin
• Confirm the app is Active and scopes are correct

If installation still fails, it’s usually due to permissions or plan restrictions, not Marketplace publishing.

If you’d like hands-on help or want us to walk through this live, you can book a 1:1 paid 60-minute strategy session with our team here:
:backhand_index_pointing_right: Calendly

  1. I am definitely an administrator

My application and the OAuth request definitely have the same scopes

I tried creating a new version of the application and leaving only one scope - me:read, but I got the same error.
This is what the decrypted payload of my request looks like:
{
“client_id”: “xxxx”,
“force_install_if_needed”: “true”,
“redirect_uri”: “``http://localhost:3000/oauth/authorization/monday/callback”``,
“response_type”: “code”,
“scope”: “me:read”,
“state”: “xxx”,
“oauth_version”: 2
}

I received again: {“error”:“invalid_scope”,“error_description”:“Invalid scope param”}

Next, I tried removing all scopes completely, and in that case the page actually opened, but I didn’t get to the app installation page in the marketplace; instead, I got an error on the OAuth page:
App is not installed
In order to use this app you need to first install it