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.