

$objectTypeCode, #atName: Name of the Access Team Template $atName, #accessRights: Number which represents the access rights defined for the template. Param ( #objectTypeCode: Unique Code that identifies the table in the environment for the Access Team Template. The solution we opted for was a PowerShell script, leveraging the very excellent module. Due to the limitations outlined above, we needed an alternate solution to straightforwardly import a single Access Team Template within an Azure Pipeline deployment step. Most crucially, we wanted to retain the Globally Unique Identifier (GUID) value to support some integrations that we had built out. One of the above gotchas hit us quickly: the inability to migrate Access Team Templates across environments.

😉Īs part of a recent project, we were actively using Access Team Templates. When you’re considering using them, keep these in mind to avoid any potential annoyance further down the road. It’s also impossible to include templates as part of a solution or migrate them easily using methods such as the Configuration Migration tool. In addition, each table type is limited to a maximum of two access team templates. Depending on the number of rows in your system, you could end up with many thousands of different Access Teams setup, all of which required a degree of administration. Access Team Templates are a powerful feature but do come with some baggage and gotchas. This is achieved by enrolling each user into a unique team created for each row, which grants the permission set defined as part of the template. For situations where you have more unusual access requirements for a particular table type, they provide a flexible mechanism of allowing a specific group of users to have a set of access permissions targeting one row but a completely different set for another.


Access Team Templates is a feature that has been available within the Microsoft Dataverse / the Dynamics 365 Customer Engagement applications for many years now, but one which I don’t think is actively used (at least, based on the projects I’ve been involved in).
