Skip to main content

iPaaS.com To Zuper Employee Mapping

Transfer employee data from iPaaS.com to Zuper users

Updated over 3 weeks ago

Overview

This document outlines the integration for transferring Employee data from iPaaS to create Users in Zuper. The synchronization can be executed through manual syncs or automated via webhooks, allowing user records to be created and updated in Zuper as changes occur in iPaaS.

Field Constraints

  • Email: Required, unique, and must be a valid email format.

  • FirstName / LastName: Required, alphabetic characters only (max 50 chars).

  • Password: Required, must be 8-20 characters and meet Zuper's complexity rules (uppercase, lowercase, number, special character).

  • ConfirmPassword: Required, must exactly match the Password field.

  • EmpCode: Required, unique, alphanumeric (1-20 chars).

  • RoleId: Required, must match an existing Role ID in Zuper.

Integration Configuration

  • Status: Enabled

  • Trigger Events: This integration can run on Create and Update events for employees in iPaaS. It can also be configured to subscribe to the following webhooks:

    • user.new

    • user.update

    • user.delete

System Caveats

iPaaS Caveats

  • Mapping Dependency: User creation in Zuper is entirely dependent on the mapping configuration. Incorrect or missing static values (like RoleId) will block user provisioning.

  • Data Integrity: The source EmailAddress must not be empty for the mapping filter to pass.

Zuper Caveats

  • Password Policy: The initial Password and ConfirmPassword values must strictly follow Zuper’s password policy (length, complexity) upon creation.

  • Role ID Validation: The static RoleId provided in the mapping must exist in the target Zuper instance; invalid IDs will cause the request to fail.

Prerequisites

Authentication

  • Zuper requires an API key generated in the Zuper admin console with User read/write permissions.

iPaaS Configuration

The API Store Hash, API Private Key, API Public Key, and API URL must be properly configured in the iPaaS subscription presets to enable successful integration.

Manual Sync Process

When manually transferring an employee, you must accurately input the iPaaS Employee ID (e.g., 12452) into the designated field on the manual sync page.

Integration Flow

  1. An Employee record is created or updated in iPaaS.

  2. A manual sync or webhook triggers the integration.

  3. The mapping filter validates that the EmailAddress field is not empty.

  4. iPaaS fields are transformed and mapped to the corresponding Zuper User fields.

  5. The user record is created or updated in Zuper. If an error occurs, it is logged for review.

Field Mappings

User (Parent)

Mapping Type

Source Field (iPaaS)

Destination Field (Zuper)

Description

Field

FirstName

FirstName

Required. The user's first name.

Field

LastName

LastName

Required. The user's last name.

Field

EmailAddress

Email

Required. The unique email address for the user.

Field

EmailAddress

Password

Required. The initial password for the new user account.

Field

EmailAddress

ConfirmPassword

Required. Confirmation of the initial password.

Field

Id

EmpCode

Required. The unique employee code.

Static

Technician

Designation

Required. A static value assigning the user's designation.

Static

3

RoleId

Required. A static value assigning a valid Role ID from Zuper.

Dynamic Formula

var list = new List<WorkHours> { new WorkHours { Day = "Sunday", ... }, ... }; return list;

WorkHours

Required. A dynamic formula that generates a default weekly work schedule.

Error Handling

Missing Required Field

  • Description: A mandatory field such as FirstName, Email, or Password is null or empty.

  • Resolution: Ensure all required fields are populated in iPaaS before the sync. The mapping filter will block records without an email address.

Duplicate Email

  • Description: The Email provided for a new user already exists in Zuper.

  • Resolution: Implement logic to check if a user exists first, then perform an update instead of a create.

Invalid Role ID

  • Description: The static RoleId provided in the mapping does not exist in the target Zuper instance.

  • Resolution: Verify that the static RoleId in the mapping corresponds to a valid, active role in Zuper.

Password Policy Violation

  • Description: The initial password does not meet Zuper’s length or complexity requirements.

  • Resolution: Adjust the source field or logic to ensure the generated password complies with Zuper's policy.

Testing & Validation

Test Scenarios

A new employee with all valid fields is created.

  • Expected Outcome: The user is created successfully in Zuper with the correct role and work hours.

An employee is created with an email that already exists in Zuper.

  • Expected Outcome: The transfer fails with a "duplicate email" error, and the failure is logged.

An employee is synced with a weak password.

  • Expected Outcome: The transfer is blocked by Zuper, and an error regarding the password policy is returned.

An employee record is missing an EmailAddress.

  • Expected Outcome: The record is blocked by the mapping filter and is not synced.

The static RoleId in the mapping is invalid.

  • Expected Outcome: The user creation fails, and an "invalid role" error is logged.

Validation Checklist

  • Verify all required fields (FirstName, Email, Password, RoleId, EmpCode) are populated.

  • Ensure the Email and EmpCode are unique for new users.

  • Validate that the Password and ConfirmPassword values meet Zuper’s policy.

  • Confirm the static RoleId exists as an active role in Zuper.

  • Check that the WorkHours structure is generated correctly.

Did this answer your question?