Creating a custom preference center using tags to modify contacts' newsletters subscription. form?

Our Mautic is for both external and internal uses for our organization. We have different newsletter group in Mautic for both external and internal uses however we wanted some newsletter where internal contact cannot unsubscribe from since it work-related newsletter.

We are aware that preference center can hide those newsletter to prevent it from being unsubscribed from but our internal contact are filtered in segment based using tags because we have many different group of ranks within our organization that receives the same newsletters but also receives different newsletters so tags make it easier to maintain what each contact should be receiving or not receiving. @joeyk advised to use tags for this.

With public newsletter, we allow internal contact to either sub or unsub from it however preference center does not give us a way to modify each contact tags and in slack chatroom @rcheesley suggest using form to modify the tags on contact.

Can someone help me out here and give me a rundown on how would I go about creating a form with checkbox of newsletter they can sub or unsub from.

I suppose I will need to use campaign form to update the contact tag but I wanted to form to look like a preference center linked from contact’s email so they can select without having to input their information determined by Mautic based on link in each contact email who they are when selecting checkbox.

Is that doable?

Or should I ask in feature request to include tags in preference center? It would been nice to create a segment that filter other segments but that seems not to be working or doesn’t exist however that would made a mess of segment labels in contact page thou.