---
title: "Helpdesk"
description: "Tickets de soporte. Cada aplicación es un módulo sobre un único modelo de datos."
canonical: "https://obop.dev/es/apps/helpdesk/"
lang: "es"
---

# Helpdesk

## Para qué sirve

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.

## Qué hace y qué no hace el paquete

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.

## Modelos

### `helpdesk_sla`

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

Grupo de lectura: `helpdesk.agent`. Grupo de escritura: `helpdesk.manager`.

| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
| `name` | text | `none` | no | `helpdesk.agent` | en claro | Policy name, for example Urgent in 4 hours |
| `priority` | select (low, normal, high, urgent) | `none` | no | `helpdesk.agent` | en claro | Ticket priority the policy applies to: low, normal, high, urgent |
| `first_response_minutes` | number | `none` | no | `helpdesk.agent` | en claro | Target time to the first reply, in minutes |
| `resolution_minutes` | number | `none` | no | `helpdesk.agent` | en claro | Target time to resolve the ticket, in minutes |
| `active` | bool | `none` | no | `helpdesk.agent` | en claro | Whether the policy can be attached to new tickets |

### `helpdesk_ticket`

A customer support request

Grupo de lectura: `helpdesk.agent`. Grupo de escritura: `helpdesk.agent`.

| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
| `subject` | text | `none` | no | `helpdesk.agent` | en claro | One-line summary of the problem |
| `description` | longtext | `none` | no | `helpdesk.agent` | en claro | Full description of the problem and what the customer tried |
| `requester_name` | text | `internal` | sí | `helpdesk.agent` | enmascarado | Name of the person asking for help |
| `requester_email` | text | `internal` | sí | `helpdesk.agent` | enmascarado | Email address of the person asking for help |
| `category` | select (question, incident, problem, feature_request) | `none` | no | `helpdesk.agent` | en claro | What kind of request it is: question, incident, problem, feature_request |
| `priority` | select (low, normal, high, urgent) | `none` | no | `helpdesk.agent` | en claro | How soon it should be handled: low, normal, high, urgent |
| `severity` | select (minor, major, critical) | `none` | no | `helpdesk.agent` | en claro | How badly the customer is affected: minor, major, critical |
| `assignee` | text | `internal` | sí | `helpdesk.agent` | enmascarado | Name of the agent working on the ticket |
| `sla_id` | ref → helpdesk_sla | `none` | no | `helpdesk.agent` | en claro | Service-level policy the ticket is measured against |
| `opened_on` | date | `none` | no | `helpdesk.agent` | en claro | Date the ticket was received (YYYY-MM-DD) |
| `first_response_on` | date | `none` | no | `helpdesk.agent` | en claro | Date of the first reply to the customer (YYYY-MM-DD) |
| `due_on` | date | `none` | no | `helpdesk.agent` | en claro | Date by which it should be solved under the policy (YYYY-MM-DD) |
| `resolved_on` | date | `none` | no | `helpdesk.agent` | en claro | Date the problem was solved (YYYY-MM-DD) |
| `resolution` | longtext | `none` | no | `helpdesk.agent` | en claro | How the problem was solved |
| `state` | select (open, in_progress, resolved, closed) | `none` | no | `helpdesk.agent` | en claro | Ticket status: open, in_progress, resolved, closed |

## Flujos de trabajo

### `helpdesk_ticket`

| Acción | Mueve | Quién puede ejecutarla | Aprobación |
|---|---|---|---|
| `helpdesk_ticket.take` | state: open → in_progress | `helpdesk.agent` | no |
| `helpdesk_ticket.resolve` | state: in_progress → resolved | `helpdesk.agent` | no |
| `helpdesk_ticket.close` | state: resolved → closed | `helpdesk.manager` | sí |
| `helpdesk_ticket.reopen` | state: resolved → open | `helpdesk.agent` | no |

## Grupos de permisos

Grupos que usa esta aplicación:

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

## Pasos con aprobación

Pasos que un agente solo puede proponer:

- `helpdesk_ticket.close`

## Qué pueden y qué no pueden hacer los agentes

Un agente puede leer, buscar, crear y actualizar registros de esta aplicación, y ejecutar las acciones que no requieren aprobación, dentro de los grupos de permisos de su token.

Solo puede proponer estos pasos, y una persona debe aprobarlos: `helpdesk_ticket.close`, `helpdesk_sla.delete`, `helpdesk_ticket.delete`.

Los datos personales se enmascaran como tokens marcadores: `helpdesk_ticket.requester_name`, `helpdesk_ticket.requester_email`, `helpdesk_ticket.assignee`.

## Dependencias

Ninguna.

## Instalación

Instálala desde la aplicación Customize (Marketplace) o desde la línea de comandos:

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

Requiere una base de datos y derechos de administrador.

## Crea la tuya

[La guía de módulos explica cómo se escriben aplicaciones como esta](/es/docs/reference/module-manifest/)
