 class App.UiElement.postmaster_set
   @defaults: ->
     groups =
-      general:
+      ticket:
         name: 'Ticket'
         options: [
           {
-            value:    'x-zammad-ticket-priority_id'
+            value:    'priority_id'
             name:     'Priority'
             relation: 'TicketPriority'
-          },
-          {
-            value:    'x-zammad-ticket-state_id'
+          }
+          {
+            value:    'state_id'
             name:     'State'
             relation: 'TicketState'
-          },
-          {
-            value:    'x-zammad-ticket-customer_id'
+          }
+          {
+            value:    'customer_id'
             name:     'Customer'
             relation: 'User'
             tag:      'user_autocompletion'
-            disableCreateUser: true,
-          },
-          {
-
-            value:    'x-zammad-ticket-group_id'
+            disableCreateUser: true
+          }
+          {
+            value:    'group_id'
             name:     'Group'
             relation: 'Group'
-          },
-          {
-            value:    'x-zammad-ticket-owner_id'
+          }
+          {
+            value:    'owner_id'
             name:     'Owner'
             relation: 'User'
             tag:      'user_autocompletion'
-            disableCreateUser: true,
-          },
+            disableCreateUser: true
+          }
+        ]
+      article:
+        name: 'Article'
+        options: [
+          {
+            value:    'x-zammad-article-internal'
+            name:     'Internal'
+            options:  { true: 'yes', false: 'no'}
+          }
+          {
+            value:    'x-zammad-article-type_id'
+            name:     'Type'
+            relation: 'TicketArticleType'
+          }
+          {
+            value:    'x-zammad-article-sender_id'
+            name:     'Sender'
+            relation: 'TicketArticleSender'
+          }
+        ]
+      expert:
+        name: 'Expert'
+        options: [
           {
             value:    'x-zammad-ignore'
             name:     'Ignore Message'
             options:  { true: 'yes', false: 'no'}
-          },
+          }
         ]
-      expert:
-        name: 'Article'
-        options: [
-          {
-            value:    'x-zammad-article-internal'
-            name:     'Internal'
-            options:  { true: 'yes', false: 'no'}
-          },
-          {
-            value:    'x-zammad-article-type_id'
-            name:     'Type'
-            relation: 'TicketArticleType'
-          },
-          {
-            value:    'x-zammad-article-sender_id'
-            name:     'Sender'
-            relation: 'TicketArticleSender'
-          },
-        ]
+
+    # add additional ticket attributes
+    for row in App.Ticket.configure_attributes
+      exists = false
+      for item in groups.ticket.options
+        if item.value is row.name
+          exists = true
+
+        # do not support this types
+        else if row.tag is 'datetime' || row.tag is 'date' || row.tag is 'tag'
+          exists = true
+
+      # ignore passwords and relations
+      if !exists && row.type isnt 'password' && row.name.substr(row.name.length-4,4) isnt '_ids'
+
+        # ignore readonly attributes
+        if !row.readonly
+          item =
+            value:    row.name
+            name:     row.display
+            relation: row.relation
+            tag:      row.tag
+            options:  row.options
+          groups.ticket.options.push item
+
+    for item in groups.ticket.options
+      item.value = "x-zammad-ticket-#{item.value}"
 
     groups
 

    item.find('.js-attributeSelector select').bind('change', (e) =>
      key = $(e.target).find('option:selected').attr('value')
      elementRow = $(e.target).closest('.js-filterElement')

      @rebuildAttributeSelectors(item, elementRow, key, attribute)
      @buildValue(item, elementRow, key, groups, undefined, undefined, attribute)
    )

    for groupName, meta of groups
      for entry in meta.options
        if entry.value is key
          config = clone(entry)
    if !config.tag
      if config.relation || config.options
        config['tag'] = 'select'
