> ## 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.

# Apps

> Introduction to apps & their capabilities.

The whole platform has been designed around the concept of apps.

An app is an independent piece of software, that can be hosted anywhere & installed in your Rimdian workspace in order to extend the platform's capabilities. It can be a simple script that runs a periodic task, or a complex web application with specific data tables and logic.

## Apps capabilities

* **Embed their own UI** in the platform's Console
* **Filter & transform** incoming data
* **Listen to events** with webhooks
* **Add columns to existing tables** to store additional information
* **Create new tables** to store custom data
* **Register tasks** to be executed on a schedule
* **Access the platform's API** to read and write data
* **Execute SQL & analytics queries** on the platform's database

## Example of apps

* **Data import** - Import data from external sources, like your own databases, or third-party APIs.
* **Data enrichment** - Add additional information to your data, like geolocation, weather, or company information.
* **Data transformation** - Convert data from one format to another, or filter out irrelevant information.
* **Data forwarding** - Send data to external systems, like Google Ads Enhanced Conversions or Meta Conversion API...
* **Data visualization** - Create custom dashboards and reports.
* **AI & ML** - Train models and make predictions based on the whole dataset.
* **New features** - Add new features to the platform, like an affiliate marketing program, loyalty program...

## Types of apps

There are two types of apps:

* **Public apps** - Apps that are available to all Rimdian users. They are listed in the upcoming App Store and can be installed by anyone.
* **Private apps** - Apps that are only available to your organization. They are not listed in the App Store and can only be installed by uploading their [manifest.json](/apps-development/app-manifest-reference) file.

## Apps states

An app can be in one of the following states:

* **Initializing** - The app has been installed, its eventual tasks, hooks, extra columns, and tables are created but not enabled yet. In this state the app shows you a setup wizard to configure it.
* **Active** - The app is running and its tasks & hooks are active.
* **Stopped** - The app is stopped and its tasks & hooks are disabled, but its extra columns and tables are still available with their data.
* **Deleted** - The app has been deleted and its tasks, hooks, extra columns, and tables are removed.
