Skip to content

SFTP Customer Import

The SFTP Customer Import feature will process any spreadsheets that are uploaded to the SFTP server(s) that you specify. This is useful if you have a new list of customers that need to be imported every day, week, month, etc.

File is uploaded to SFTP

For this example, we are going to upload a file called "2020-11-13-Sample-Spreadsheet-5415.xlsx" to our SFTP server. This will typically be done by a human at an organization that is feeding you customer data. Here's what the data looks like in the spreadsheet:


At a minimum, the XLSX file must have the headers:


Here's an example of what the SFTP server looks like with the new file uploaded:


Import Job Created

When the robots log in to the SFTP server and detect a new file, the file will be downloaded to a local AWS S3 secure storage bucket, and we create a "job" to process this new file.

  • use a unique format for each file like "YEAR-MO-DY-my-file-upload.xlsx".

The robots will also send out an email to any admin users subscribed to the admin email notification called "SFTP Upload Update". Example:


When the file is transfered from the SFTP server to the AWS S3 bucket and the job is queued up, the system will send an email to all the admin users subscribed to that notification that looks like this:


Processing the File

When the robots pick up the job to process this new batch of data in the spreadsheet, they will create a new customer in the database for each row. When everything is completed, the system will send out an admin email notification to the same admin users described above:


The system will also upload a new CSV file back to the SFTP server that has all the original data, plus one new column that stores the import id for each row. The file is also saved to the AWS S3 bucket for data archival purposes as well. This file will be use the name of the original file, plus "_IMPORTED.csv":





At this point, customer accounts have been created, and at the next available shipping time the robots will create an order and shipping label for each of those customers for a one-off delivery.

Any requests or other features, please contact [email protected]