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
- PowerShell Gallery Microsoft.Graph.Beta
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
