I answered a question like this literally a day ago. You can find it here.
It is technically possible to do within Roblox, however I wouldn’t recommend it because I haven’t seen any good APIs for it. To change a rank you’ll need to send over a valid authentication cookie, a csrf token, and the actual rank data in the query parameters. You’d be best to use the NodeJS library though. Here is an express server example with a lua module that is already there for you to use. You’d just have to fill in the details and setup the express server (Read the post I linked above). Once you have the module setup you can use a RemoteEvent for the button and use the module to send the request.
EDIT:
Forgot to mention Roblox doesn’t allow you to send requests to their own servers within Roblox, so there is no way to do it completely in Roblox without using some form of proxy.