> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rimdian.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Private app installation

Once your app is deployed to the internet you can install it in a Rimdian workspace.

### Create a new Service Account

On your organisation dashboard, click the `New Service Account` button.

<Frame caption="Organisation dashboard">
  <img src="https://mintcdn.com/rimdian/JFZ7IIAz3hb1kgaO/apps-development/app-org.jpg?fit=max&auto=format&n=JFZ7IIAz3hb1kgaO&q=85&s=134b4d9ee201924176667cdc47596fc3" alt="Organisation dashboard" width="2000" height="1202" data-path="apps-development/app-org.jpg" />
</Frame>

Give it a name, a new login & password that you should keep securely, you won’t be able to view or update this password again.

<Frame caption="Create a service account">
  <img src="https://mintcdn.com/rimdian/JFZ7IIAz3hb1kgaO/apps-development/app-service-account.jpg?fit=max&auto=format&n=JFZ7IIAz3hb1kgaO&q=85&s=06523ecadedb7c3dfd4f2127e4652614" alt="Create a service account" width="2000" height="1202" data-path="apps-development/app-service-account.jpg" />
</Frame>

### Create a private app

Select your workspace, and click the ➕ button in the topbar to go to the App Store and create a new **Private App**.

<Frame caption="Create a private app">
  <img src="https://mintcdn.com/rimdian/JFZ7IIAz3hb1kgaO/apps-development/app-manifest.jpg?fit=max&auto=format&n=JFZ7IIAz3hb1kgaO&q=85&s=b13d0f7bee617b3857479ec41f705b98" alt="app-manifest.jpg" width="2000" height="1202" data-path="apps-development/app-manifest.jpg" />
</Frame>

Provide the `App secret key` used by your app to sign webhooks & the iframe token. In the [NextJS App Template](https://github.com/rimdian/app-template), this is the `APP_SECRET_KEY` env variable.

And upload the `manifest.json` file of your app.

### Review the app capabilities

Before installing the app, you can review all the capabilities & permissions the app is asking.

Especially the domain name of the webhook endpoint that will receive data.

<Frame caption="Review of app capabilities">
  <img src="https://mintcdn.com/rimdian/JFZ7IIAz3hb1kgaO/apps-development/app-review.jpg?fit=max&auto=format&n=JFZ7IIAz3hb1kgaO&q=85&s=5d6975c06998a110f3290f528e8da80c" alt="app-review.jpg" width="2000" height="1202" data-path="apps-development/app-review.jpg" />
</Frame>

### Activate the app

Once installed, your private app will need to collect API credentials to interact with the Rimdian API & whatever settings required by your app.

I.e: if you build an app that interacts with the Google Adwords API, you will have to show the Google Connect button here, to collect Adwords credentials before activating your app.

<Frame caption="App activation">
  <img src="https://mintcdn.com/rimdian/JFZ7IIAz3hb1kgaO/apps-development/app-init.jpg?fit=max&auto=format&n=JFZ7IIAz3hb1kgaO&q=85&s=6c414ea931d2f5ce955053b1c8cfd851" alt="app-init.jpg" width="2000" height="1202" data-path="apps-development/app-init.jpg" />
</Frame>

Upon activation, your app tasks & data hooks will also be activated.
