Helpdesk

Support tickets

MarketplaceCustomersVersion 0.2.0manifest

What it is for ​

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.

What the package does and does not do ​

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.

Models ​

helpdesk_sla ​

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

Read group: helpdesk.agent. Write group: helpdesk.manager.

FieldKindData classPersonal dataGroupAgents seeDescription
nametextnonenohelpdesk.agentin clearPolicy name, for example Urgent in 4 hours
priorityselect (low, normal, high, urgent)nonenohelpdesk.agentin clearTicket priority the policy applies to: low, normal, high, urgent
first_response_minutesnumbernonenohelpdesk.agentin clearTarget time to the first reply, in minutes
resolution_minutesnumbernonenohelpdesk.agentin clearTarget time to resolve the ticket, in minutes
activeboolnonenohelpdesk.agentin clearWhether the policy can be attached to new tickets

helpdesk_ticket ​

A customer support request

Read group: helpdesk.agent. Write group: helpdesk.agent.

FieldKindData classPersonal dataGroupAgents seeDescription
subjecttextnonenohelpdesk.agentin clearOne-line summary of the problem
descriptionlongtextnonenohelpdesk.agentin clearFull description of the problem and what the customer tried
requester_nametextinternalyeshelpdesk.agentmaskedName of the person asking for help
requester_emailtextinternalyeshelpdesk.agentmaskedEmail address of the person asking for help
categoryselect (question, incident, problem, feature_request)nonenohelpdesk.agentin clearWhat kind of request it is: question, incident, problem, feature_request
priorityselect (low, normal, high, urgent)nonenohelpdesk.agentin clearHow soon it should be handled: low, normal, high, urgent
severityselect (minor, major, critical)nonenohelpdesk.agentin clearHow badly the customer is affected: minor, major, critical
assigneetextinternalyeshelpdesk.agentmaskedName of the agent working on the ticket
sla_idref → helpdesk_slanonenohelpdesk.agentin clearService-level policy the ticket is measured against
opened_ondatenonenohelpdesk.agentin clearDate the ticket was received (YYYY-MM-DD)
first_response_ondatenonenohelpdesk.agentin clearDate of the first reply to the customer (YYYY-MM-DD)
due_ondatenonenohelpdesk.agentin clearDate by which it should be solved under the policy (YYYY-MM-DD)
resolved_ondatenonenohelpdesk.agentin clearDate the problem was solved (YYYY-MM-DD)
resolutionlongtextnonenohelpdesk.agentin clearHow the problem was solved
stateselect (open, in_progress, resolved, closed)nonenohelpdesk.agentin clearTicket status: open, in_progress, resolved, closed

Workflows ​

helpdesk_ticket ​

ActionMovesWho may run itApproval
helpdesk_ticket.takestate: open → in_progresshelpdesk.agentno
helpdesk_ticket.resolvestate: in_progress → resolvedhelpdesk.agentno
helpdesk_ticket.closestate: resolved → closedhelpdesk.manageryes
helpdesk_ticket.reopenstate: resolved → openhelpdesk.agentno

Permission groups ​

Groups used by this app:

  • helpdesk.agent
  • helpdesk.manager

Approval steps ​

Steps an agent can only propose:

  • helpdesk_ticket.close

What agents can and cannot do ​

An agent can read, search, create and update records of this app, and run the actions that need no approval, within the permission groups of its token.

It can only propose these steps, and a person must approve them: helpdesk_ticket.close, helpdesk_sla.delete, helpdesk_ticket.delete.

Personal data is masked as placeholder tokens: helpdesk_ticket.requester_name, helpdesk_ticket.requester_email, helpdesk_ticket.assignee.

Dependencies ​

None.

Install ​

Install it from the Customize app (Marketplace), or from the command line:

bash
obop modules install-from helpdesk

Needs a database and administrator rights.

Build your own ​

The module guide shows how apps like this one are written