Messaging App

I’m almost done developing a messaging app extension for my company. I had some questions about the proper way to install this for the users in the company.

  1. At the moment, only admin users can install my app because only they have the necessary privileges to register channels via Channels API. How can I set up an inbox for a non-admin user?
  2. When I test my current app with multiple users, every user is able to see everyone else’s chats along with their own chats. I don’t want this to be the case – I want to confine every user to their channel unless a conversation is assigned to them.
  3. I cannot manage the private/shared setting of my app extension. It says I should contact the marketplace team – is this feature not available for non-public apps?
  4. Is there a an API endpoint to assign conversations to users? I want to automate this process as much as possible.

Thanks in advance.