Customize M365 Profile Card

Customize M365 Profile Card

Hi All,

Recently i have stumbled across the following Article on how to extend the M365 Profile card with custom Entra ID Attributeds

Add or remove custom attributes on a profile card using the profile card API

You can only use the following Attributes

  • UserPrincipalName
  • Fax
  • StreetAddress
  • PostalCode
  • StateOrProvince
  • Alias

and

  • customAttribute1
  • customAttribute2
  • customAttribute3
  • customAttribute4
  • customAttribute5
  • customAttribute6
  • customAttribute7
  • customAttribute8
  • customAttribute9
  • customAttribute10
  • customAttribute11
  • customAttribute12
  • customAttribute13
  • customAttribute14
  • customAttribute15

In Graph Explorer we can check the current Profile Card Properties

GET https://graph.microsoft.com/beta/admin/people/profileCardProperties

Make sure you have these Permissions

  • PeopleSettings.Read.All
  • PeopleSettings.ReadWrite.All

To add the Custom Attribute 15 with localizations use this Request Body

#POST https://graph.microsoft.com/beta/admin/people/profileCardProperties
#Content-Type application/json
{
    "directoryPropertyName": "customAttribute15",
    "annotations": [
        {
            "displayName": "Cost center",
            "localizations": [
                {
                    "languageTag": "de-CH",
                    "displayName": "Kostenstelle"
                },
                {
                    "languageTag": "fr-CH",
                    "displayName": "Centre de coûts"
                },
                {
                    "languageTag": "it-CH",
                    "displayName": "Centro di costo"
                }
            ]
        }
    ]
}

Make sure that you use the correct Request headers

Content-Type application/json

You can also use the Microsoft.Graph PowerShell Module

Connect-MgGraph -Scopes "PeopleSettings.ReadWrite.All","PeopleSettings.Read.All"
#Get ProfileCard Properties
Get-MgBetaAdminPeopleProfileCardProperty

Add the Alias with Microsoft.Graph PowerShell Module

#Add Alias to Profile Card
$params = @{
  "directoryPropertyName" = "Alias"
}

New-MgAdminPeopleProfileCardProperty -BodyParameter $params

#Get ProfileCard Properties
Get-MgBetaAdminPeopleProfileCardProperty

To remove the Alias with Microsoft.Graph PowerShell use the following Command

Remove-MgAdminPeopleProfileCardProperty -ProfileCardPropertyId Alias
Get-MgBetaAdminPeopleProfileCardProperty

Profile Card in Outlook on the Web (before)

Profile Card in Microsoft Teams (before)

Changes can take up to 24 Hours. In my Test the Alias was pretty fast visible, but the customAttribute took at least 12 Hours.

Profile Card in Outlook on the Web (after)

Profile Card in Microsoft Teams (after)

Regards
Andres Bohren

M365 Logo