NOTE:
⚠️ I-9 and Everify processes are currently only supported through the whitelabel or hybrid integrations. The webhooks for trascking employee status are designed to keep you informed of the employee’s progress through the white label workflows.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.
- Employee E-Verify status updates are now delivered through the standard employee status webhook.
🔹 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. - When E-Verify has been provisioned for the employee, the same
statusobject may also includeeVerify. - Treat
i9Verificationas optional in your response parsing. It is omitted when I-9 verification has not been provisioned for that employee. - Treat
eVerifyas optional in your response parsing. It is omitted when E-Verify 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. - When an employee’s E-Verify record changes status, Rollfi also 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.i9Verificationandstatus.eVerifyreflect the employee’s compliance progress when those workflows have been provisioned. status.userStatusdoes not need to change for an I-9 or E-Verify webhook to be sent.
🔹 Interpreting I-9 Webhook States
Not Yet Startedmeans the employee has an active I-9 record, but they have not yet submitted Section 1.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 countersigning the I9.Section 2 Completemeans the employer or admin completed Section 2, but the full I-9 submission package has not yet been marked as finalized.Completemeans the I-9 workflow has been finalized and no further I-9 action is required.
Additional statusOverduemeans 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. Additional statusNot Requestedmeans an I-9 is configured for the company, but this employee was opted out.
🔹 Interpreting E-Verify Webhook States
EVerifyPendingmeans the employee’s E-Verify case exists and is still pending an external result.EVerifyActionRequiredmeans the employee must take additional action to continue the E-Verify process, please login to the whitelabel to handle this.
E-Verify status changes are delivered on the sameemployee.employeestatus.updatewebhook as I-9 changes. Handlestatus.eVerifyindependently fromstatus.userStatusandstatus.i9Verification.
🔹 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. status.eVerify is EVerifyPending, which means the E-Verify case exists but is still awaiting an external result.
