Skip to main content

How to Get the Current User in Power Apps with the User Function

· 5 min read
Jagdish Kumawat
Founder @ Dewiride

User() tells a canvas app who's using it: their full name, email address, Microsoft Entra object ID and photo. It needs no connector and no setup, which makes it the quickest way to greet someone or fill in "requested by". Here's what each part returns, as seen in Studio, and what User() can't tell you.

What User() Returns​

FormulaReturnsType
User().FullNameThe person's full nameText
User().EmailTheir sign-in name (UPN)Text
User().EntraObjectIdTheir unique Microsoft Entra IDGUID
User().ImageTheir photoImage

Microsoft's User function reference has one important note: User().Email returns the user principal name (UPN), the name they sign in with, not necessarily their SMTP email address. In most organizations the two are the same, but not always.

Prerequisites​

Step 1: Full Name​

Text control → Text
User().FullName

The formula bar with User().FullName, the preview strip reading User().FullName = Admin User with Data type text, and the Text control showing Admin User

Step 2: Email (Sign-In Name)​

Text control → Text
User().Email

The formula bar with User().Email, the preview strip reading User().Email = admin@example.com with Data type text

Step 3: Microsoft Entra Object ID​

Text control → Text
User().EntraObjectId

The formula bar with User().EntraObjectId, the preview strip showing a GUID, and the same GUID in the Text control

This ID never changes, even if the person's name or email does, which makes it the safest way to store who did something.

Step 4: Photo​

User().Image is the default image of the modern Avatar control; see How to Add an Avatar Control in Power Apps. In the example, for an account with no photo, it still returned an image: a grey person icon. Fixed: Power Apps Avatar Shows a Grey Person Icon Instead of Initials shows how to fall back to initials.

What User() Can't Tell You​

User() has no job title, department, manager or direct reports. For those, use the Office 365 Users connector:

Common Mistakes​

MistakeWhat happensDo this instead
Treating User().Email as the mailbox addressWrong where the UPN differs from the emailUse Office 365 Users' mail when you need the mailbox
Storing the name to identify peopleBreaks when a name changesStore User().EntraObjectId
Expecting a job title from User()There isn't oneUse Office 365 Users

Troubleshooting​

SymptomLikely causeFix
A grey icon instead of initialsUser().Image returns a default imageSee the fix post above
The email looks like an internal nameIt's the UPNUse mail from Office 365 Users
Values differ from Microsoft 365Microsoft notes they may not matchUse Office 365 Users for profile data

FAQ​

Does User() need a connection?​

No. It works in any canvas app, with no data source.

Is User().EntraObjectId text?​

It's a GUID. Wrap it in Text() if you need it as text, for example to store in a text column.

Can I get another person's details?​

Not with User(), which is always the signed-in person. Use Office 365 Users for others.

Conclusion​

User() gives you the signed-in person's name, sign-in name, Entra object ID and photo, with no setup. Use the object ID to identify people, and Office 365 Users for anything beyond those four.

Additional Resources​

Stay Updated

Subscribe to our newsletter for the latest tutorials, tech insights, and developer news.

By subscribing, you agree to our privacy policy. Unsubscribe at any time.