[Solved] Manual user creation?

We want to migrate from Slack to Mattermost, so we are testing the system.

We installed the server and some test users are on, and we now want to migrate the history to see how it looks migrated before we start building the production instance.

To do that we need to migrate not just the active users’ messages, but also inactive ones’, so we can’t really count on those users to register via invite link. I need some way to create them manually with their old email address (which might not even be operational anymore) so that migration of their messages can happen.

But I can’t seem to find the “Create Account” button anywhere. How can I accomplish this?

Note: user creation is enabled in config.json

Hi mmix and welcome to the Mattermost forums!

Unfortunately there’s really no “Create User” button in the system console - not sure why, but depending on the amount of users you need to create, you can either script your way through that with the mmctl command (that’s a command line client for Mattermost) or you can click on your team and get the invite link, which you can then open in a new browser to register with the e-mail address in question. It’s not necessary to validate the e-mail addresses, you can force that later on in the database or by using mmctl, but you might want to look at the mmctl approach directly, because it allows you to bulk add and force validate the e-mail addresses.

mmctl is part of the Mattermost server distribution but can also be downloaded independently, but if you have SSH access to your Mattermost server I suggest to enable the LocalMode setting in your config.json (Section ServiceSettings) and restart the server to activate that change.
Theny ou can use mmctl without additional authentication directly on the server:

# /opt/mattermost/bin/mmctl --local user create --help
Create a user

Usage:
  mmctl user create [flags]

Examples:
  # You can create a user
  $ mmctl user create --email user@example.com --username userexample --password Password1

  # You can define optional fields like first name, last name and nick name too
  $ mmctl user create --email user@example.com --username userexample --password Password1 --firstname User --lastname Example --nickname userex

  # Also you can create the user as system administrator
  $ mmctl user create --email user@example.com --username userexample --password Password1 --system-admin

  # Finally you can verify user on creation if you have enough permissions
  $ mmctl user create --email user@example.com --username userexample --password Password1 --system-admin --email-verified