SYNC: Extended-people

When importing data to Silverbucket it is vital to keep the structure identical to the example datasheet to ensure a flawless import:

- First row contains the names of the headers - it is not necessary to edit the first row.
Second row in your file is where your data starts to get imported
Columns need to be in the same exact order as in the examples
- Rows after the default structure's last column are never read / handled when importing
Never have hidden columns in your data sheets

What data is this integration used for
- People with extended data: first name, last name, email, default role, supervisor, username, external ID, user rights, external/own, organizationNodeCode, organizationNodeName, workday length, UI language, cost price, hourly rate, usergroup (10 max)

All the metadata added can be found from the added Person's Dashboard afterwards. This metadata can be used to filter your users in various manners in Silverbucket and with this integration you can add a multitude of users at once with the correct rights and information.

Integration's data fields
col. A
B
C
D
E
F
G
Person's First name
Person's Last name
E-mail
Default Role
Person's Supervisor
Username
External ID
col. H
I
J
K
L
Give 'Admin' rights for person? Y/N
Give 'Full Access' rights for person? Y/N
Is the person an external user? Y/N
Code of the organizationNode the person is in
Name of the organizationNode the person is in

col. M
N
O
P
Q
Workday Length (format: 7,5)
User's UI language (format: EN, FI, SWE)
Cost Price
Forecast Price
Site Code


col. R
S
T
U
V-AE
Site Name
Person's Country
(ISO format: FI)
Cost Center Code
Cost Center Name
UserGroups

The example file in the screenshot will integrate / create the following:

1) A person called 'Adam Adamson' with the following metadata:

role = HR Representative
supervisor =  boss@email.com  (seeks for a user with this email from Silverbucket. In this example  boss@email.com  was already added and therefore added as the person's supervisor.)
username = Adamson.adam
external ID = XYZ123
user type = admin (column H has the value 'Yes')
employment type = Own (column J has the value 'No')
organization = [HR] Human Resources
workday length = 7,5h
user's language = English
cost price = 40€ (currency = your Silverbucket's default currency)
forecast price = 50€ (currency = your Silverbucket's default currency)
user groups = HR1 & HR2

2) A person called 'worker' with the following metadata:

email =  worker@work.com  (the email prefix is where the person's name "worker" comes from)
role = Subcontractor
supervisor =  extBoss@email.com  (seeks for a user with this email from Silverbucket. In this example  extBoss@email.com  wasn't created before the import and therefore this cell was not handled at all; the person gets no supervisor.)
external ID = EXT_009
user type = Basic User (columns H & I are empty so their value is 'No')
employment type = External (column J has the value 'Yes)
organization = [EXT1] Externals
cost price = 50€
forecast price = 50€

3) A person called 'Peter Peterson' with the following metadata:

role = 2nd Line Support
supervisor =  adam@email.com  (added in the same file as row1, therefore the supervisor is found in the system and added as the person's supervisor)
username = Peterson.peter
external ID = XYZ400
user type = Full Rights (column H = 'No' & column I = 'Yes')
employment type = Own (column J has the value 'No')
organization = [TRE1] Tampere_1
workday length = 8,0h
user's language = Finnish
user groups = TRE1

Rules & basic principles of this integration
Silverbucket matches rows to Silverbucket's data case-sensitively ("SilverBucket_Support" is not considered the same as "silverbucket_support").
However, matching email fields is done case-insensitively (" Support@Silverbucket.Com " is considered the same as " support@silverbucket.com " when creating a user, for example)
- Username is generated from email if it's given. For example " foo.bar@silverbucket.com " -> username will be " foo.bar "
- If email is missing, username will be created from first name + last name. For example "Foo Bar" -> username will be " foo.bar "
- If first name is missing the integration uses last name
- If last name is missing the integration uses first name
- If none of these are given random series of numbers are generated

- Organization nodes are created if they don't yet exist in Silverbucket. Organization nodes are matched/identified by code and name.

- Default role will be set to default role if it's not given on the integration data. You can check your default role from the  admin panel 's Roles tab

- New roles are created if role with the given name is not found from Silverbucket.

- New users are added with default values of the environment. Defaults:
Currency = EUR
Start date = Today (date if importing)
UI Language = English

- Users' information that are already found in Silverbucket will be updated
-> email is used to identify and match user accounts

- New usergroups will be created if they are missing. Matched by name.

- If supervisor with given email is not found, a new user will not be created with the email

If the data structure was correct, you can see the outcome in Silverbucket right after the upload. You can check this by navigating to any of your personnels' dashboards. In this example we have navigated to Adam Adamson's dashboard:


extended_people_import.csv
456Bytes, Uploaded 7 months ago

extended_people_import_exampleRow.csv
648Bytes, Uploaded 7 months ago