Scoping Form visibility, End User roles, and portals in the B2B context

Hey! My main issue is thankfully pretty small, but it’s also a critical one. It has to do with who can view what forms.

Currently, forms created on Assembly only have 2 options for “Form visibility”:
“All contacts can see the form” and “Contacts can only see the form if you send it to them”
Unlike other things on the portal, like app visibility, you can’t scope it based on user or company attributes. There’s no “Visible to some contacts” option for them.

Why is this an issue?
We’re a company that provides B2B services, and as such our client “Companies” are made up of the company owners/management and also employees. And often employees of different roles. Because of that we have to assign each user a custom “role” attribute so we can scope things like the contracts and billing apps to company owners, which obviously shouldn’t be available to their employees. This has been our solution so far and as far as I know this is the recommended approach in Assembly.

However, the different user types also means that we need to be able to have certain forms available to certain employees that aren’t relevant to other employees. Or forms that the company owners should fill out but shouldn’t be visible to their employees. Our current solution is unfortunately to make most forms available to everyone and the one’s that really can’t be, we can automate to send to the owners. It makes a lot of clutter on the portal user’s end. And also, while this isn’t currently too much of an issue, on a client company level it’s important if we want to make forms that are customized to different client types, or to scope them to certain service lines.

Then lastly, why not just use automations to send scoped forms to individuals? That’s simply because when you “send” a form to someone, it appears on their end as a “request” to fill it out. Most of our form types are ones that portal users can fill out when they need to submit information to us, not just when we need specific information from them. So, “requesting” information from them that they may not, and may never need to fill out would be confusing to an end portal user.

The ideal solution would be to provide scoping options similar to how one can scope app visibility so we can limit based on user tags.

P.S. this should maybe be a separate post but this structural need for different roles also restricts our usage of other things like messaging functionality, or the files app. For instance, we have to hide the messages app from everyone but the company owners as our communication with them shouldn’t be visible to their employees for similar reasons as the contracts and billing apps. So their employees have to email us separately if they have any questions instead of using the built in communication method. Making messaging available on an account basis rather than a company one is a bigger technical ask and is something that we can and have worked around. However, I think I’ve expressed the overarching issue that parts of the system aren’t as optimized for the B2B context as maybe the B2C.

Thanks for your time!