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
Passwordfield.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
CreateandUpdateevents for employees in iPaaS. It can also be configured to subscribe to the following webhooks:user.newuser.updateuser.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
EmailAddressmust not be empty for the mapping filter to pass.
Zuper Caveats
Password Policy: The initial
PasswordandConfirmPasswordvalues must strictly follow Zuper’s password policy (length, complexity) upon creation.Role ID Validation: The static
RoleIdprovided 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
An Employee record is created or updated in iPaaS.
A manual sync or webhook triggers the integration.
The mapping filter validates that the
EmailAddressfield is not empty.iPaaS fields are transformed and mapped to the corresponding Zuper User fields.
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 | Required. The user's first name. |
Field |
| LastName | Required. The user's last name. |
Field |
| Required. The unique email address for the user. | |
Field |
| Password | Required. The initial password for the new user account. |
Field |
| ConfirmPassword | Required. Confirmation of the initial password. |
Field |
| EmpCode | Required. The unique employee code. |
Static |
| Designation | Required. A static value assigning the user's designation. |
Static |
| RoleId | Required. A static value assigning a valid Role ID from Zuper. |
Dynamic Formula |
| 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, orPasswordis 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
Emailprovided 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
RoleIdprovided in the mapping does not exist in the target Zuper instance.Resolution: Verify that the static
RoleIdin 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
EmailandEmpCodeare unique for new users.Validate that the
PasswordandConfirmPasswordvalues meet Zuper’s policy.Confirm the static
RoleIdexists as an active role in Zuper.Check that the
WorkHoursstructure is generated correctly.
