---
title: "CRM"
description: "Leady i lejek sprzedaży. Każda aplikacja jest modułem na jednym modelu danych."
canonical: "https://obop.dev/pl/apps/crm/"
lang: "pl"
---

# CRM

## Do czego służy

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.

## Co pakiet robi, a czego nie robi

Leads and the sales pipeline.

## Modele

### `lead`

A prospective deal with a contact

Grupa odczytu: `crm.user`. Grupa zapisu: `crm.user`.

| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
| `title` | text | `none` | nie | `crm.user` | jawnie | Short description of the opportunity |
| `contact_name` | text | `public_directory` | tak | `crm.user` | zamaskowane | Name of the contact person |
| `contact_email` | text | `public_directory` | tak | `crm.user` | zamaskowane | Email of the contact person |
| `expected_revenue_minor` | money | `none` | nie | `crm.user` | jawnie | Expected revenue in minor units |
| `stage` | select (new, qualified, won, lost) | `none` | nie | `crm.user` | jawnie | Pipeline stage: new, qualified, won or lost |

## Przepływy pracy

### `lead`

| Akcja | Przenosi | Kto może uruchomić | Zatwierdzenie |
|---|---|---|---|
| `lead.qualify` | stage: new → qualified | `crm.user` | nie |
| `lead.mark_won` | stage: * → won | `crm.user` | nie |
| `lead.mark_lost` | stage: * → lost | `crm.user` | nie |
| `lead.reopen` | stage: * → new | `crm.user` | nie |

## Grupy uprawnień

Grupy używane przez tę aplikację:

- `crm.user`

## Kroki zatwierdzania

Żaden krok w tej aplikacji nie wymaga zatwierdzenia, poza usuwaniem rekordów.

## Co agenci mogą, a czego nie mogą

Agent może odczytywać, wyszukiwać, tworzyć i aktualizować rekordy tej aplikacji oraz uruchamiać akcje niewymagające zatwierdzenia, w ramach grup uprawnień swojego tokenu.

Te kroki może tylko zaproponować, a człowiek musi je zatwierdzić: `lead.delete`.

Dane osobowe są maskowane jako tokeny zastępcze: `lead.contact_name`, `lead.contact_email`.

## Zależności

- `base`

## Instalacja

Wbudowana. Jest dostępna w każdej instancji i nie można jej usunąć.

## Zbuduj własną

[Przewodnik po modułach pokazuje, jak pisze się takie aplikacje](/pl/docs/reference/module-manifest/)
