Importing Companies and Users with Flatfile

Importing Company Data

First, navigate to the Add Companies modal on your Companies tab or by accessing Quick Actions (CTRL/⌘+K) and then navigate to the Import tab.

On this screen you will see a some instructions along with a table of all of the imports you have generated in the past. If you want to import new data, click on "Import Company Data" and follow the prompts. Please note the following:

  • Every sheet is required to have a "Name" column with the name of the company and a "Url" column that has the homepage of that company (ex: https://kitesrm.com/on the first row.
  • If you are trying to add values to fields make sure that those fields already exist in your group, you cannot create fields with a spreadsheet.
  • Make sure that every column header referring to a field on the platform matches exactly (ex: "Fast Track" will not import correctly if the field is named "fast track"). If it does not match exactly you will have to map the incoming field to an existing field.
  • image
  • Make sure that your document is not configured to have an infinite number of columns and contains only the columns you need. If you're not sure how to do this, you can upload your xlsx to Google Sheets and export it before uploading it to KITE. Bad data is the number one cause for import failures. If you are having problems uploading a file, you can strip out all formatting by uploading the file to Google Sheets and exporting it as a ".csv" file.
  • The maximum number of rows the importer can process on a single import is 3,000
  • Your import will queue an import job that may take a while to complete. You can check the status to see if it has completed.
image

Required Fields

There are only two fields that are always required when importing data. It's recommended to always use these two exact column headers when importing data to avoid any confusion when importing. If these fields aren't included then the import will fail.

  • Name
  • Url

The import tool will not import rows that fail validations, so it's crucially important to verify that both a Name and Url headers are present in your import file.

image

Validations

The import application will run basic validations defined by the fields you are importing. For example, if you have a character limit set to 45 characters, and a value exceeds 45 characters, the user interface will highlight the invalid cell in red and will reject the row if the issue is not corrected prior to import.

image

If you attempt to upload a file with validations errors you will receive this warning prior to the upload.

image

Typos, Typos and More Typos!

Data accuracy is important if you want your data to be imported correctly. The importer will not import values for Checkbox, Radio or Dropdown fields if they do not exactly match.

Dropdown Example:

A user creates a dropdown field called "Source" and gives it the options of "Consultant", "Marketing", or "Market Research". All values for the "Source" column of the spreadsheet much exactly match one of the aforementioned values. If not, the import application will not read the invalid value and you will see a blank space.

image

This is a common data issue, so be careful to cross-reference all your data with the field on KITE before importing. Below are some real-world data examples of typos which would fail to import:

  • Fast Track is not the same as fast track
  • N/A & N / A are not the same as n/a & N/A
  • Fintech - Crypto is not the same as fintech - crypt

Be sure to pay extra careful attention to spelling, casing, and separators. If the values do not match exactly, they will not be imported

Common Issues

Duplicate Companies

All company data needs to exist on the same row. The importer will not process the same company twice. If the same company exists in multiple rows on the spreadsheet, the user will need to merge those rows prior to importing or the second instance of the company will be rejected.

Field Name Incorrect

If attempt to import data, but it looks like a field wasn't imported correctly, there could be a problem with with an incorrect field name. This can happen if a field name is not exactly matching with what's in the group. For instance:

Partner / Program is not the same as Partner/Program

Note that in one entry there are spaces separating the words from the / and in the other there is no space. This is a common issue when using a / in the field name.

Take careful note of the spaces between the words. This will cause the system to not find your field accurately. Make sure your column headers are 100% correct before importing.

Column Headers Not Correct

Always make sure to have distinct column headers as the first row. In the following screenshot, the second column is actually the column header whereas the first column tries to combine columns into groups. The importer can not handle fields that are grouped in this manner. Your first row must always be the exact field names matching your proprietary fields on KITE.

image

Infinite Columns Issue

It may happen that you have an xlsx file that has been configured to have an infinite amount of columns. If you attempt to upload a file and it just fails or takes a very long time to process the validations it's likely you've run into this issue.

image

The best method we've seen to correcting this issue is to upload your xlsx doc to google docs and then convert it to the google docs format and export it again. This will remove the infinite columns and leave you only columns with data.

Troubleshooting

If you are having issues with your file you can perform the following actions to eliminate bad data and improve your experience

  1. First and foremost you should be using a file that is clean and clear of bad formatting issues. XLS and XLSX file types can hide lots of meta data that could be leading to issues. To "clean" your file, upload the file to Google Sheets. For instructions on how to import a file click here. For instructions on exporting a file click here.
  2. If you have attempted step one and are still seeing issues, log out of the KITE app, reset your cache and cookies, and then restart your browser.
  3. If you have attempted steps one and two you can report the issue to our technical team to assist with a resolution

Partial Failures & Error Reports

Sometimes import will finish with a partial failure status.

The two main reasons for a partial failure are:

  1. Your file contained duplicate company records.
  2. Your file contained bad data.

Even if your data passes validations on the user interface, it can still fail validations when it is saved to the database. If this occurs, the offending data will be compiled into an error report. You can download that error report by clicking on the "Download Failed Data" button under the actions header. This will download an excel report that contains the values that caused the error along with a description of the error.

NOTE: It is possible that an errored company record is imported, but the failed data does not. For example, if you were to import a company with the name "KITEsrm", the url "www.kitesrm.com", and a total employees count of "apple", the name and the url would be imported but total employees value of "apple" would not because it is expected to be a number.

The error report tells you exactly which values failed by returning only the data that was not imported. If the row was a duplicated company record, it will return the entire row (because all of the values are considered failed values).

PRO TIP: If you sanitize and fix your error data directly on the error report, you can upload the error report. Your duplicate data will be consumed if you use this method. This is a good way to handle importing the same company with multiple rows containing different "tag" type data.

image

A Successful Record is a row that has no errant values.

If you hover your mouse over the "Successful Records" value for your row, you will see statistics related to your import. "New companies imported" are net new to your group. "Existing companies imported" indicates that there were companies already in your group that you attempted to update with new data. "Total duplicate companies" tells you the number of times a company appeared in multiple rows. "Total errant values" indicates the number of values that had errors.

Importing Users

If you are a group or network administrator you can mass upload users. To access the user importer click on your group name in the top right hand corner → Groups → Select the group you would like to upload users for → Users → Import Users.

image

You can either upload a file with all of the required field headers or you can enter the values directly into the table.

image

Required Fields

Required fields are:

  • Name
  • Email
  • Username
  • Password

You may also enter Job Title and Permissions.

Validations

If you are missing a required field or have entered an invalid value into the field you will see the user interface highlight the invalid values in red. You will need to correct them before submitting the import record. The importer will not import any user that has a failed validation.

image

Field Specific Validations

  • Name - Required
  • Email - Required, must be unique, must follow email@website.tld format
  • Title - No validations
  • Username - Required, must be unique
  • Password - Required, user's password is required and must contain at least 8 characters, one uppercase character, one lowercase character, one numerical digit, and one non-alphanumeric character. It should not contain your username or common passwords like "Password123". It should not be easily guessed.
  • Permissions - 0 = General User, 1 = Group Admin, 2 = Network Admin. Should be an integer 0-2, default value is 0. Users without a value will be given the default value. If you do not have the appropriate permissions to grant the desired permission, then the default permission will be given.
⚠️

An easily guessed password can cause a user to fail validations at the server level. The user will not be created and you will not be notified. If this occurs, please attempt to recreate the user manually.