web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Need suggestion: Save ...
Power Apps
Unanswered

Need suggestion: Save office365users.directreports email to sharepoint list

(0) ShareShare
ReportReport
Posted on by 397

Can anyone please let me know if I am doing anything wrong here? 

 

onselect : submitform(form1); update(assignedtodatacardvalue=office365usrs.directreports().email)

 

what I am trying to achieve is that, when a user submit a request, on submit button it should save all the data to sharepoint list as wellas it should get that user direct reportee "email address" or "displayname" and save it to a column (it can be single line of text column or "person or group" coumn type?) I would be happy if it can save it to "person or group" coulmn type

Categories:
  • v-xida-msft Profile Picture
    Microsoft Employee on at

    Hi @rajkumar88 ,

    Do you want to save the current sign in user's Direct reports into a column in your SP list when the user submit a new request?

     

    Based on the needs that you mentioned, I have made a test on my side, please take a try with the following workaround:

    Firstly, you need to add a Person type column in your SP List, and enable "Allow Multiple Selections" option for this Person column.8.JPG

    App's configuration as below:10.JPG

    Set the OnSuccess property of the Edit form in your app to following:

    Patch(
     '20190611_case8',
     EditForm1.LastSubmit,
     {
     DirectReports: ForAll(
     Office365Users.DirectReports(User().Email),
     {
     Claims:"i:0#.f|membership|" & Lower(Mail),
     DisplayName: DisplayName,
     Email: Mail,
     JobTitle:"",
     Department:"",
     Picture:""
     }
     )
     }
    );
    Back()

    On your side, you should tpe:

    Patch(
     'YourSPList',
     EditForm1.LastSubmit,
     {
     YourPersonColumn: ForAll(
     Office365Users.DirectReports(User().Email),
     {
     Claims:"i:0#.f|membership|" & Lower(Mail),
     DisplayName: DisplayName,
     Email: Mail,
     JobTitle:"",
     Department:"",
     Picture:""
     }
     )
     }
    );
    Back()

    Note: The YourPersonColumn represents the Person column in your SP list, which has enabled the "Allow Multiple Selections" option. You need also to add Office 365 Users as data source into your app.

    When the user submit a new request successfully, the Person column (allow multiple selections) in your SP list would also be updated with his direct reports.

     

    Please take a try with above solution, then check if the issue is solved.

     

    Best regards,

  • rajkumar88 Profile Picture
    397 on at





    thanks for your reply. I have three screens with three forms in it. each screen is connected and will be saved using patch at the end of the last screen. Last screen is only dispplay screen to show list of items that are filled by an user with an submit button.

     

    Patch(EmployeePerformance,Defaults(EmployeePerformance),Form1_1.Updates,Form2_1.Updates,
    {
    ManagerStatus:{Value:"pending"}
    }
    );Navigate(EmpLandingScreen,ScreenTransition.None)

     

    1. Do you want me to add your code to onsuccess of this button? or editform of previous screen?

    2. I created a test form added your code to Onsucess of the "editform1". However I am gettign an error and not able to add "COlumn Name" to the code. I created a column similar to you and name it as "Manager". Instead of getting directreportees, here we are using "manager" as an AD property to get user manaer details. 

    and "currentemail" variable is set at "onstart" property of the form set(currentuseremail,user().email)

     

    Patch(
    test,
    EditForm1.LastSubmit,
    {
    Manager: ForAll(
    Office365Users.Manager(currentuseremail),
    {
    Claims:"i:0#.f|membership|" & Lower(Mail),
    DisplayName: DisplayName,
    Email: Mail
    }
    )
    }
    );
    Back()

     

  • v-xida-msft Profile Picture
    Microsoft Employee on at

    Do you use Patch function to submit your multiple form data into your SP List as single one record?

     

    If you use Patch function to submit your multiple form data into your SP List as single one record, please consider set the OnSelect property of the "Submit" button in your last screen to following:

     

    Patch(
     EmployeePerformance,
     Defaults(EmployeePerformance),
     Form1_1.Updates,
     Form2_1.Updates,
     {
     ManagerStatus:{
     Value:"pending"
     },
     YourPersonColumn: ForAll(
     Office365Users.DirectReports(User().Email),
     {
     Claims:"i:0#.f|membership|" & Lower(Mail),
     DisplayName: DisplayName,
     Email: Mail,
     JobTitle:"",
     Department:"",
     Picture:""
     }
     )
     }
    );
    Navigate(EmpLandingScreen,ScreenTransition.None)

    Note: The PersonColumn represents the Person column in your SP list, which has enabled "Allow Multiple Selections" option.

     

    In additon, for your second question, I think there is something wrong with your formula. The result the Office365Users.Manager(currentuseremail) formula returned is a record rather than a Table value, so you could not add it as first argument of the ForAll function.

    On your side, you should modify your formula as below:

    Patch(
     test,
     EditForm1.LastSubmit,
     {
     Manager: Table({
     Claims:"i:0#.f|membership|" & Lower(Office365Users.Manager(currentuseremail).Mail),
     DisplayName: Office365Users.Manager(currentuseremail).DisplayName,
     Email: Office365Users.Manager(currentuseremail).Mail
     })
     }
    ); Back()

    Note: I assume that the Manager column is a Person column in your SP list, which has enabled the "Allow Multiple Selections" option.

    Please take a try with above solution, then check if the issue is solved.

     

    Best regards,

     

    Hi @rajkumar88 ,

  • rajkumar88 Profile Picture
    397 on at

    Hi,

     

    Thanks for your reply.

     

    Yes, Manager is an "Person or group" column with "ALlow multiple selections" enabled.

     

    I am able to add code, however I am not able to find "Manager" when I type it. The last screen that I am using is an review screen with "canvas" . below is the two screen shots from the last screen

    2.PNG1.PNG

  • v-xida-msft Profile Picture
    Microsoft Employee on at

    Hi @rajkumar88 ,

    Could you please share more details about the error message within your formula?

     

    Please consider put your mouse within the formula box or click the "App Checker" option, then show me the error message.

     

    Based on the formula, I could not find any syntax error with it. Do you add a Manager column within your SP list during editing your current app? Do you refresh the SP List connection within your app after you add a new column in your SP List?

     

    On your side, please consider Refresh your SP List manually within your app or remove the DP List connection from your app and re-create a new connection to your SP List, then try your formula again, check if the issue is solved.

     

    Best regards,

  • rajkumar88 Profile Picture
    397 on at

    Hi,

     

    Yes, I have created this column after the creation of my app. and I did the refreh couple times already, but still no luck. SO you are saying that delete the data source and re-connect back? But I do that then all the fields will change right? Because I have almost 10 screens and I changed the datacardvalues with different text properties/checkboxes. So I don't want to loose my work. Please adivse. and here is the screen shot with error.

    3.PNG

  • v-xida-msft Profile Picture
    Microsoft Employee on at

    Hi @rajkumar88 ,

    Currently, I could not come up with a better solution except removing the SP List connection and re-adding it again.

     

    I also made a test on my side, if you remove the SP List connection from your app, and then re-add it again, the modification you added before would not be reset.

     

    On your side, please consider remove the SP List connection from your app, then re-add it again, check if the issue is solved.

     

    In additon, you could consider put your mouse within the formula box (mouse focus on the formula box), then you could see the detail error message and which function this issue is related to.

     

    Best regards,

  • rajkumar88 Profile Picture
    397 on at

    sory I am using wrong code. I chaged it to right as I need to capture user manager email filed not the direcreport.

     

    Patch(
    EmployeePerformance,
    Defaults(EmployeePerformance),
    Form1.Updates,
    Form2.Updates,
    Form3.Updates,
    {
    ManagerStatus:{
    Value:"pending"
    },
    Manager:Table({
    Claims:"i:0#.f|membership|" & Lower (Office365Users.Manager(User().Email).Mail),
    DisplayName: Office365Users.Manager(User().Email).DisplayName,
    Email: Office365Users.Manager(User().Email).Mail
    }
    )

    }
    );
    Navigate(ManagerLandingscreen,ScreenTransition.None)

     

    I am getting an error " Invalid argument type. expecting a table value, but of a different schema"

  • v-xida-msft Profile Picture
    Microsoft Employee on at

    Hi @rajkumar88 ,

    Based on the formula you provided, I think there is something wrong with it. Please modify your formula as below:

    Patch(
     EmployeePerformance,
     Defaults(EmployeePerformance),
     Form1.Updates,
     Form2.Updates,
     Form3.Updates,
     {
     ManagerStatus:{
     Value:"pending"
     },
     Manager: Table({
     Claims:"i:0#.f|membership|" & Lower (Office365Users.Manager(User().Email).Mail),
     DisplayName: Office365Users.Manager(User().Email).DisplayName,
     Email: Office365Users.Manager(User().Email).Mail,
    JobTitle: "", /* please note that the JobTile property, Department property and Picture property could not be ignored within your formula */
    Department: "",
    Picture: "" }) } ); Navigate(ManagerLandingscreen,ScreenTransition.None)

    Note: The JobTitle property, Department property and Picture property could not be ingnored within your formula.

     

    Please take a try with above solution, then check if the issue is solved.

     

    Best regards,

  • rajkumar88 Profile Picture
    397 on at

    hi @v-xida-msft 

     

    Thanks for your quick reply. Here is the error I am getting even after adding the above code.

    IMG_4981.PNG

     

    Patch(
    EmployeePerformance,
    Defaults(EmployeePerformance),
    Form1.Updates,
    Form2.Updates,
    Form3.Updates,
    {
    ManagerStatus:{
    Value:"Pending"
    },
    Manager:Table({
    Claims:"i:0#.f|membership|" & Lower(Office365Users.Manager(User().Email).Mail),
    DisplayName: Office365Users.Manager(User().Email).DisplayName,
    Email: Office365Users.Manager(User().Email).Mail,
    JobTitle: "",
    Department: "",
    Picture: ""
    }
    )

    }
    );
    Navigate(ManagerLandingscreen,ScreenTransition.None)

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 393 Super User 2026 Season 2

#2
Mohsin Ali Profile Picture

Mohsin Ali 328

#3
WarrenBelz Profile Picture

WarrenBelz 278 Most Valuable Professional

Last 30 days Overall leaderboard