Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions docs/apps/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Understanding Apps

Apps — sometimes called *integrations*, *services*, or *third-party applications* — are modular components that extend the platform without being part of its core codebase.

### Key Characteristics
- **Independent from core code**
Apps are not bundled into the frontend or backend binaries. They live outside the main system.

- **Pluggable and flexible**
Apps can be added, updated, or removed without requiring a frontend/backend release.

- **User-driven installation**
Unlike system features that require admin deployment, apps can often be enabled (installed) directly by end users.

- **Open for third parties**
Apps are not limited to our company’s developers — external teams and third parties can build and operate their own apps.

### How They Work
Apps are separate pieces of software that communicate with the platform’s frontend and backend through a **common protocol** (such as APIs or events).
They remain independent, but can seamlessly interact with the system and its users.

An **App** is a way to extend and automate your team’s experience on Wire].
Apps can listen to messages, send responses, and integrate with external services.

### Why Apps?
- **Automation**: Reduce manual tasks and streamline workflows.
- **Integration**: Connect external systems (CRMs, support tools, monitoring).
- **Customization**: Tailor the platform to your team’s needs.

Apps are owned and managed at the **team level**, giving administrators control over:
- Which Apps can be installed
- What data Apps can access

### How to create an App
➡️ [Learn how to create an app](./creating-an-app.md)

# SDK Overview

We provide an official **Kotlin SDK** to help developers build apps quickly and safely.

### Why use the SDK?
- Handles authentication for you
- Provides event handling
- Makes sending and receiving messages easier
- Strongly typed for Kotlin developers

### Future Plans
We currently support **Kotlin**, and plan to expand to more languages (JavaScript, Python, etc.) so every developer can build apps in the language they know best.

For technical SDK usage and code examples, see the [Developer Documentation on GitHub](https://github.com/wireapp/wire-apps-jvm-sdk/blob/main/docs/APPLICATION.md).
45 changes: 45 additions & 0 deletions docs/apps/creating-an-app.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Creating an App

Creating an App is simple and only takes a few minutes.

---

## 1. Open the Team Settings Dashboard
Go to [Team Settings Dashboard] and navigate to **Apps → Create New App**.

![Team Settings Dashboard -> Apps -> Create New App](./images/create-app.png)

---

## 2. Choose a Name
Pick a clear, descriptive name for your app.
Example: `SupportBot`, `Daily Standup Assistant`.

---

## 3. Configure Permissions
Apps require **permissions** (also called security scopes).
These define what your app can do.


Type 1 - ALL: the same type of bot we have and know. they can do everything a normal client can - reserved for legal hold, archival bots, stuff like that. are permanently online and active

Type 2 - READ/WRITE: utility bots. users interact with these bots in limited ways, on demand using some command like @poll (in contrast to type 1). Think polls, summary bots, Jira integrations, confluence integrations

Type 3 - WRITE: write only bots. Think bots that notify you about stuff happening elsewhere and that need a very limited security scope. Github notifications, pager duty, jenkins bot, birthday bot. They do not receive messages.


| Permission | Common Use |
|---------------|--------------------------------------|
| `ALL` | Can do everything a normal User can. |
| `READ/WRITE` | Utility Apps. |
| `WRITE` | Write only Apps. |

To learn more about permissions, [click here](./permissions.md)

---

## 4. Generate an App Token
Once created, your app will have a **unique token** used to authenticate requests.

> 🔒 Treat tokens like passwords — never share them publicly.s
Binary file added docs/apps/images/create-app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions docs/apps/permissions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# App Permissions

Permissions define what your app is allowed to do inside the platform.

### Permission Types:
- **ALL**: Can do everything a normal User can.
- Reserved for legal hold, archival bots, etc. are permanently online and active.
- **READ/WRITE**: Utility Apps.
- Users interact with these Apps in limited ways, on demand using some command like /poll (in contrast to type 1). Think polls, summary bots, Jira integrations, confluence integrations.
- **READ/WRITE**: Utility Apps.
- Apps that notify you about things happening elsewhere and that need a very limited security scope. GitHub notifications, pager duty, jenkins bot, birthday bot. They do not receive messages.

### Example Scenarios
- A **standup bot** might only need `WRITE`.
- A **reporting app** might need `READ/WRITE`.