Overview
- Rollfi supports employee I-9 onboarding and optional E-Verify for supported companies.
- Employees complete Section 1 through a secure embedded flow.
- Employers complete Section 2 through a separate embedded counter-sign flow.
- E-Verify can only be enabled when I-9 is enabled.
Tracking Status
- Use
getUserto retrieve the employee’s latest onboarding state. - When I-9 verification has been provisioned for the employee, the
statusobject ingetUserand employee status webhooks may includei9Verification. - Treat
i9Verificationas optional in your response parsing. It is omitted when I-9 verification has not been provisioned for that employee.
Webhooks You Will Receive
- When an employee’s I-9 record is created or its status changes, Rollfi sends the standard
employee.employeestatus.updatewebhook. - The employee payload mirrors the standard employee status webhook payload.
status.userStatuscontinues to represent the employee’s overall lifecycle status, whilestatus.i9Verificationreflects the employee’s progress in the I-9 process when I-9 verification has been provisioned. status.userStatusdoes not need to change for an I-9 webhook to be sent. For example, you may receive anemployee.employeestatus.updatebecause the employee completed Section 1, the submission was rejected and restarted, the employer countersigned Section 2, the form was finalized, or the record became overdue.
Interpreting I-9 Webhook States
Section 1 Completemeans the employee has completed Section 1 and the I-9 is now waiting for the employer or admin to take action by completing Section 2.Section 2 Completemeans the employer or admin completed Section 2 and the I-9 is awaiting final completion in the verification workflow.Completemeans the I-9 workflow has been finalized and no further I-9 action is required.Overduemeans a required I-9 step was not completed in time and follow-up is required before the workflow can be considered complete. The company admin should check on the I9 status through the whitelabel when this status is received.
Example Payload
In this example,userStatus is still Invite Sent, but the full status object also includes the onboarding progress fields. status.i9Verification has moved to Section 1 Complete, which means the employee finished Section 1 and the I-9 is waiting on employer action.
