Can we let our end users create (group) chats themselves?

This is something you'll need to build and then use our chat engine. You can programmatically create chat rooms (using the JS SDK or using the REST API - https://talkjs.com/docs/Features/Group_Chats/index.html). So you can make a button to create a group chat with particular people, call our API accordingly, and then drop the current user into that chat.