Skip to main content

Automate your Employee List Sync via SFTP

Use SFTP to automatically sync your employee list (aka organization members or org members)

Written by Tom O'Dea

🚨 Blissbook directly integrates with 40+ HRIS, Payroll, and AD platforms. If you'd like to directly integrate instead, contact our support team at support@blissbook.com and/or read this help article. 🚨


This help article describes how you can sync your employee list automatically with Blissbook by securely sending it to us on a cadence of your choosing.

To automate your employee list file sync, your team will have to (1) automatically generate your employee list from your HRIS, Payroll, or AD (Active Directory) platform using an employee list template as a guide and (2) send that .csv file to us on a cadence you choose (daily, weekly, every 5 minutes... it's up to you).
​
​If you automate your file sync, the name of the file must be "members.csv". See the instructions for creating your file for more info.

We are happy to talk about this with you and your IT group if/when you decide you want to set this up, just contact us at support@blissbook.com.

Before you get started...

Are you an ADP customer?

(1) We have a direct integration with ADP. Go here to learn how to set that up. (2) If you want to sync a file from ADP via SFTP instead of using the direct integration, read the Set Up instructions below and click here for additional guidance.

Are you a Workday customer?

(1) We have a direct integration with Workday. Go here to learn how to set that up. (2) If you want to sync a file from Workday via SFTP instead of using the direct integration, read the instructions below and click here for additional guidance (including info on using Workday's EIB tool). Contact your Workday rep or documentation for assistance with that tool.

Are you a UKG customer?

(1) We have a direct integration with UKG. Go here to learn how to set that up. (2) If you want to sync from UKG via SFTP instead of using the direct integration, read the instructions below and contact us for guidance if needed. When you set this up through UKG, they'll send us a vendor questionnaire to fill out so they can enable the integration for you.

Enabling SFTP Sync

To enabled automated SFTP sync, go to your People page (main nav on left under ORGANIZATION) and click the Settings button in the top right corner.

Click the Connect your HRIS button:

Search for "SFTP" and click SFTP Upload.

Click the Install SFTP button. Note: once you install automated SFTP, you can no longer sync employees manually. Wait until you've created your employee list and have tested uploading it manually before you install the automation. Blissbook's UI gives you better error reporting for formatting issues with your file than the FTP responses, so that's a better way to test that you've created your file in the right format. You can also send Blissbook your file to test the upload on a test server.

Blissbook will automatically generate a secure username and password for you and your credentials & settings will be shown. Use those credentials to connect to Blissbook using your SFTP software of choice to send us your file.

Your file should include all active employees. It is a full file sync (see the instructions for creating your file). The file is read upon receipt and is not stored for security reasons (see FAQ below for more info). You will receive a response from our FTP server to report the success or failure of your sync attempt, and you will also be able to see status and/or an error message on your People page within Blissbook.

Timing

Again, your employee list in Blissbook updates any time you send a file. Most of our customers send it nightly, but you could send it every 5 minutes or once a week if you want.

More important is the order in which certain events happen. If you are sending automated invitations to new employees through Blissbook, those employees' email addresses must be valid. Blissbook also needs to know about a new employee before they try to sign in to Blissbook. So the ordering should be:

  1. Email address works (so the invitation/login email won't bounce)

  2. You tell Blissbook (e.g. you sync their user record to Blissbook)

  3. Employee then tries to sign in

If you aren't using Blissbook to send invitations, 1 & 2 could be flip-flopped and it would still be OK.

FAQs

Can we encrypt the file using PGP encryption?

No. Blissbook does not actually store your .csv file anywhere, so there is no need to add "at rest" encryption. The file never exists "at rest".

Blissbook's SFTP "server" is not an actual file server. It is an API (application programming interface) posing as an SFTP server in order to accept files transferred via SFTP. It never stores a file. It consumes and processes the data as it comes in (in a streaming fashion). That data is stored in our database alongside all the other data in Blissbook, which is all encrypted at rest per our standard security practices.

Your data is 100% encrypted, in transit via SSH just like any other SFTP connection, and at rest via storage in our encrypted database.

Can I ping your SFTP server to list files? Can I do a GET request?

No. Our SFTP "server" is not a traditional SFTP server. It is not possible to list files or perform GET requests.

  • If you try to list files, it lists nothing.

  • If you try to GET any file (even members.csv), it says file not found.

  • If you try to login with invalid credentials, it fails.

  • If you PUT a partial file or any file that is not members.csv, it fails.

  • If you PUT members.csv, it accepts the file and, assuming the file is formatted correctly, its data is read and written to our encrypted database.

Can you check the file on your side to see if you can tell why [insert error] is happening?

No. Since we never store or save a file, there is nothing we can check. You have to separately email us the file via secure email/link.

Is there an additional cost to enabling auto sync via SFTP?

No.

We're already syncing users manually. Will this integration replace all of our existing employees?

Not right away. HRIS sync integrations, including SFTP, start in an "Inactive" state. This gives you a chance to evaluate the data that's being synced on your file to correct any issues, add custom fields, set up exclusion filters, etc.

Once you're pleased with the data, you set the SFTP sync integration to "Active", and then all the data there will replace your existing employees list.

If you've been importing a full file manually to sync your employees, start with that same file and send it via SFTP. You can then make changes to that file as needed either before or after you set it to "active".

If you've been maintaining your employee list person-by-person, one at a time, start by exporting your current list. Go to your People page (on the left in the main nav under ORGANIZATION), then click the "Add, Import, or Export" button, then choose Export Employees. Make changes to that file, then import it manually, then start sending it to us via SFTP.

People on your csv file who aren't in Blissbook will be added to your organization, and those not on the csv file who are currently in Blissbook will be archived. Groups and Custom Fields receive the same treatment.

Will this sync the data in a way that will add new hires to the handbooks/documents we need and then also terminate them when they leave the company?

Yup! To automate the sending of an invitation email, you will have to have that setting ON within your organization.

Will this integration also remove users once someone has left the company?

Yup!

We actually have 2 separate companies/entities using our [HRIS]. We would like the auto sync to only import [company1] employees. Can we narrow the scope based on the company/entity someone belongs to?

Once active, Blissbook's SFTP sync will sync everyone on the file to a staging database, and then take any exclusion filtering into account before moving people to your employee list. If you want to exclude anyone from your file sync, set that up before you set your SFTP sync to "active".

We have consultants/contractors/contingent workers. We would like the scope to not include them as well. Is there a way to exclude from the scope based on employment type?

Once active, Blissbook's SFTP sync will sync everyone on the file to a staging database, and then take any exclusion filtering into account before moving people to your employee list. If you want to exclude anyone from your file sync, set that up before you set your SFTP sync to "active".

We often add new employees to our HRIS before their actual hire date. Can you exclude these people and only sync them over on their actual hire date?

Yes. Set up an exclusion filter for Last Hired Date configured to "is less than 0 days ago". See the exclusion help article for more info.

What filters do we have an option of using? The reason I ask is we have numerous custom fields in HRIS that may not be standard.

You can sync any and all of the data from your HRIS, including non-standard custom fields. They will come in as Custom Fields on your CSV file sync, or you can sync them as generic Groups. See our instructions for creating your file for more info.

SFTP Software Examples & Tips

WinSCP Example SFTP Script

WinSCP, a free SFTP client for Windows, can be used to automate your employee file sync. Below is an example script to sync your file to our SFTP server. The SHA 256 Fingerprint as well as your username and password will be available after you install the SFTP integration. For additional WinSCP scripting and command line options, please refer to WinSCP's guides on automating file transfers and scheduling file transfers.

blissbook-sftp-script.txt

open sftp://<username>:<password>@sftp.blissbook.com:3022/ -hostkey="ssh-rsa 4096 <sha-256-fingerprint>="
put -nopermissions -nopreservetime -resumesupport=off members.csv
close

Note: Since your filename must be members.csv, you need to disable resumes or the strict filename rule kills the transfer.

Command Line

winscp.exe /ini=nul /script=”blissbook-sftp-script.txt”

Even if you cannot generate/download your employee list file report automatically from your HRIS platform, you can use WinSCP's automation features to make your "manual" file upload take a minute or less. Your workflow would be: Log into HRIS, download your report, drag and drop the downloaded csv file onto a desktop shortcut. That's it!

Microsoft Power Automate

Here's an example of a working configuration using Microsoft Power Automate:

Cyberduck

Here's an example of a working configuration using Cyberduck:

Mulesoft

When writing content, use `CREATE_NEW`. Do NOT use `OVERWRITE`.

Did this answer your question?