Generating user accounts
How to generate user accounts and passwords on Synap
When you know the names and emails of your users, generating accounts for them is the best option because you do not need to wait for users to do anything before the accounts are created. This allows you to:
Generate linked exam and assignment attempts
Manage / correct details immediately
Add them to secondary groups before notifying users, if needed
✋ Before you start
Make sure you have a group set up you want to generate users into
Check the content assigned to that group is correct as users will have access right away
Decide on how to handle passwords (will you ask your users to reset or will you give them their passwords separately)
Decide whether you want your users to get a welcome email or not.
Check your portal's user attributes (more here), as you will need to include attributes marked as 'required at registration' on your import sheet
If you're importing, get your import template from the group's import page. This will include your attribute headers.
Generate single account
You can generate an account for a single user directly on the platform. Select the Generate single account button on the Generate accounts tab. This opens a modal where you can enter all values for the user. Once you have entered these details, scroll to the bottom of the modal and click Generate account.
You will get an error if you try to generate an account for an existing user with this method.

Generate via csv
You can generate multiple user accounts at once by entering their emails and names into a CSV and importing it on the Generate Accounts tab.
If there are existing users in the CSV who are not in the group, they will be added to the group. Their attributes will also be updated, as will those of existing users who are already in the group.
You can use this method to bulk update existing users' attributes
Fields for generating accounts
name = required
email = required
externalId = optional. Can be used for something like a student ID
language = optional. See language codes below
Language codes
en
English
en-GB
English (United Kingdom)
de-DE
German (Germany)
el-GR
Greek (Greece)
es-ES
Spanish (Spain)
fr-FR
French (France)
it-IT
Italian (Italy)
nl-NL
Dutch (Netherlands)
pt-BR
Portuguese (Brazil)
pt-PT
Portuguese (Portugal)
zh-CN
Chinese (Simplified, China)
nb-NO
Norwegian Bokmål (Norway)
sl-SI
Slovenian (Slovenia)
ar-SA
Arabic (Saudi Arabia)
th-TH
Thai (Thailand)
hr-HR
Croatian (Croatia)
ru-RU
Russian (Russia)
id-ID
Indonesian (Indonesia)
lv-LV
Latvian (Latvia)
et-EE
Estonian (Estonia)
sq-AL
Albanian (Albania)
cy-GB
Welsh (United Kingdom)
vi-VN
Vietnamese (Vietnam)
timezone = optional. See format below
Time zones
Africa/Abidjan
UTC+00:00
Africa/Accra
UTC+00:00
Africa/Addis_Ababa
UTC+03:00
Africa/Algiers
UTC+01:00
Africa/Asmara
UTC+03:00
Africa/Bamako
UTC+00:00
Africa/Bangui
UTC+01:00
Africa/Banjul
UTC+00:00
Africa/Bissau
UTC+00:00
Africa/Blantyre
UTC+02:00
Africa/Brazzaville
UTC+01:00
Africa/Bujumbura
UTC+02:00
Africa/Cairo
UTC+02:00
Africa/Casablanca
UTC+01:00
Africa/Ceuta
UTC+01:00
Africa/Conakry
UTC+00:00
Africa/Dakar
UTC+00:00
Africa/Dar_es_Salaam
UTC+03:00
Africa/Djibouti
UTC+03:00
Africa/Douala
UTC+01:00
Africa/El_Aaiun
UTC+01:00
Africa/Freetown
UTC+00:00
Africa/Gaborone
UTC+02:00
Africa/Harare
UTC+02:00
Africa/Johannesburg
UTC+02:00
Africa/Juba
UTC+02:00
Africa/Kampala
UTC+03:00
Africa/Khartoum
UTC+02:00
Africa/Kigali
UTC+02:00
Africa/Kinshasa
UTC+01:00
Africa/Lagos
UTC+01:00
Africa/Libreville
UTC+01:00
Africa/Lome
UTC+00:00
Africa/Luanda
UTC+01:00
Africa/Lubumbashi
UTC+02:00
Africa/Lusaka
UTC+02:00
Africa/Malabo
UTC+01:00
Africa/Maputo
UTC+02:00
Africa/Maseru
UTC+02:00
Africa/Mbabane
UTC+02:00
Africa/Mogadishu
UTC+03:00
Africa/Monrovia
UTC+00:00
Africa/Nairobi
UTC+03:00
Africa/Ndjamena
UTC+01:00
Africa/Niamey
UTC+01:00
Africa/Nouakchott
UTC+00:00
Africa/Ouagadougou
UTC+00:00
Africa/Porto-Novo
UTC+01:00
Africa/Sao_Tome
UTC+00:00
Africa/Tripoli
UTC+02:00
Africa/Tunis
UTC+01:00
Africa/Windhoek
UTC+02:00
extraTimeMultiplier = optional. Used to give a user additional time on each attempt generated for them.
password = If you want to give these users a known password, include a password column in the CSV. Passwords must be at least 8 characters long, with at least one uppercase letter, one lowercase letter, and one number. If not provided or left blank, a password will be generated for the user and sent to you by email.
attributes = may be required on registration. If you have custom user attributes in your portal, you can add the ID of an attribute as a header in the CSV.
📧 Disable welcome emails
For either option, welcome emails can be disabled. This is recommended if you are generating accounts for use in test centres or for high-stakes exams, and you want to hand out passwords manually.

