I wanted to take a moment to express my heartfelt gratitude for the incredible videos you create. Your content has been a constant source of inspiration and knowledge for me. I have learned so much from your videos. Your dedication to creating original and insightful content is truly commendable. The way you present complex concepts in a relatable and understandable manner is remarkable. Your videos have not only expanded my knowledge but also ignited my curiosity to explore new subjects and ideas. Thank you for sharing your expertise and creativity through your videos. Your contributions have made a significant difference in my life, and I'm certain I'm not alone in feeling this way. Please keep doing what you do best and continue inspiring others with your remarkable content.
Reza, you have no idea how amazingly helpful this video has been. I can now directly solve two tricky challenges from my business users as a result of learning how to use Graph API from PowerApps! Thank YOU!
What makes your videos stand out is not just the quality of the content but more especially, the style of delivery which helps me to understand the concept properly. I've always wanted to delve more into working the Graph API a but more but haven't been able to...... until NOW. Thanks to your video. As always, I would have to watch this a number of times to really get it and try it out. Really admire your commitment to knowledge transfer and long may it continue. Appreciated.
This is game changer. I was just trying to figure this out today and turning on that JSON preview feature was what I was missing. Pretty powerful stuff.
I have been getting more and more interested in the SharePoint HTTP Request in Power Automate. We can make a GET request and use the Parse JSON action to access attributes. It's very exciting learning how to be able to access many granular properties that otherwise aren't easily accessible. Thanks for shining a light on this exciting new functionality in Power Apps. Love your content.
Reza, this is worth it's weight in gold and more. Amazing content and walk through sir. Graph API is going to change and allow for so much more as presented by you. I can only imagine the possibilities as we get more endpoints and more nest tricks to hopefully reach Dateverse level delegation in SharePoint.
I would love to see more videos exploring the Graph. Use api to edit an item or file etc. I can learn best from examples. These contents are extremely scarce.
Thank you again Reza, for your generous sharing of your knowledge, time and efforts. You're becoming a virtual mentor in my career, and I am grateful sir.
@@rkirk2k I will be showcasing an early preview to Channel Members during the Office Hours session this Saturday. Check community tab on my channel for details.
It's incredible there is so little documentation about how to do calls to azure devops and show System.History. With this video I was able to solve it. Thanks Reza
This was awesome; thank you! At the end you mentioned doing another video showing how you pass a "file" when you have a text box. Do you have any videos on that yet? Specifically, I'm trying to update group properties using PATCH and having trouble figuring out what is required in the "file" parameter.
Thanks a lot to you @Reza and Hiro, for letting us know, I've been using this graph api and do the alter using VS Code from one of the video from Deepak Srivastava.
@@RezaDorrani now in 2024, they've (Microsoft) has deprecated this connector and introduced v2 of it but it is restricted to sub group /groups, any work around for it??
@@RezaDorrani thanks a lot, that's what (http req to Azure AD in power automate) is what I'm using now. One more thing I noticed, i don't have the premium licence but still some connectors like http, this send http req to Azure AD does work. Is it labeled as premium and could work as standard connector?
Thanks for sharing it. Not sure if you remember that i had requested for this video. Now this will make my life easy. BTW i am building an app using this technique which will show all sites owned by a user and user will be able to manage his/ her own site.
Hi @Reza, Great Content! Loved Your way of explanation simplicity and knowledge. I was hoping when we could expect detailed video on how to work with the power automate connector - SERVICE NOW and how we could integrate it within PowerApps. Using the API or any other method if possible
Thanks! I have no plans for any videos on service now. I ask subscribers for topic suggestions on Community Tab of my channel every quarter. Most voted ideas get added to my backlog. No one has asked for a video on these lines. May be try posting this in the next topi suggestion post and if it gets max votes, I would add it to my backlog
Hello Reza. This video was fantastic, thank you! I see you replied to another comment, saying you have done a series of videos for Graph, however this is the only one I can find. Can you point me to the other videos? Thanks!
Great and very timely video Reza as I was just working on some Graph API stuff with a colleague. I am very interested in that last part you mentioned about being able to search a list or document library with Power Apps and the Graph API. Do you have a rough timeline on when that video will come out?
Superb Reza... Also, this was the first time i have seen the function Table. I'm going to try and use this function to replace my method, when I store a sub table in html format within a sharepoint list. When i load it back in powerapps as a gallery i have to split on and then use mid and find functions to get the individual details. Also just thinking have you ever collected a table of data and posted it as Json into a multi line of text in a sharepoint list item and then pulled it back into power apps into a gallery?
Hi Reza, Great video as always! I have an existing app which when I try to use the Graph API it is still showing as a boolean value not an Untyped Object ? I have updated the app settings with the parseJSON preview feature but still no luck? Any ideas on what might be happening or is this a limitation? I have tried in a new blank app and worked fine.
I do not have a video reference on this scenario and would have to try it out to provide guidance. I recommend checking on the forums at powerusers.microsoft.com/ in case someone has done something similar.
Awesome stuff Reza, I tried to get the presence of the user in teams but this seems not to work as I get the error message that it is forbbiden. Is this on MS side or mine is at this point unknown. Do you perhaps know more?
Not all actions are suppressed in the endpoints mentioned. Only delegable permissions are supported. I did try presence (I was planning a demo on it), that does not work due to the permissions it needs in Graph and the Office365Groups http action does not support it.
Amazing video Reza, I really like your video. You explain everything like it looks so easy. But I want to ask 1 thing, is this Microsoft graph api free for Office365 E1? or there are limitations in using this service? Thanks before
The graph api is available for all licenses (as far as I know). When calling Graph from power apps or automate, the license depends upon which connector we use.
Reza - you got anything for creating the JSON body of a PATCH/PUT/POST request dynamically for one of these HTTP requests since the input for the body is of type "file"? I found I could base64-encode the body (just as a text string in JSON formatting) then put that as an image property of an image control using a data URI (like making an SVG image from XML text or reversing the "get binary content from an image using the JSON() function) and then pass that Image.Image through as my "file" for the body of the request. Allows me to create/update meeting invites, add owners to a group, create a group, subscribe somebody to a group's emails, etc.
@@RezaDorrani Your video came - as usual - exactly in time as I was trying to avoid Power Automate and Premium Connectors. The cliffhanger at the end left me exactly where I am stuck now. I'm trying to figure out how to do this, but i can't make it work. I try to create a draft mail from a few parameters in a Canvas App and Post it with the Graph API to the Messages endpoint. All get requests work pretty fine, I just can't figure out the mentioned workaround from Hiro's blog, your video and mattschaffer147's post to make the request body for a post work.
@@christiangogreen4567 My video will mostly go live tomorrow. Channel members already have access to it. Silver members get access to code base (app/flow) as well. In case you would like to join, here is the link ru-vid.comjoin
I make videos when I receive multiple requests on a topic. Every quarter I ask subscribers for topic suggestions on community tab. Most voted ideas get added to my backlog. Make sure to post this idea whenever the next topic suggestion post is out.
I have a search video planned that would be my next video. Searching on dates is not a good option. You would rather want user filtering on dates or date ranges. I have done many videos on it. Here is one for reference ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-bujH2gzTduQ.html
Hey Reza, that looks really great thank you very much. I’m a big fan of your videos and it helped me al lot. One question - how to upload and download large files. I know you made a video on small files with graphapi but I try handling large files >100MB with PowerApps but it always comes to issues - I think in case of the loading times. Is there a possibility to handle large files?
There is a possibility for large file upload as there is an API for it. Would need more investigation from my side. I dont plan to do that anytime soon.
Thank you for this video, this is very useful. Do you by any chance know how to manually write the body part of PUT/POST API calls (for example add a new owner to an Office 365 Group) in PowerApps?
@@RezaDorrani found it in the 'Search SharePoint Lists without Delegation Issues' video's 'How to call Microsoft Search API from Power Apps?' section, and it works, thank you so much! :)
Thanks Reza for this video. It is quite interesting and very informative. However, based on the MS documentation, this HttpRequest from Office 365 Groups was deprecated, instead use HttpRequestV2. Also, in V2, only Groups endpoint is allowed, not all the graph endpoint. Is it still valid to use V1, which gives this feature.
Even in v1 not all endpoints were allowed. V2 is now only for groups. There is separate ones for groups, outlook and onedrive. SharePoint we can use http action and call hidden apis under graph. I did 3-4 videos around this timeframe where I have shown multiple options.
Thank you @RezaDorrani! Really helpful. Is it possible to search a particular AD group for users, choose a specific user, enable their account, allow the 'logged in admin user' to generate a random passphrase from a table of values and reset their password? Caveat: these accounts to be re-enabled etc were created in local AD, not in Azure Entra but using AD connector, there is a synch every 10-30mins. Can i still use MS Graph API? I think the admin user needs to be allowed to reset and re-enable the user account. I think rights permissions to AD and Entra? Not sure how to do this, any advice would be great.
Very good video. Thanks Reza. For me after turning on untyped object settings also variable values remain true or false. Could you please suggest why this is happening
Hm, this is quite promising! I was wondering if we could use method to lookup a member of a specific 365 group (the current user of the app) and leverage that response (blank or not) in a permissions/role based access scenario within the app. I've never cared for the list group members action to then filter it to find a specific member and determine it's access and maintaining users in a sperate SharePoint list has always seemed clunky
Great video, Reza! Did you figure out if this can be enabled for "old" apps? Also, what is the update where the change from Boolean to untyped object was made?
Yes I did. Disable feature in old app -> Publish App - > Close App -> Edit App -> Enable feature -> Publish App -> Close App -> Edit App and it should work.
Hi Reza. I just noticed on Microsoft's documentation that they deprecated this action, and the v2 action only support one endpoint. Do you have a sense of how long it takes for a deprecated item to be taken out of service.
When posting files to libraries is it possible to set metadata for them? and/or capture the file id after it was upladed? Thanks by the way I'm currently exploring Graph features and this is amazing conten!!! (as always) 👌👌
Incredible tutorial, Reza. I'm having an issue with the "ParseJSON function and untyped objects" upcoming feature, though. It's still returning a boolean into the global variable I'm saving the response to, despite having the new feature enabled. However, when I check the Monitor, the response tab on the request shows the JSON and table successfully from the request. edit: On a hunch, I created a new blank app and tested the same HttpRequest in the new app and it actually returned an UntypedObject in that one, instead of a boolean. Is it not possible to turn this feature on for an app that has existed for a while?
When you turn on the feature, you need to save the app, then close and reload it in order for the feature to actually take effect (in apps that existed prior to the feature existing). New apps have it on by default and should just work OOTB.
@@mattschaffer147 You’re right about needing to save it and then refresh the app. The Microsoft prompt states that when you enable the feature. When I relaunched the app afterwards, it displays that the feature is enabled, but the API calls still return a Boolean. This is the case with all my older apps. All of the apps that I have created after the update return UntypedObjects, as expected. As Reza suggested, I believe this to just be a bug.
I do not have a video reference on this scenario and would have to try it out to provide guidance. I recommend checking or posting your query on forums in case someone has done something similar powerusers.microsoft.com
do we not need to do app registration and custom connector if we need to use it in flow? Please let me know if we still need to have a custom connector or not. thanks Rezza
In power automate how can i connect with Adobe service .can you explain where i can find the client id and client secret .if possible can you make video on that
Video is on Graph API and Power Apps :) I have not done any work with adobe service. I recommend posting your query on forums at powerusers.microsoft.com
@@RezaDorrani Its not anywhere as an official data source as i see. And the Get Presence also being a little new. But I would like to build something for receptionists maybe. Where they can easily see someones online presence, and calender. Many i know dislike Teams a lot where they haft to get most of this information in Outlook, and it can be slow if you have 200+ peoples calender, and you have some customer waiting on the phone.
Hey Reza! thanks a lot for sharing by following this we can retrieve data from the sharepoint list as I saw in your other video but if we need to open that record and update it like in a form control will it be useful in that case? like if we include ID column to be returned and lookup actual list with the ID in the case of if record is 2001th of the list will it work?
Would it be possible with this method to also check the status (e.g. error) of the PUT request after running it? I tried but can't manage because the status it's not under "body".
Hi @Reza, as part of the Graph API consumption we are extracting drive and site IDs right, how can we manage this during deployment to other environments? Since it is a one-time job, maintaining those as configuration information? Please suggest.
I do not have a video reference on this scenario and would have to try it out to provide guidance. I recommend checking on the forums at powerusers.microsoft.com/ in case someone has done something similar.
@RezaDorrani I wasn't sure on where to ask this so I'm posting it here since it's related to the subject. It's awesome being able to display the version history now! I ended up putting the API call on the OnSelect Property of the gallery instead of a button. That aside, I ran into an issue trying to combine two ideas, exporting the version history into a csv. We've done the exercise in the past of collecting the contents of what's in the gallery and exporting it into a csv. I was attempting to replicate this with the version history, and while I don't get any errors, and the file comes up, it's always empty. I've tried a few ways in hopes of figuring this out including collecting a single column, ThisRecord.Value.id, or 'Gallery Name.Selected.Value.id, or even removing the ForAll loop and collecting the typecasted table. Would you have any advice on achieving this? As a side note, I am not filtering which version fields coming in from the API call just in case I needed to change what was shown in the gallery. Update: I can at least see the collection capturing data once I commented out clearing the collection. At this time the csv file isn't displaying the information. Checking the workflow, the Content_Inputs is capturing elements in an array, but they're all blank. So close yet so far away, lol.
I do not have a video reference on your scenario and would have to try it out to provide guidance. I understand part of it was showcases but not the end to end version. I recommend checking on the forums at powerusers.microsoft.com/ in case someone has done something similar.
I did show how to post in my video. Creating updating list items is directly possible in power apps so not sure why would you want to use graph for that. But it is possible, check the graph api documentation to see how that can be done:
can you make a video how to not use the invoke http request premium connector in power automate to use graph api? is it free to do a custom connector? send an http request doesnt give you the full range of graph api features, like microsoft teams presense, at least not in power automate, so how do you get around this?
I make videos when I receive multiple requests on a topic. Every 6 months I ask subscribers for topic suggestions on Community Tab of my channel. Most voted idea gets added to my backlog. Make sure to post this idea whenever I post the next topic suggestion post.
Hi Reza, thank you so much for this video. This is brilliant. I have managed to get a screen setup and the gallery is finding the correct amount of previous versions for the record, but it displays the same information for each record in the table picking up the itemversion variable. I have traced through the HttpRequest action in the monitor tool, but I am unable to figure out what I need to change so it displays the correct version history information. Do I need to change the code in the items property of the gallery which shows the versions aviaIlable. Currently it has Table(varItemVersion.value). Or do I just need to amend the code in the text property of the gallery? Currently is has Gallery3.Selected.Points. Thank you very much,
Most welcome. The steps are all highlighted in the video. No code change is needed. I would recommend checking video again. If issue persists in your case, then recommend to post issue with screenshots on the forums at powerusers.microsoft.com
Thank you so much Reza for this video. I am using Graph API to get manager details of an employee. I am using graph API particularly to get the manager's & employees ID, hiredate etc., which is not available in ManagerV2. My body has 2 components, value having the entire table with manager + employee details & also manager details {}. I would like to call the particular items according to my needs like display name of my manager not the employee. But unfortunately its showing blank. Can you please provide me a solution on this. Also Office365Groups.HttpRequestV2 is throwing an error, when i try to take particular information from the same.
V2 was throwing error for me as well. I dont know why. Httprequest works. I would have to try out your scenario to provide the steps. I have shown steps in video on how to traverse JSON and my next video will also show more in detail. I recommend posting your issue with screenshots on the forums at powerusers.microsoft.com
Hey Ezra is the SharePoint list good place to load 60000 rows register and maintain it there? Also what's the easiest way to load it from Excel at the start?
Hello Reza, This was working earlier, but when I tried to do this same thing today in my new canvas app. I am not able to find the ParseJSON experimental feature. I can see the ParseJSON as a function when I am trying to invoke it on a button click though. The issue I am facing now if I use the V1 version n(deprecated) I can call the API and get the response but it is of type "unsupported object". If I use it with version V2 it gives me an error. Please suggest.
ParseJSON is now GA and there is no need to enable it. v2 only includes certain endpoints. I have done 3-4 videos on graph and searching and shown different options to get data.
@@RezaDorrani Hmm, I have the same issue. I tested to get data " my profile", but the variable is automatically set to 'boolean' , i get in monitor all data -this is ok, but i dont how and cant data to PL screen :)
Office365Groups is the way to call any external API or it is only for graph API? What is the difference between custom connector and office365? I recently used custom connector for calling external API.
Hello How we can get all azure AD users using graph API in PowerAutomate ? I did implemented pagination to get result with basic details (name,UPN,dept) and I'm able to get all 40k users but when I'm trying to get 'manager' attribute didn't getting the all 40k result.
A quick question @Reza - I heard we can use the Graph API to bypass the MFA pass code screen (this scenario to authenticate users in PAD). Any thoughts on this?
Is it possible to have the Get request be dynamic in that it GETs the Profile info of someone who inputs in a userPrincipalName and the Get Request can get that UPN ?
Hi, I am trying to get the display name of the group owner from graphapi in lable but it says the number passed in is a blank value. However I can see the display name on the monitor.. could you pls help on this
I have not come across the mentioned issue and hence not sure what the fix for your issue is. I recommend posting your issue with screenshots on the forums at powerusers.microsoft.com
Hi Reza, how can I delete premium connectors please? Seems there is one in an app I created, which only shows up when I try to share the app with someone.. I am not able to remove it.. Any suggestions will be much appreciated. Thanks..
Hi Reza, Here I have one question when I checked the list columns in the search schema option my list columns are not available, because of this I am unable to retrieve those columns. What I have to do for retrieve those columns
For that you would have to create managed properties in SharePoint search that map to crawled properties. I will recommend checking documentation on SharePoint search managed properties.
@@RezaDorrani thank you so much.. can you please give more information about retrieve large items details like you mentioned in the video pagination area.
At 21:35, I did follow your other video, but what if I don't have access to Graph API (blocked by my admin). How can I laverage the link to my SP library to upload the file?
@@RezaDorrani So the only choice withouth Graph API, What about if I will granted for the premium Graph API by my admin, will all my powerapps end-users is also required to have the GraphAPI premium?
@@ishareful There is no graph api premium. Its a single endpoint. How you call it makes it premium. I don’t understand that your admin has blocked graph api but you want to call premium graph api? There are always ways to do things. I simply put one option on table in my video.
Hi Reza, I dont see the "Parse JSON and Untyped obects" feature in my powerapps list of "Upcoming Features" window and my authoring version is 3.23084.14. Was there a change made by Microsoft ? Thanks.
@@RezaDorrani - Ok that makes sense, but now I am a getting a Boolean and not "UntypedObject" 😀 did some tests and it looks like this is not an issue if it's a new Canvas App. It fails in older or existing Canvas Apps. Wow.