It’s been sometime that I have written a blog. Has been a lot for the past 2 months, personally and professionally and finally I am delighted to pen this down.
Has been working on Dynamics 365 portals lately a lot and thought of sharing some of my experience in user registration and redeeming invitations.
Here is my Dynamics Customer who has set-up D365 portals and want that users should not able to register by themselves. Just for a bit of explanation, when you first time set-up D365 portals, the portals would allow a someone to register using custom identities through the Register Tab. Check for the below screenshot.
As you can see, all a user needs to do is enter an email address, set-up a user name and password and then register. Internally that would create a contact in CRM. Please note that the portal contact at this point of time would not have any roles associated to it and hence they won’t be able to see any authenticated content. However, there is a potential problem that your CRM contacts would be flooded with unwanted registrations.
So we needed to disable that. But how?
The feature is actually called ‘Open Registration’ in D365 portals.
Disable Open Registration in D365 portals
Go to Portals –> Site Settings in CRM
Search for Setting –> Authentication/Registration/OpenRegistrationEnabled and open the record.
Set the value of the setting to false and Save it back.
Now if you clear your cache and open your website in the portals, you would find the option to Register is missing.
Great! We have disabled user self registrations. Now what our customer wanted was to register portal users only through the invitation code. So basically the process is, the CRM administration would send invitation to the contact from the Contact. The contact would receive the invitation email in his/her email and then click on the email to register themselves with the portal.
So let’s see how it should be done. From the above point it is apparent that the email being sent out to the contact is one of the major component in this redeeming process. So let’s go ahead and first check what’s in the email.
Configuring the email to send Invitation:
Go to CRM-> Settings-> Processes
Search for the process – “Send Invitation”
Open the workflow and de-activate it. It should look like below.
Click on the ‘Set Properties’ in the highlighted step in the above email.
Once the email editor opens, just check for the email body. Below is the highlighted email body.
You can actually modify the email as per you needs. However the most important area of the email is setting the value of the URL highlighted above. This should be the same url the user is redirected when he/ she clicks on the ‘Redeem Invitation’ tab.
The url would be in the format – https://<your portal name>/register.
Just copy this URL and paste it in the email body.
Save & Close and activate the workflow.
Now we are at the final step
Sending Invitation to the contact:
Go to the contacts section in CRM and select the contact for which you want to send the invitation and then Click on the ‘Create Invitation’ on the ribbon menu.
You can set the expiry date of the invitation, the associated account for the portal contact on successful redeem.
Save it. Once saved, an invitation code would be automatically generated.
there is one more thing that you can do once a contact successfully register themselves using the invitation code.
You can set the We-roles for the user. I selected ‘Authenticated User’ web-role
Great! So now the invitation should be sent.
Click on Run Workflow from the ribbon and then select the ‘Send Invitation’ workflow we modified.
Once run, the user would get an email with the registration link. Below is the sample user registration link that the portal contact would receive in email.
Clicking on the above link, the portal user would redirected to the redeem page.
As you can see from the below screenshot, the invitation code is automatically inserted in the box.
Clicking on register will take to the next screen where the portal user can choose a login username and password of their choice. However
All set and done and the portal contact is now able to login to the D365 portal.
If we go back to CRM now, you would see the contact is now having an associated Web Role – ‘Authenticated Users’
P.S – > If you do not see the Redeem Invitation tab in your portal, there is some issue in Site settings. Please make sure the below site setting is enabled as true.
For developers/ customizers graduating from ADX 7.0 to D365 portals, in ADX 7.0 the Redeem Invitation tab was enabled using the site setting –> Authentication/Registration/RequiresInvitation
However this setting didn’t work for me in Dynamics Portals and it seems to have been replaced with the Site Setting –> Authentication/Registration/InvitationEnabled
Hope this helps!
For training/ consulting please email at email@example.com
Visit our products page – http://www.xrmforyou.com/products.html