🧍♂️ Generating a single account
In a user group, go to Manage > Import users > Generate account.

From here, you will get a pop-up modal to fill in all account details, including name, email, and password, which are all required. If you disable the welcome email, you must provide values for any attributes that are required on registration. Go to Settings > Data Management > User attributes to see which attributes are required on your platform.

Once you have entered all the information, click Generate. The user account will be created and appear in the group's users table. Be aware that if the group has any content with automated emails enabled, the new user will receive those automatically.
Bulk generating accounts
You can create a CSV with multiple accounts and passwords you want to generate. You must use different passwords for each user on your sheet. Go to the group you want to generate users in, then go to Manage > Import users > Download CSV template > Generate accounts. The template you download will be customised based on the attributes on your portal. Your attribute values must be formatted correctly, and any attributes set as required on registration must have values for each user row in the correct format.

You can include existing users on the same sheet as new users. They will be added to the group, and if they have new attributes in the CSV, those will be applied.
Attribute types and required CSV format
Checkbox
TRUE or FALSE
Long answer
string
Short answer
string
Multiple choice
One of defined options
Checkboxes
defined options separated by commas
Number
Any numerical value
Date
DD/MM/YYYY
Link
Choose whether to display as text or as a button. The link can be typed as an absolute URL (opens in new tab), or a root-relative URL (open in the same tab)
password
Must be at least 8 characters long, with at least one upper case letter, one lower case letter and one number. And unique for each row.
timezone
Enter the user’s time zone using a valid IANA time zone identifier (e.g. Europe/London, Africa/Accra, America/New_York). This determines how dates and times are displayed for the user. Must match a supported tz database value exactly.
Format your sheet carefully, making sure each row includes all required information. In the example below, the sheet has been colour-coded. The default required fields — name, email, and password — are highlighted in yellow. Two attributes required at registration are shown in red. Optional attributes are shown in green, and some of these are left blank.

From here, save the sheet as a CSV and upload it to the platform. If there are any formatting errors, you will be notified and the upload will not run for any users.

Once your accounts have been generated, you will be sent a summary sheet confirming the passwords and other information created for each user. Double-check this to make sure all information is correct.

🚨 Remember that users can change their passwords at any time, so your record of a user's initial password may not always be their current password.
Timezones
Users without a timezone set will get one when they log in or use the platform, based on their browser's timezone. Users without a timezone set who have never used the platform will be given the portal-level timezone set by admins in portal settings.
To generate or invite users with a preset timezone, use the timezone field. The timezone field must use a valid IANA (tz database) time zone identifier, formatted as Region/City.
Examples:
Europe/LondonAfrica/AccraAmerica/New_YorkAsia/Singapore
Timezone values are case-sensitive and must match the official IANA tz database names exactly. Abbreviations such as GMT, BST, or EST are not supported.
Last updated
Was this helpful?