Design Preview: Custom Profile Attributes

For some of our customers, user profiles in Mattermost are missing critical information. Attributes like location, pronouns, and phone number are key to understanding who they’re communicating with and how to work together. These additional attributes are often different for each organization.

In addition, enterprise customers need to leverage AD/LDAP or SAML as the centralized source of truth for profile attributes like this at scale. The ability to link with these directory services is very important in large deployments.

We’re pleased to share that we are actively working on this feature and would like to share an early preview of the latest solution design. Here’s a summary of what we’re actively designing.

Configuring custom properties

Within the system console, a new ‘System properties’ page will be added where admins can:

  • Add new user properties
  • Edit the name, type and options for a given property
  • Link properties with LDAP or SAML attributes (if connected)
  • Re-order custom properties
  • Adjust other property settings

Standard vs. custom properties

Within the user properties section, we will also include standard properties along with custom properties. Standard properties are built-in properties like username, email, full name, etc., which cannot be deleted since they are core product properties for users. They can be linked to AD/LDAP/SAML attributes from this view if these services are configured.

Adding new properties

In the custom properties table, admins can click ‘Add property’ to add a new row and define the property’s name and type.

Reordering properties

Drag-and-drop to re-order table rows to adjust how they will display on profiles.

Editing a property

Click inside the property name’s cell to edit the name directly. Pressing enter or clicking outside will commit the change.

Property type

The type allows a property to be formatted and validated in specific ways. Some possible types may include: Text, Number, Email, Phone, URL, Select, Multi-Select, Date, Person.

Property value options

For the Select and Multi-select property types, preset options can be added for end users to choose from.

Linking properties with LDAP or SAML attributes

If LDAP or SAML are configured in the system, admins can link properties with attributes from these providers. When linking a profile property in Mattermost, simply type in the LDAP or SAML attribute name to map the property to and select it to make the linkage. Once linked successfully, it will display in the properties table.

Additional settings

  • Set the property’s visibility: you may have custom properties you want to add, but don’t want displayed. This may be the case if you have a property that is not filled in for some users. With this setting, you can choose to: Always show, Hide when empty, or Always hide.
  • Allow allow end users to add their own options: in the case where a select or multi-select type has preset options, you may want to allow end users to add their own options when filling in their profile.
  • Duplicate a property
  • Delete a property

Displaying custom profile properties

In a user’s profile settings, any new custom fields will display for each property that has been added in the system console.

In the user profile popover, only a subset of profile properties can show due to available real estate. A new ‘view profile’ button displays in the footer. Users can view a detailed view of the user profile in a new profile right-side panel.


Share your feedback

This is an early preview and the initial iteration of this may be scaled back or it may go through some changes, but this is the latest thinking for the feature. We have even bigger ideas and plans that could leverage such a properties system, but for now custom profile properties is a great first step.

We’d love to hear your feedback. Send us a reply here and let us know what you think.

1 Like

Would this be accessible/editable through the api?
Say I have a plugin that matches a profile against a 3rd party database and add some custom property values that the same plugin can retrieve later to check if the user has a certain property value to say restrict direct messaging?

@dmcleod I believe that is indeed the plan. We are working on technical specs right now and @jwilander or someone from his team can probably help more with this from a technical perspective.

1 Like