# Feature ITSM-31 - Project admin helpdesk settings

Project: Stream IT service management (ITSM)
Status: in development
URL: https://community.openproject.org/work_packages/ITSM-31

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | 18.0.0 |
| Votes |  |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

| ID | Subject | Type | Status | Assignee | Target versions | Spent time |
| --- | --- | --- | --- | --- | --- | --- |
| ITSM-38 | Helpdesk: project mailbox settings | Implementation | new |  |  |  |
| ITSM-39 | Helpdesk: mailbox test | Implementation | new |  |  |  |
| ITSM-40 | Helpdesk: work package template | Implementation | new |  |  |  |

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan |  |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups | https://www.figma.com/design/j5SVCW79IrSECkxGrgAWuT/Helpdesk?node-id=13-22945&t=KvubYO4MF4w1c659-4 |
| Build Number |  |
| Found in mobile app version |  |
| Follow-up feedback e-mail |  |
| Accessibility | No |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers |  |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work |  |
| Labor costs |  |

## Description

If the `Helpdesk` module is enabled for a project, the helpdesk user created in `Administration` should automatically be added to the project.  
There should also be a new entry in the `Project settings` interface called `Helpdesk`. This interface should have four sections _(to account for further iterations where project admins will be able to configure their own mail servers with the right permissions)_:

*   Incoming email
    
*   Outgoing email
    
*   Email templates
    
*   Work package creation configuration
    

In this first iteration, we support one set of IMAP and SMTP credentials. Later iterations may add multiple connections with separate work package templates.

If the configuration is incomplete _(e.g. configured IMAP credentials, but no SMTP)_, an alert should be shown for the project admin to do something about it.

## Incoming email

If the project admin has not yet configured an IMAP mailbox, the configuration form is shown here. If they have, the details of the configuration are shown without the password, alongside buttons to reconfigure or remove. Reconfigure should show the form without removing the original settings until the new settings are confirmed as valid.

> At this time, OpenProject leaves unprocessable emails in the inbox. Project admins are responsible for dealing with left-over emails, which they should be made aware of.

The form for IMAP on the project settings side should consist of the following fields:

*   If the authentication as set by the instance admin is `Password`, the following fields are shown:
    
    *   Username
        
    *   Password
        
*   Known email addresses for this inbox: a list of known email addresses / aliases that OpenProject should identify as its own (default: the username/email field)
    

## Outgoing email

If the user has not yet configured an SMTP server, the configuration form is shown here. If they have, the details of the configuration are shown without the password, alongside buttons to reconfigure or remove.

*   Sender name (text field)
    
*   Sender email (email field)
    

The rest of the credentials logic follows the same pattern as incoming mail.

## Email templates

In this iteration, the user sees two text areas: one for the outgoing email when the initial email was received by the helpdesk and one template for any further comments marked as &quot;Reply to Recipients&quot;.

## Work package creation configuration

This interface should show:

*   Work package type
    
*   Initial status
    
*   Optional fields via &quot;+ Attribute&quot; button
    

> No required fields in this iteration due to additional checks being needed in case of certain instance configurations

## Test button

The test button should send out an email to all known email addresses using SMTP and receive emails using IMAP. It should set the `X-OpenProject-Test` header to a unique value, allowing it to identify the email. Additionally, it should set the `Auto-Submitted` header to `auto-generated`. The interface should show a list of the known email addresses with their current test status (_pending/successful/failed_).
