Microsoft Exchange spoiled us - mail-enabled objects always had a set of custom attributes ready to use out of the box. Entra ID is less generous, you have to extend the schema yourself from scratch.
1. Create an Application Registration
Application Registration works as the namespace for extension attributes.
| |
2. Create an Extension Property
Now we create an attribute itself.
| |
3. Create a Service Principal
Without a Service Principal, the extension attributes are defined but cannot be used - the application exists only as a ‘definition’, not as an active entity in your tenant.
| |
4. Verify the Extension Property
| |
The extension attribute name follows this convention:
extension_{ServicePrincipalObjectIdWithoutHyphens}_{AttributeName}
Example:
extension_0bff5cf1c92f438e95aaab5fc59c0743_Att1
5. Set the Attribute on a Group
Prepare the body parameter using the full extension attribute name:
| |
Update the group:
| |
6. Verify the Result
| |
How it all fits together

The arrows show how Application ID and AppId flow through the subsequent commands
Notes
- After creating the Service Principal, wait a few minutes for sync, before attempting to set any attribute values
- Step 2’s
-TargetObjectsparameter supports multiple object types:User,Group,AdministrativeUnit,Application,Device, andOrganization