All Collections
Integrations
Zipline staff synchronisation
Zipline staff synchronisation

Technical guide on synchronising staff from a third-party system with Zipline

Customer_Support avatar
Written by Customer_Support
Updated over a week ago

Intro

Staff synchronisations allow Zipline to integrate with 3rd party systems to keep a unified view of staff details across both platforms. The integration is one-way, pulling in staff data from HR or payroll systems or other systems containing an organisation's staff details.

Integration Methods

API

The preferred integration method is via an API if the source system provides one. The API needs to be publicly accessible (for security it can also be restricted to certain IP addresses which Zipline can provide on request), and provide the ability to list all staff members with the data fields mentioned below.

File Sync

If an API to the source data cannot be provided, the integration can ingest files uploaded to an SFTP sever provided by Zipline or the customer.

The data can be provided in JSON (preferred) or CSV format and should include the data fields mentioned below.

Data Fields

Staff Details

  • ID - A unique identifier of the staff member in the source system

  • FirstName - The staff member's first name

  • LastName - The staff member's last name

  • PhoneNumber - The staff member's phone number that they will use to check in to Zipline

  • TerminationDate (optional) - Allows staff members to be automatically removed from Zipline on the relevant date.

Vaccination Details

The integration can optionally also import vaccination details for staff members. The required data fields are:

  • VaccinationType - FluVaccination2021/FluVaccination2022/CovidVaccinationDose1/CovidVaccinationDose2/etc

  • RecordDate - The date when this vaccination was administered

If the integration is via API the vaccination details can be provided as part of the list staff call or a separate API if required. An example schema for a single API may look like this in JSON:

[
{
"id": "abc123",
"firstName": "Jayne",
"lastName": "Smith",
"phoneNumber": "+61400111222",
"terminationDate": "2022-05-04",
"vaccinations": [
{
"vaccinationType": "CovidVaccinationDose1",
"recordDate": "2021-05-06"
},
{
"vaccinationType": "CovidVaccinationDose2",
"recordDate": "2021-06-06"
}
]
}
]

For a JSON file based integration via SFTP the same schema as above can be used.

If the integration is CSV file based, it needs to include a record per vaccination with the staff details duplicated on each row:

id,firstName,lastName,phoneNumber,terminationDate,vaccinationType,recordDate
abc123,Jayne,Smith,+61400111222,2022-05-04,CovidVaccinationDose1,2021-05-06
abc123,Jayne,Smith,+61400111222,2022-05-04,CovidVaccinationDose2,2021-06-06

SFTP Server Security

Security and confidentiality of the data transfer is ensured by the following:

  1. A separate SFTP server is created for each customer so there is no possibility of data leaking between customers

  2. When importing data the files are processed in place and not copied outside of the SFTP server; after processing the data the files are permanently deleted

  3. The SFTP server is only accessible by the Zipline import process and by a small number of Zipline developers and support staff for maintenance and support purposes

  4. Zipline conforms to the data privacy act for health and aged care information

  5. The SFTP server is set up with a single user account with a 32 character randomly generated password; the password is securely transmitted to the customer while setting up the integration

How often does the integration run?

This is configurable to align with how frequently staff data is likely to change and the requirements of consistency between the two systems. In general most customers run the integration twice a day, however the frequency and specific times of the day when it runs are fully configurable for each customer.

Getting Started

Contact your Customer Success Manager (CSM) to discuss your integration needs. The integration process for integration follows these steps:

  1. Initial scoping discussion with CSM

  2. Customer provides data schema:

    1. For an API integration, provide API documentation and access credentials

    2. For a file based integration, provide a sample extract of staff data via email

  3. Zipline builds integration and performs import of the provided sample data

  4. Customer to verify the data has been correctly imported

  5. For a file based integration, Zipline will provide the SFTP server/access credentials

  6. Customer provides schedule (frequency/time of day to execute), gives go-ahead and Zipline enables the integration

Did this answer your question?