A place to share what I learn with everyone!
Todd BaginskiTodd Baginski

HOW TO: Make a custom connector for PowerApps and Flow that calls the Microsoft Graph API

By Todd Baginski
HOW TO: Make a custom connector for PowerApps and Flow that calls the Microsoft Graph API
[ Updated September 12, 2018 - Changed instructions to create an app registration made through the Azure portal and updated the screens to make the custom connector to match product revisions. ] This post describes how to create a custom connector (API connector) to call the Microsoft Graph API from PowerApps and Flows.  This process is especially helpful to know when you would like to use the MS Graph API from a PowerApp and/or Flow and there is no connector available for the MS Graph API you wish to invoke.

Register an application and specify permissions

The first step is registering an application in the Microsoft Azure Portal.
1. Sign into the https://portal.azure.com with an account that has permissions to make Azure Active Directory applications. 2. In the menu on the left, click Azure Active Directory 3. Click App registrations 4. Click New application registration 5. Enter a Name  Note: Throughout this example, the name IgniteCustomConnector is used. 6. In Application type, select Web app / API 7. In Sign-on URL enter
   https://msmanaged-na.consent.azure-apim.net/redirect
8. Copy the Application ID value 9. Open Notepad or another text editor 10. Paste the Application ID in the text file 11. Save the text file 12. Click Settings 13. Click Keys 14. In the Passwords section enter a key Description 15. Select a value in the Expires drop down list 16. Click Save 17. Copy the key value 18. Open Notepad or another text editor 19. Paste the key value in the text file 20. Save the text file 21. Click Required permissions 22. Click Add 23. Click Select an API 24. Select Microsoft Graph 25. Click Select
The next step is granting the delegated permissions your application needs to interact with the MS Graph API.
In this example we need the Read directory data (Directory.Read.All) and the Read all groups (Group.Read.All) delegated permissions. 26. In the DELEGATED PERMISSIONS section, select the check boxes next to Read directory data and Read all groups. 27. Click Select 28. Click Done Note: When developing your own apps, make sure you add the permissions your application needs to perform other operations with the MS Graph API.

Generate Swagger File

The API you use in the custom connector is described in JSON format.
1. Open Postman 2. Click Collections 3. Click the new collection button 4. In the Name textbox, enter a name for the collection Note: In this example, the name IgniteDemo is used. 5. Click Create The collection bundles all of the Graph API calls we wish to make available in the custom connector. 6. In the Get textbox, enter the URL of the Graph API you wish to invoke In this example, we are calling two different Graph APIs so we enter each URL one at a time and save it to the collection. Return the members of an AAD Group:
https://graph.microsoft.com/v1.0/groups/:groupId/members
Return the tasks in a bucket in a Microsoft Planner plan
 https://graph.microsoft.com/v1.0/planner/buckets/:bucketId/tasks
Notice the path parameter is in the ‘:groupId’ format 7. Click the Save button 8. In the Save to existing collection / folder dropdown list, select the collection you created 9. Click Save 10. To add another MS Graph API call, click the + button, then repeat the steps to add the URL and save it to the collection Here you can see both of the example MS Graph API calls we are making in Postman. 11. Click the ellipses button for the collection you created and select Export 12. Select the Collection V1 radio button 13. Click Export 14. Select a folder on your computer 15. Click Save

Create custom connector

1. In a web browser, open the PowerApps web app in Office 365
 https://web.powerapps.com
2. Click Data, then click Custom Connectors 3. Click Manage custom connectors 4. Click the + Create custom connector button 5. Select Import a Postman collection 6. Click the folder button 7. Select the JSON file you exported from Postman 8. Click Open 9. Enter the custom connector name Note: In this example, the name IgniteCustomConnector is used. 10. Click Continue 11. Click Security 12. In the Choose what authentication is implemented by your API dropdown list, select OAuth 2.0 13. In the OAuth 2.0 section, in the Identity Provider dropdown list, select Azure Active Directory (Outlook works too) 14. In the Client id text box, enter the Application Id you saved to Notepad 15. In the Client Secret text box, enter the Key value you saved to Notepad 16. In the Scope text box, enter the permissions you configured when you made the application (Directory.Read.All, Group.Read.All) 17. In the Resource URL text box, enter https://graph.microsoft.com 18. Click Definition 14. Change the Operation Id to a valid name format. In this case, we use GetMembers and GetTasks 15. Click Create connector 16. Click the Test tab 17. Click New connection 18. Click Create 19. Sign in to your Office 365 account Note: the account you use must be an admin account 20. Click Accept Note: if you get this error in this step, please check the redirect URL of the application is configured right. 21. After the connection is added, navigate to the Test step again 22. Select the connection you just created 23. Test each operation you created, then copy the Response Body and save each Response body to a separate text file For more information about the parameters, see this document. https://developer.microsoft.com/en-us/graph/docs/concepts/overview
Testing the GetMembers operation
Note: Make sure the result is not empty.
Testing the GetTasks operation
Note: Make sure the result is not empty. 24. In Definition tab, scroll to Response section 25. Click Add default response, then paste in the corresponding Response Body you saved in the text files into the Body textbox.  Do this for both of the actions. 26. Click Import 27. Click Update Connector The Custom Connector for Microsoft Graph is now ready to use!

Add the custom connector to a PowerApp and test

These steps describe how to configure a connection with custom connector in a PowerApp. This PowerApp will list the members of an AAD Group.
1. Create a new PowerApp by clicking the New app button 2. Select the Blank app with Phone layout 3. Select Insert on top navbar 4. Click Gallery 5. Select Vertical to add a gallery control 6. Select the gallery control 7. Click the dropdown arrow in the Gallery1 options 8. Click the Add a data source button 9. Select the connection for the custom connector 10. Modify the Items attribute of the gallery to use .GetMembers(“GROUP ID”).value 11. Replace the  with the name of the data connection 12. Replace the GROUP ID with your own AAD Group Id 13. Change the layout of the gallery to Title and subtitle, then select mail in Subtitle2 and select displayName in Title2 14. Click Run on top navbar, the list of users is shown in the gallery

Add the custom connector to a Flow and test

These steps describe how to configure a connection with a custom connector in a Flow. This Flow will list the members of an AAD Group.
1. Navigate to https://flow.microsoft.com 2. Click My flows 3. Click Create from Blank 4. Click Create from Blank again 5. Create a Schedule – Recurrence trigger, and configure it like this 6. Click New Step 7. Click Add an action 8. In the search textbox enter Ignite 9. Click IgniteCustomConnector – Get Members 9. In the groupId textbox enter your own AAD GroupId 10. Click the ellipses for the action that returns the group members 11. Click Rename 12. Enter Get Members 13. In the Flow name enter Test Graph API 14. Click Save 15. Click the back arrow 16. Click More > Run now in the Flow detail page 17. Click Run flow in popup window 18. Click See flow run activity 19. Click the last entry in the Flow run log 20. Click the Get Members action to expand it 21. Scroll through the output of the GetMembers action to see the AAD Group members

Related Posts

17-Time Microsoft MVP

Microsoft Most Valuable Professional

5-Time Microsoft Fast Track Recognized Solution Architect (FTRSA)

Microsoft FastTrack Recognized Solution Architect
© 2026 Todd Baginski's Blog. All Rights Reserved.