Anyone have an clean UX for user assignments?

Our app contains a standard CRM functions for “People” management. Internal team “People” can be assigned to “Groups” via a junctional “Group Membership”. Similarly, team “People” can be assigned to many different “Projects” and “Tasks” via junctional “Assignments” table. From a relational data perspective, it’s all very clean and granular, but from a UX perspective it’s not as straight forward for the user because they are interacting with junctional records rather than just field editing in the primary record. Consequently, when creating a junctional record they have to define both the “Person” and the “Project” or the “Person” and the “Task” in a single junctional record creation. I have not found a way to pass the “Project” or “Task” half of the equation as hidden data with current action buttons.

Has anyone created a clean user experience in which a user can select a “Person” from the CRM to assign directly to a “Project” or “Task” and have the creation/deletion of the junctional record happen in the background? To take it a step further, the user would also be limited to only selecting “People” filtered by various “Group Assignments”

Of note, while I understand Airtable allows many-to-many relationships and we could theoretically directly connect “People” to “Projects” and “Tasks” I’m not overly keen on this from a data hygiene/scalability perspective.

Curious if anyone has some solid guidance here.