# Apps

The **Shopware 6 App System** is an extensible framework that allows developers to create standalone apps to enhance the functionality of Shopware 6. These apps can add new features, modify existing processes, or integrate external services without changing the Shopware core.

### Target systems

Shopware plugins can be used in a self hosted PaaS (Cloud) or SaaS (Cloud) environment.

### **Key Features of the Shopware 6 App System**

1. **Decoupled from the Shopware Core**
   * Apps operate via APIs and webhooks, ensuring they are update-safe and do not require direct modifications to Shopware’s source code.
2. **Use of Webhooks and APIs**
   * Shopware 6 provides both a **REST API** and a **GraphQL API** for apps to interact with the system.
   * Webhooks allow apps to respond to specific events in the shop (e.g., order completed).
3. **Host-Independent Development**
   * Apps run on an external server (e.g., in the cloud or on-premises) and communicate securely with Shopware.
4. **Easy Installation and Management**
   * Apps are available in the **Shopware Store** and can be installed and configured via the admin panel.
5. **App Templates & UI Extensions**
   * Through the **Administration Extension API**, apps can extend the Shopware admin panel.
   * **App Scripts** enable modifications of certain frontend and backend processes.
6. **Data Model & Event Handling**
   * Apps can manage their own **configuration entities** and **data structures**.
   * They can subscribe to and react to Shopware events.

### **Difference from plugins**

While traditional **plugins** are directly integrated into the Shopware environment and contain PHP code, **apps** are completely external and communicate via APIs. This makes them **more update-friendly and flexible**, though they have less direct access to the core.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.premsoft.de/en/apps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
