---
title: "CRM"
description: "Leads und Pipeline. Jede App ist ein Modul auf einem gemeinsamen Datenmodell."
canonical: "https://obop-platform.sliplane.app/de/apps/crm/"
lang: "de"
---

# CRM

## Wofür sie gedacht ist

Keep track of prospective deals from first contact to won or lost. A lead has a title, a contact, an expected revenue and a stage, and moving it along the pipeline is a named action that the team and its agents can both run.

## Was das Paket leistet und was nicht

Leads and the sales pipeline.

## Modelle

### `lead`

A prospective deal with a contact

Lesegruppe: `crm.user`. Schreibgruppe: `crm.user`.

| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
| `title` | text | `none` | nein | `crm.user` | im Klartext | Short description of the opportunity |
| `contact_name` | text | `public_directory` | ja | `crm.user` | maskiert | Name of the contact person |
| `contact_email` | text | `public_directory` | ja | `crm.user` | maskiert | Email of the contact person |
| `expected_revenue_minor` | money | `none` | nein | `crm.user` | im Klartext | Expected revenue in minor units |
| `stage` | select (new, qualified, won, lost) | `none` | nein | `crm.user` | im Klartext | Pipeline stage: new, qualified, won or lost |

## Workflows

### `lead`

| Aktion | Bewegt | Wer sie ausführen darf | Freigabe |
|---|---|---|---|
| `lead.qualify` | stage: new → qualified | `crm.user` | nein |
| `lead.mark_won` | stage: * → won | `crm.user` | nein |
| `lead.mark_lost` | stage: * → lost | `crm.user` | nein |
| `lead.reopen` | stage: * → new | `crm.user` | nein |

## Berechtigungsgruppen

Von dieser App verwendete Gruppen:

- `crm.user`

## Freigabeschritte

Kein Schritt dieser App braucht eine Freigabe, abgesehen vom Löschen von Datensätzen.

## Was Agenten tun können und was nicht

Ein Agent kann Datensätze dieser App lesen, durchsuchen, anlegen und aktualisieren sowie Aktionen ausführen, die keine Freigabe brauchen, und zwar innerhalb der Berechtigungsgruppen seines Tokens.

Diese Schritte kann er nur vorschlagen, und eine Person muss sie freigeben: `lead.delete`.

Personenbezogene Daten werden als Platzhalter maskiert: `lead.contact_name`, `lead.contact_email`.

## Abhängigkeiten

- `base`

## Installation

Integriert. Sie ist in jeder Instanz verfügbar und kann nicht entfernt werden.

## Selbst bauen

[Der Modulleitfaden zeigt, wie Apps wie diese geschrieben werden](/de/docs/reference/module-manifest/)
