Skip to main content

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 getUser to retrieve the employee’s latest onboarding state.
  • When I-9 verification has been provisioned for the employee, the status object in getUser and employee status webhooks may include i9Verification.
  • When E-Verify has been provisioned for the employee, the same status object may also include eVerify.
  • Treat i9Verification as optional in your response parsing. It is omitted when I-9 verification has not been provisioned for that employee.
  • Treat eVerify as 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.update webhook.
  • When an employee’s E-Verify record changes status, Rollfi also sends the standard employee.employeestatus.update webhook.
  • The employee payload mirrors the standard employee status webhook payload. status.userStatus continues to represent the employee’s overall lifecycle status, while status.i9Verification and status.eVerify reflect the employee’s compliance progress when those workflows have been provisioned.
  • status.userStatus does not need to change for an I-9 or E-Verify webhook to be sent.

🔹 Interpreting I-9 Webhook States

  1. Not Yet Started means the employee has an active I-9 record, but they have not yet submitted Section 1.
  2. Section 1 Complete means 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.
  3. Section 2 Complete means the employer or admin completed Section 2, but the full I-9 submission package has not yet been marked as finalized.
  4. Complete means the I-9 workflow has been finalized and no further I-9 action is required.
Additional status Overdue means 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 status Not Requested means an I-9 is configured for the company, but this employee was opted out.

🔹 Interpreting E-Verify Webhook States

  1. EVerifyPending means the employee’s E-Verify case exists and is still pending an external result.
  2. EVerifyActionRequired means 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 same employee.employeestatus.update webhook as I-9 changes. Handle status.eVerify independently from status.userStatus and status.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.