A "deadname" refers to the birth name of a person who has since changed their name, often used in the context of transgender or non-binary individuals who have transitioned. It is considered disrespectful and inappropriate to use someone's deadname without their consent, as it invalidates their identity and can cause distress.
Explanation courtesy of ChatGPT.
Why am I posting about deadnames to this community?
One of my flows ran and addressed a user by their deadname in a Teams group chat.
I took this seriously, apologized for the technical gap in our systems, and promised to investigate and fix the issue. In my situation the issue was due to a practice gap, so this may not be a problem for your systems. That being said, I'd like to share with the community as there is always potential that an aspect of our systems is non-inclusive. This is the story of how I handled the problem and shared the gap and solution to others at my workplace.
Expectation: User shown their first name, which is pulled from our AD givenName field.
What happened: User shown their deadname, which was not expected to be in the AD givenName field.
Root cause investigation: Per my corporate IT's policies, the Active Directory givenName field must be equal to user's birth first name. Any first name information pulled from the AD will always be their birth name, leading to the problem.
Existing user protections: User can request their displayName and email fields be changed to match their current names.
Gaps:
- Users cannot change their givenName field. Corp IT cannot change this.
- The AD cannot be changed to have a current first name field, and no existing fields can be modified for the purpose.
Proposed Solution: Add new code to the flow to extract current first name from a field that contains the user's current full name.
Implemented solution: Deadname Bypass.

Length code is:
indexOf(outputs('Get_user_profile_(V2)')?['body/displayName'], ' ')
The above full step isn't needed. You could also add a substring expression straight to your other steps:
substring(outputs('Get_user_profile_(V2)')?['body/displayName'],0, indexOf(outputs('Get_user_profile_(V2)')?['body/displayName'], ' '))
Deadname bypass is basically any way you like to split a string and keep the first portion. How doesn't matter. Power Automate doesn't matter. Could be a new column in a dataset, code in an app, build it into your query or add a DAX expression in Power BI.
The technical solutions don't matter; the actual solution is that YOU matter. After having read this long, dry post, what sticks with you as a human? Now you know this could happen to your users; and if it does, you probably would never find out. But. One day you might be doing your usual thing, notice a small deadname exposure risk, and you just might remember this post. I hope you decide to pause a moment, build your own unique Deadname Bypass, and do the right thing for another human being.