Note
Before you onboard an employee, you should define where they will be working. Follow the Work Locations Guide to do so.In this guide
- How to get an employee’s Work Location
- How to create an Employee
- How to complete Tax paperwork
- How to add an employee’s Bank Account
- How to update an employee’s onboarded status
- How to onboard an employee using the white-label components
API
Get the employee’s Work Location
Call Get Work Locations and find the Work Location for this employee. Store theworkLocationID.
Note
Remember to replace the placeholders such as{{testApiKey}} in the code samples below.Create an Employee
Call Create Employee with the employee data along with thecompanyID and workLocationID.
employeeID or IDs from the employee objects returned.
W4s: Fetching Paperwork Templates
Tax Paperwork information (most commonly W4 information) can be sent to Zeal using the Paperwork endpoints. Note: if you don’t submit W4 information for an employee, Zeal will use the default tax parameters based on work and residency location of the worker. The Paperwork Template object outlines the fields that represent a Paperwork Template, which includes key information such as the name of the form, the applicable jurisdiction(s), and the fields on the form. For the purposes of this guide, we will be focusing on Paperwork Templates withpaperwork_type as W4.
Paperwork Templates can be fetched using the Get Paperwork Template. Be sure to include the jurisdiction(s) and the effective date for the W4 form(s) you want to retrieve.
W4s: Submitting Paperwork
To submit a completed W4 form, use the Create Paperwork Submission or PUT/paperwork/submissions endpoint. The endpoint accepts the following body parameters:
templateID: Unique identifier for the Paperwork Template (from previous step)worker_type: Type of worker (employee)companyID: Unique identifier for the companyemployeeID: Unique identifier for the employee (nullable if the worker type is contractor)contractorID: Unique identifier for the contractor (nullable if the worker type is employee)fields: The completed fields and values
/paperwork/submissions request:
W4s: Fetching Paperwork Submissions
You can always fetch the completed paperwork submission(s) using the Get Paperwork Submissions or POST/paperwork/submissions endpoint. The endpoint allows filtering by paperwork_type, companyID, jurisdiction_filter, and worker_filter.
Below is an example JSON response of a successful POST /paperwork/submissions request:
Add a Bank Account (optional)
Note
This step is optional. If an employee is onboarded without bank account details they will still be able to receive employee checks by any disbursement method other thandirect_deposit.Update an employee’s onboarded status
Call Set Onboarded Status to True to mark the employee status asonboarded.
White-Label
Access the Company Dashboard
Navigate to your Partner Dashboard and ensure that Test Mode is enabled. Then, click on a Company to access the Company Dashboard as an Admin.
View a Work Location
Navigate to the Work Location page and ensure you have the location that the employee will be working at.
Create an Employee
Next, navigate to the People page and click Add Employee.

Complete the onboarding flow
Back on the People page, find the Employee and click Copy onboarding link then Send link to employee’s email.
Tip
The link can also be accessed programmatically by calling Generate Employee Onboarding Link.
Note
When the Employee Onboarding flow is completed successfully through the white-label, Zeal sends the Employee information to the webhook URL you’ve set for the Employee Onboarding Event.Recap
- To onboard an employee, personal information, work location, and W4 information need to be submitted.
- Bank account details don’t need to be submitted, but the employee can’t be paid by direct deposit without them.
- Companies can create Work Locations and employees from the Company Dashboard
- Employees can complete onboarding through the Employee Onboarding component