/

ADP Workforce Now/ADP Vantage

ADP Workforce Now/ADP Vantage

Integration type

HCM

What we solve

ADP Workforce Now/Vantage customers need a lower-friction, more reliable way to complete remote I-9 identity verification for distributed workforces—since ADP’s built-in I-9 module supports form completion but not document scanning, liveness, or IAL2 biometric proofing—reducing errors and eliminating in-person Section 2 review. This integration triggers 1Kosmos BlockID Verify from ADP onboarding/I-9 events, notifies employees to complete proofing, receives webhook results, and writes verified status back to ADP via the ADP API so HR can mark I-9 steps complete and stay compliant at scale.

Platform identity landscape

ADP processes payroll for roughly 1 in 6 American workers and serves over one million clients globally. ADP Workforce Now (midsize) and ADP Vantage (enterprise) both support the ADP Marketplace, a curated integration ecosystem with 350+ partner applications. ADP's API Gateway provides RESTful access to Workers, Payroll, Time & Labor, and Benefits data.

The I-9 and E-Verify workflow within ADP Workforce Now is managed through the built-in I-9 Management module, which facilitates electronic I-9 completion but does not perform document scanning, liveness detection, or IAL2 biometric proofing. Employees complete Section 1 electronically; Section 2 requires a physical in-person review or a remote authorized representative — a friction-heavy, error-prone process for distributed workforces.

Technical integration architecture

The ADP integration uses the ADP API Gateway with OAuth 2.0 client credentials flow for server-to-server communication.

Worker event: "I-9 Section 1 Submitted" (ADP webhook event)
    -> ADP Marketplace partner app (1Kosmos BlockID) receives webhook
    -> Create BlockID Verify session:
        POST /v2/verify/sessions
        headers: { x-api-key: BLOCKID_API_KEY }
        body: {
          tenant_id: ADP_TENANT_ID,
          user_reference: adp_associate_id,
          required_documents: ["DL", "PASSPORT", "EMPLOYMENT_AUTH"],
          send_notification: { mobile: worker_mobile, email: worker_email }
        }
    <- Session created: { session_id, verification_url }
    -> BlockID sends SMS to worker: "Complete your I-9 identity verification: [link]"
    -> Worker completes: document scan + LiveID enrollment
    <- BlockID webhook: POST to ADP Marketplace app callback
        payload: { idv_status, ial_level, i9_documents_verified, liveid_enrolled }
    -> ADP API: PATCH /events/core/v1/hr/workers/{aoid}/work-assignments/{assignmentId}
        body: { customFieldGroup: { stringFields: [{ nameCode: "idv_status", value: "IAL2_VERIFIED" }]

Worker event: "I-9 Section 1 Submitted" (ADP webhook event)
    -> ADP Marketplace partner app (1Kosmos BlockID) receives webhook
    -> Create BlockID Verify session:
        POST /v2/verify/sessions
        headers: { x-api-key: BLOCKID_API_KEY }
        body: {
          tenant_id: ADP_TENANT_ID,
          user_reference: adp_associate_id,
          required_documents: ["DL", "PASSPORT", "EMPLOYMENT_AUTH"],
          send_notification: { mobile: worker_mobile, email: worker_email }
        }
    <- Session created: { session_id, verification_url }
    -> BlockID sends SMS to worker: "Complete your I-9 identity verification: [link]"
    -> Worker completes: document scan + LiveID enrollment
    <- BlockID webhook: POST to ADP Marketplace app callback
        payload: { idv_status, ial_level, i9_documents_verified, liveid_enrolled }
    -> ADP API: PATCH /events/core/v1/hr/workers/{aoid}/work-assignments/{assignmentId}
        body: { customFieldGroup: { stringFields: [{ nameCode: "idv_status", value: "IAL2_VERIFIED" }]

Worker event: "I-9 Section 1 Submitted" (ADP webhook event)
    -> ADP Marketplace partner app (1Kosmos BlockID) receives webhook
    -> Create BlockID Verify session:
        POST /v2/verify/sessions
        headers: { x-api-key: BLOCKID_API_KEY }
        body: {
          tenant_id: ADP_TENANT_ID,
          user_reference: adp_associate_id,
          required_documents: ["DL", "PASSPORT", "EMPLOYMENT_AUTH"],
          send_notification: { mobile: worker_mobile, email: worker_email }
        }
    <- Session created: { session_id, verification_url }
    -> BlockID sends SMS to worker: "Complete your I-9 identity verification: [link]"
    -> Worker completes: document scan + LiveID enrollment
    <- BlockID webhook: POST to ADP Marketplace app callback
        payload: { idv_status, ial_level, i9_documents_verified, liveid_enrolled }
    -> ADP API: PATCH /events/core/v1/hr/workers/{aoid}/work-assignments/{assignmentId}
        body: { customFieldGroup: { stringFields: [{ nameCode: "idv_status", value: "IAL2_VERIFIED" }]

ADP Marketplace listing opportunity: A native ADP Marketplace app is the go-to-market path. ADP vets and promotes marketplace apps to its 1M+ client base. The I-9 remote verification use case is a top complaint among ADP HR administrators. A pre-built ADP app with 1-click activation lowers the integration barrier to near-zero for ADP customers.


Transform how you verify and authenticate

Secure onboarding, eliminate passwords, and stop fraud on one platform. Schedule a demo and see it in action.

Transform how you verify and authenticate

Secure onboarding, eliminate passwords, and stop fraud on one platform. Schedule a demo and see it in action.

Transform how you verify and authenticate

Secure onboarding, eliminate passwords, and stop fraud on one platform. Schedule a demo and see it in action.