Forum Discussion
elmirt
Jun 11, 2021Copper Contributor
Add Teams group to Project for the Web with Power Automate
Hello, we are looking for a solution to add a Teams group to a project in "Project for the Web" with a flow. In the web we have just to select the group and click on "Add" like in the screensh...
PatrickGrebe
Feb 25, 2022Copper Contributor
We have now solved the whole thing using an Azure Function (within a Logic App) and corresponding C# code.
We create a team and link it to an AAD group. The team is then assigned the appropriate security role. (https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/org-service/sample-assign-record-new-owner?view=op-9-1)
var projectteam = new Entity("team", Guid.NewGuid());
projectteam["name"] = officeGroupName;
projectteam["businessunitid"] = new EntityReference("businessunit",Guid.Parse("GUID_BUSINESSUNIT_HERE"));
projectteam["azureactivedirectoryobjectid"] = officeGroupId;
projectteam["teamtype"] = 3;
projectteam["membershiptype"] = 0;
projectteam.Id = crmServiceClient.Create(projectteam);
// Add the role to the team.
crmServiceClient.Associate(
"team",
projectteam.Id,
new Relationship("teamroles_association"),
new EntityReferenceCollection() { new EntityReference("role", Guid.Parse("SEC-ROLE-GUID-HERE")) });
We then create the project with the API "msdyn_CreateProjectV1". Here we then set the "ownerid" to the ID of the created team.
project["ownerid"] = new EntityReference("team", Guid.Parse(projectteam.Id.ToString()));
It takes some time until the connection is shown in P4W.
gbartumeu
Feb 25, 2022Brass Contributor
Hello PatrickGrebe,
I use Power Automate to update the ownerid field from the entity msdyn_project with the teamid field located in the entity "Team" but it still does not update this change on Project for the web:
- PatrickGrebeFeb 28, 2022Copper ContributorI haven't tested this with a flow. However, the project creation should take place via an unbound action and the API "msdyn_CreateProjectV1". We do not update the ownerid, but maintain it directly when it is created. Here you can then set the "ownerid" directly to the team. As already mentioned, it takes 15-30 minutes before the connection is shown in P4W.
Important: If the team was newly created, a role must be added to it.- gbartumeuFeb 28, 2022Brass Contributor
Hello PatrickGrebe,
Thanks for your response. As you said, it took a while but now I see the project it's being assigned to the team!
Could you explain me which role and how I must assign it to the Team? Do you refer the "team" entity record or the AAD Group?
Thanks in advance,
- PatrickGrebeFeb 28, 2022Copper ContributorSounds good.
We currently do it like this:
1. Create a Microsoft 365 Group (including a Microsoft Team)
2. Create a new record in the "team(s)" entity (connected to the AAD group created in step 1) (https://XXX.crm4.dynamics.com/api/data/v9.1/teams) .
3. Connect the role (https://XX.crm4.dynamics.com/api/data/v9.1/roles) "Project Team Member" to the team created in step 2.
Also see my code from the previous answer. azureactivedirectoryobjectid equals to the group id created in step 1.