---
title: "Helpdesk"
description: "Tickets d'assistance. Chaque application est un module sur un même modèle de données."
canonical: "https://obop.dev/fr/apps/helpdesk/"
lang: "fr"
---

# Helpdesk

## À quoi elle sert

Receive and work through customer support requests with priority, severity and service-level targets. A typical use is an agent that reads new tickets and drafts a first triage while people keep ownership of the replies.

## Ce que fait et ne fait pas le paquet

Support tickets with priority, severity, service-level targets and an open, in progress, resolved and closed flow. Targets are recorded, not enforced or timed automatically.

## Modèles

### `helpdesk_sla`

A service-level policy: how fast tickets of a priority should be answered and solved

Groupe de lecture: `helpdesk.agent`. Groupe d'écriture: `helpdesk.manager`.

| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
| `name` | text | `none` | non | `helpdesk.agent` | en clair | Policy name, for example Urgent in 4 hours |
| `priority` | select (low, normal, high, urgent) | `none` | non | `helpdesk.agent` | en clair | Ticket priority the policy applies to: low, normal, high, urgent |
| `first_response_minutes` | number | `none` | non | `helpdesk.agent` | en clair | Target time to the first reply, in minutes |
| `resolution_minutes` | number | `none` | non | `helpdesk.agent` | en clair | Target time to resolve the ticket, in minutes |
| `active` | bool | `none` | non | `helpdesk.agent` | en clair | Whether the policy can be attached to new tickets |

### `helpdesk_ticket`

A customer support request

Groupe de lecture: `helpdesk.agent`. Groupe d'écriture: `helpdesk.agent`.

| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
| `subject` | text | `none` | non | `helpdesk.agent` | en clair | One-line summary of the problem |
| `description` | longtext | `none` | non | `helpdesk.agent` | en clair | Full description of the problem and what the customer tried |
| `requester_name` | text | `internal` | oui | `helpdesk.agent` | masqué | Name of the person asking for help |
| `requester_email` | text | `internal` | oui | `helpdesk.agent` | masqué | Email address of the person asking for help |
| `category` | select (question, incident, problem, feature_request) | `none` | non | `helpdesk.agent` | en clair | What kind of request it is: question, incident, problem, feature_request |
| `priority` | select (low, normal, high, urgent) | `none` | non | `helpdesk.agent` | en clair | How soon it should be handled: low, normal, high, urgent |
| `severity` | select (minor, major, critical) | `none` | non | `helpdesk.agent` | en clair | How badly the customer is affected: minor, major, critical |
| `assignee` | text | `internal` | oui | `helpdesk.agent` | masqué | Name of the agent working on the ticket |
| `sla_id` | ref → helpdesk_sla | `none` | non | `helpdesk.agent` | en clair | Service-level policy the ticket is measured against |
| `opened_on` | date | `none` | non | `helpdesk.agent` | en clair | Date the ticket was received (YYYY-MM-DD) |
| `first_response_on` | date | `none` | non | `helpdesk.agent` | en clair | Date of the first reply to the customer (YYYY-MM-DD) |
| `due_on` | date | `none` | non | `helpdesk.agent` | en clair | Date by which it should be solved under the policy (YYYY-MM-DD) |
| `resolved_on` | date | `none` | non | `helpdesk.agent` | en clair | Date the problem was solved (YYYY-MM-DD) |
| `resolution` | longtext | `none` | non | `helpdesk.agent` | en clair | How the problem was solved |
| `state` | select (open, in_progress, resolved, closed) | `none` | non | `helpdesk.agent` | en clair | Ticket status: open, in_progress, resolved, closed |

## Flux de travail

### `helpdesk_ticket`

| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
| `helpdesk_ticket.take` | state: open → in_progress | `helpdesk.agent` | non |
| `helpdesk_ticket.resolve` | state: in_progress → resolved | `helpdesk.agent` | non |
| `helpdesk_ticket.close` | state: resolved → closed | `helpdesk.manager` | oui |
| `helpdesk_ticket.reopen` | state: resolved → open | `helpdesk.agent` | non |

## Groupes de permissions

Groupes utilisés par cette application :

- `helpdesk.agent`
- `helpdesk.manager`

## Étapes d'approbation

Étapes qu'un agent ne peut que proposer :

- `helpdesk_ticket.close`

## Ce que les agents peuvent et ne peuvent pas faire

Un agent peut lire, rechercher, créer et modifier les enregistrements de cette application, et exécuter les actions qui ne requièrent pas d'approbation, dans les limites des groupes de permissions de son jeton.

Il ne peut que proposer ces étapes, qu'une personne doit approuver : `helpdesk_ticket.close`, `helpdesk_sla.delete`, `helpdesk_ticket.delete`.

Les données personnelles sont masquées sous forme de jetons de substitution : `helpdesk_ticket.requester_name`, `helpdesk_ticket.requester_email`, `helpdesk_ticket.assignee`.

## Dépendances

Aucune.

## Installation

Installez-la depuis l'application Customize (Place de marché), ou en ligne de commande :

```bash
obop modules install-from helpdesk
```

Nécessite une base de données et des droits d'administrateur.

## Créer la vôtre

[Le guide des modules montre comment sont écrites les applications de ce type](/fr/docs/reference/module-manifest/)
