{"id":8206,"date":"2021-02-28T10:30:51","date_gmt":"2021-02-28T18:30:51","guid":{"rendered":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/power-apps\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/"},"modified":"2025-06-11T07:55:29","modified_gmt":"2025-06-11T14:55:29","slug":"on-boarding-user-external-user-to-tenant-through-powerapps-portal","status":"publish","type":"post","link":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/power-apps\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/","title":{"rendered":"User on boarding Walkthrough: Power Apps Portal way"},"content":{"rendered":"<p>On boarding users to a tenant have always been a challenge. Various solutions exist in the market and needs to be customized as per business processes.\u00a0 Customizing will add to the problem of maintenance of Code.<\/p>\n<p>In the blog, we are going to cover &#8220;<strong>No Code Solution<\/strong>&#8221; Design. Covering up on the aspects of inviting a new user or an external user to a Tenant and providing seamless onboarding of external user to the PowerApps Portal.<\/p>\n<p>Walkthrough of the post will help you to perform below operations which can be leveraged in most of the user on boarding scenarios.<\/p>\n<ol>\n<li>Add external user to a Tenant.<\/li>\n<li>Add external user to the Customer Power Apps Portal.<\/li>\n<li>Send invitation emails to the end user.<\/li>\n<\/ol>\n<h3>Setup<\/h3>\n<p>let us configure the entities, flows and PowerApps Portal for seamless on boarding of the user.<\/p>\n<h4>Create Entity to Track Request<\/h4>\n<p>We will have custom entity called UserOnBoardingRequest entity with fields first name, last name, Email Address and Invite Status.<\/p>\n<p>Invite status is an option set with values Queued, Pending Acceptance, Accepted or Rejected Status.<\/p>\n<p>We will have form in Power\u00a0Apps Portal to add record for UserOnBoardingRequest entity. UserOnBoardingRequest entity will be leveraged to keep track of users onboarded through the Power\u00a0Apps Portal,<\/p>\n<h4>Create Flows<\/h4>\n<p>For Onboarding user to Azure AD tenant we need to create below flows.<\/p>\n<ol>\n<li>Triggered flow \u201cWhen a User On Boarding Record is updated -&gt; Send User Invitation\u201d<\/li>\n<li>Scheduled flow \u201cRecurrence Pending Acceptance Check -&gt; List records\u201d<\/li>\n<\/ol>\n<h4>Flow 1 : \u201cWhen a User On Boarding Record is updated -&gt; Send User Invitation\u201d<\/h4>\n<p>Flow gets triggered on an update for the invitation status field on UserOnBoardingRequest entity.<\/p>\n<p>Operations performed by the flow are.<\/p>\n<ol>\n<li>Check if user exists and already onboarded, if already onboarded, update the request status to Accepted state.<\/li>\n<li>If User does not exist in the Azure Active Directory, flow sends out Azure Active Directory invite request.<\/li>\n<\/ol>\n<p>let us configure a New flow triggered for updates done to the UserOnBoardingRequest entity specifically on invitation status field as below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone wp-image-8330 size-full\" height=\"274\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png\" width=\"564\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/cds-recrod-create.webp 564w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/cds-recrod-create-300x146.webp 300w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><b><\/b><i><\/i><u><\/u><\/p>\n<p>Let\u2019s Create a http request action &#8220;Fetch User Information&#8221; to check if user exists by leveraging Microsoft Graph.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone wp-image-8332 size-full\" height=\"339\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/check-invite-status.png\" width=\"565\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/check-invite-status.webp 565w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/check-invite-status-300x180.webp 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/p>\n<p>the output of the action will be the status of the user invite and can be accessed by externalUserState property.<\/p>\n<p>Check the externalUserState response value to see if user accepted the Guest invite, if yes update the request to the Acceptance state.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone wp-image-8331 size-full\" height=\"369\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/check-if-invite-status-is-accepted.png\" width=\"1261\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/check-if-invite-status-is-accepted.webp 1261w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/check-if-invite-status-is-accepted-300x88.webp 300w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/check-if-invite-status-is-accepted-1024x300.webp 1024w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/check-if-invite-status-is-accepted-768x225.webp 768w\" sizes=\"auto, (max-width: 1261px) 100vw, 1261px\" \/><\/p>\n<p>If user has not accepted the invite, we will have HttpRequest action &#8220;Send Invitation&#8221; which will send invite to the guest user email address.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone wp-image-8336 size-full\" height=\"436\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/send-invite.png\" width=\"567\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/send-invite.webp 567w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/send-invite-300x231.webp 300w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><\/p>\n<p>Here the Microsoft Graph API accepts parameters, the display name which is combination of first and last name, email address and redirect URL as well. On successful invite, AAD will mark the Guest user state to &#8220;PendingAcceptance&#8221;.<\/p>\n<h4>Flow 2 : \u201cRecurrence Pending Acceptance Check -&gt; List records\u201d<\/h4>\n<p>A recurrent flow, checks for requests in pending acceptance status and\u00a0 performs Microsoft Graph API call to check if user is Accepted or Rejected state. Accordingly the request is updated to the Accepted or Rejected state.<\/p>\n<p>Create a Recurrence flow running at intervals of 30 minute.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone wp-image-8335 size-full\" height=\"217\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/recurrence.png\" width=\"568\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/recurrence.webp 568w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/recurrence-300x115.webp 300w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><\/p>\n<p>Fetch all the request that are in pending acceptance check.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone wp-image-8334 size-full\" height=\"99\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/fetch-cds-record.png\" width=\"633\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/fetch-cds-record.webp 633w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/fetch-cds-record-300x47.webp 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><\/p>\n<p>for each of the request check the status of guest invite status by performing graph call.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone wp-image-8332 size-full\" height=\"339\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/check-invite-status.png\" width=\"565\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/check-invite-status.webp 565w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/check-invite-status-300x180.webp 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/p>\n<p>Check the response externalUserState if Accepted go ahead and create a contact record with the first name, last name and email address to provision user for customer Portal.<\/p>\n<h4>Setup Site Settings in the Customer Power\u00a0Apps Portal<\/h4>\n<p>In the Customer Power\u00a0Apps Portal setting, set site setting AllowContactMappingWithEmail value to true. This allows a staff member to register on the Portal using Azure AD and be connected to an existing contact record.<\/p>\n<h3>Execution<\/h3>\n<p>We will have form in Power\u00a0Apps Portal to add record for User \u00a0 \u00a0\u00a0 OnBoardingRequest<\/p>\n<ol>\n<li>Existing or admin User will create a UserOnBoardingRequest record by filling up first name, last name and email address.\u00a0<img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone wp-image-8333 size-full\" height=\"291\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/create-request.png\" width=\"1112\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/create-request.webp 1112w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/create-request-300x79.webp 300w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/create-request-1024x268.webp 1024w, https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/02\/create-request-768x201.webp 768w\" sizes=\"auto, (max-width: 1112px) 100vw, 1112px\" \/><\/li>\n<li>User clicks submit, Guest Invitation email is sent.<\/li>\n<\/ol>\n<p>New user will accept the guest invite with mentioned email address and gets\u00a0provisioned to the Customer Portal.<\/p>\n<p>\u00a0<\/p>\n<h3>Summary<\/h3>\n<p>Overall we learnt in the blog post &#8220;A Complete No Code Solution&#8221; , pretty easy to on board users to a tenant using custom Power\u00a0Apps Portal and leveraging the power of Power Automate to perform complex Microsoft Graph API User requests. The Blog steps can be modified to achieve additional functionality for implementing of organizational process.<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On boarding users to a tenant have always been a challenge. Various solutions exist in the market and needs to be customized as per business processes.\u00a0 Customizing will add to the problem of maintenance of Code.<\/p>\n<p>In the blog, we are going to cover &#8220;No Code Solution&#8221; Design. Covering up on the aspects of inviting a new user or an external user to a Tenant and providing seamless onboarding of external user to the PowerApps Portal.<\/p>\n","protected":false},"author":199,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","ms-ems-related-posts":[],"footnotes":""},"audience":[3378],"content-type":[3423],"job-role":[],"product":[3473],"property":[],"topic":[3421],"coauthors":[2204],"class_list":["post-8206","post","type-post","status-publish","format-standard","hentry","audience-it-professional","content-type-tips-and-guides","product-power-apps","topic-application-modernization"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>User on boarding Walkthrough: Power Apps Portal way - Microsoft Power Platform Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"User on boarding Walkthrough: Power Apps Portal way - Microsoft Power Platform Blog\" \/>\n<meta property=\"og:description\" content=\"On boarding users to a tenant have always been a challenge. Various solutions exist in the market and needs to be customized as per business processes.\u00a0 Customizing will add to the problem of maintenance of Code. In the blog, we are going to cover &quot;No Code Solution&quot; Design. Covering up on the aspects of inviting a new user or an external user to a Tenant and providing seamless onboarding of external user to the PowerApps Portal.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/power-apps\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Power Platform Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-28T18:30:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T14:55:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png\" \/>\n\t<meta property=\"og:image:width\" content=\"564\" \/>\n\t<meta property=\"og:image:height\" content=\"274\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Syed\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Syed\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/\"},\"author\":[{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/author\/syamrull\/\",\"@type\":\"Person\",\"@name\":\"Syed\"}],\"headline\":\"User on boarding Walkthrough: Power Apps Portal way\",\"datePublished\":\"2021-02-28T18:30:51+00:00\",\"dateModified\":\"2025-06-11T14:55:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/\"},\"wordCount\":736,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png\",\"keywords\":[\"Dataverse\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/\",\"name\":\"User on boarding Walkthrough: Power Apps Portal way - Microsoft Power Platform Blog\",\"isPartOf\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png\",\"datePublished\":\"2021-02-28T18:30:51+00:00\",\"dateModified\":\"2025-06-11T14:55:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#primaryimage\",\"url\":\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png\",\"contentUrl\":\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"User on boarding Walkthrough: Power Apps Portal way\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#website\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/\",\"name\":\"Microsoft Power Platform Blog\",\"description\":\"Innovate with Business Apps\",\"publisher\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#organization\",\"name\":\"Microsoft Power Platform Blog\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"contentUrl\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"width\":194,\"height\":145,\"caption\":\"Microsoft Power Platform Blog\"},\"image\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/person\/8b1720f88b704f1e4d3c7983e5d21460\",\"name\":\"Syed\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/ffaea72bb18e7f2f707dee70ab99ba05ccc3926d321eb931ecc426591dd68587?s=96&d=mm&r=gbda0ceb8c36bdb5ddf32ada31a8af0ce\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ffaea72bb18e7f2f707dee70ab99ba05ccc3926d321eb931ecc426591dd68587?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ffaea72bb18e7f2f707dee70ab99ba05ccc3926d321eb931ecc426591dd68587?s=96&d=mm&r=g\",\"caption\":\"Syed\"},\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/author\/syamrull\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"User on boarding Walkthrough: Power Apps Portal way - Microsoft Power Platform Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/","og_locale":"en_US","og_type":"article","og_title":"User on boarding Walkthrough: Power Apps Portal way - Microsoft Power Platform Blog","og_description":"On boarding users to a tenant have always been a challenge. Various solutions exist in the market and needs to be customized as per business processes.\u00a0 Customizing will add to the problem of maintenance of Code. In the blog, we are going to cover \"No Code Solution\" Design. Covering up on the aspects of inviting a new user or an external user to a Tenant and providing seamless onboarding of external user to the PowerApps Portal.","og_url":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/power-apps\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/","og_site_name":"Microsoft Power Platform Blog","article_published_time":"2021-02-28T18:30:51+00:00","article_modified_time":"2025-06-11T14:55:29+00:00","og_image":[{"width":564,"height":274,"url":"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png","type":"image\/png"}],"author":"Syed","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Syed","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#article","isPartOf":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/"},"author":[{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/author\/syamrull\/","@type":"Person","@name":"Syed"}],"headline":"User on boarding Walkthrough: Power Apps Portal way","datePublished":"2021-02-28T18:30:51+00:00","dateModified":"2025-06-11T14:55:29+00:00","mainEntityOfPage":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/"},"wordCount":736,"commentCount":0,"publisher":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#organization"},"image":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#primaryimage"},"thumbnailUrl":"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png","keywords":["Dataverse"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/","name":"User on boarding Walkthrough: Power Apps Portal way - Microsoft Power Platform Blog","isPartOf":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#primaryimage"},"image":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#primaryimage"},"thumbnailUrl":"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png","datePublished":"2021-02-28T18:30:51+00:00","dateModified":"2025-06-11T14:55:29+00:00","breadcrumb":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#primaryimage","url":"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png","contentUrl":"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2020\/02\/cds-recrod-create.png"},{"@type":"BreadcrumbList","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/2021\/02\/28\/on-boarding-user-external-user-to-tenant-through-powerapps-portal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/"},{"@type":"ListItem","position":2,"name":"User on boarding Walkthrough: Power Apps Portal way"}]},{"@type":"WebSite","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#website","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/","name":"Microsoft Power Platform Blog","description":"Innovate with Business Apps","publisher":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#organization","name":"Microsoft Power Platform Blog","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","contentUrl":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","width":194,"height":145,"caption":"Microsoft Power Platform Blog"},"image":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/person\/8b1720f88b704f1e4d3c7983e5d21460","name":"Syed","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ffaea72bb18e7f2f707dee70ab99ba05ccc3926d321eb931ecc426591dd68587?s=96&d=mm&r=gbda0ceb8c36bdb5ddf32ada31a8af0ce","url":"https:\/\/secure.gravatar.com\/avatar\/ffaea72bb18e7f2f707dee70ab99ba05ccc3926d321eb931ecc426591dd68587?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ffaea72bb18e7f2f707dee70ab99ba05ccc3926d321eb931ecc426591dd68587?s=96&d=mm&r=g","caption":"Syed"},"url":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/author\/syamrull\/"}]}},"bloginabox_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Power Platform Blog","distributor_original_site_url":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/8206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/comments?post=8206"}],"version-history":[{"count":1,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/8206\/revisions"}],"predecessor-version":[{"id":130433,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/8206\/revisions\/130433"}],"wp:attachment":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media?parent=8206"}],"wp:term":[{"taxonomy":"audience","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/audience?post=8206"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/content-type?post=8206"},{"taxonomy":"job-role","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/job-role?post=8206"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/product?post=8206"},{"taxonomy":"property","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/property?post=8206"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/topic?post=8206"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/coauthors?post=8206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}