Information/Alert/Warning Object Type

Title: Information/Alert/Warning Object Type

  1. What is your original issue/pain point you want to solve?
    It is useful to be able to communicate with customers beyond simply asking them questions. This is not currently handled by Zammad in a useful way.

  2. Which are one or two concrete situations where this problem hurts the most?
    A proportion of our tickets could be deflected if there was an obvious mechanism to give them answers based on their previous selections.

  3. Why is it not solvable with the Zammad standard?
    Pre-populated read-only textarea Objects fall short in several areas. By marking them as read-only, they are automatically dimmed, meaning that they do not stand out as something we want customers to read. The text input in the admin UI does not support multi-line input for the prefilled value, requiring this to be done via the API, which is not overly useful for quick edits.

  4. What is your expectation/what do you want to achieve?
    A native Object-Type that acts as a notification dialogue box to communicate critical/useful information to our customers. This should have some obvious styling to indicate the type of communication (maybe red for warning, yellow for alert and blue for information), possibly have a suitable icon, and probably doesn’t need a visible object name in the customer UI.

In Jira for example, a warning looks like;

An Alert looks like;
image

And information looks like;
image

Your Zammad environment:

  • Average concurrent agent count: 60
  • Average tickets a day: 400
  • What roles/people are involved: IT Support and Site teams supporting 19 schools

Anything else which you think is useful to understand your use case:
Custom CSS can be injected into Zammad to get us 99% of the way there, but as this is not a native solution, it is less than ideal.

/* Style for a Warning/Alert Object */

/* Generic Rule for all WARNINGS (Starts with "warning_") */
.ticket-create .form-group[data-attribute-name^="warning_"] {
    background-color: #fff3f3 !important;
    border-left: 5px solid #dc3545 !important; /* Thick red line on the left */
    padding: 15px !important;
    margin-bottom: 20px !important;
    border-radius: 4px;
}

/* Generic Rule for all ALERTS (Starts with "alert_") */
.ticket-create .form-group[data-attribute-name^="alert_"] {
    background-color: #fff8e1 !important; /* Light amber/yellow */
    border-left: 5px solid #ffc107 !important; /* Amber line */
    padding: 15px !important;
    margin-bottom: 20px !important;
    border-radius: 4px;
}

/* Optional: Hide the label for these fields to make them look like pure banners */
.ticket-create .form-group[data-attribute-name^="warning_"] .control-label,
.ticket-create .form-group[data-attribute-name^="alert_"] .control-label {
    display: none !important;
}

/* Optional: Style the text inside to be more prominent */
.ticket-create .form-group[data-attribute-name^="warning_"] .form-control,
.ticket-create .form-group[data-attribute-name^="alert_"] .form-control {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    padding: 0 !important;
}

/* Ensure text in Warning/Alert boxes is high-contrast, even when Read-Only */
.ticket-create .form-group[data-attribute-name^="warning_"] .form-control[disabled],
.ticket-create .form-group[data-attribute-name^="warning_"] .form-control[readonly],
.ticket-create .form-group[data-attribute-name^="alert_"] .form-control[disabled],
.ticket-create .form-group[data-attribute-name^="alert_"] .form-control[readonly] {
    color: #212529 !important;      /* Deep black/dark grey text */
    opacity: 1 !important;           /* Remove the 0.5 opacity browsers apply */
    -webkit-text-fill-color: #212529 !important; /* Required for Safari/iOS */
    cursor: default !important;      /* Don't show the 'not-allowed' circle icon */
    background-color: transparent !important;
    border: none !important;
}