Home/Credentials/Bulk issue
Acme Staffing Solutions
JM

Bulk issue credentials

M3-03 · dedicated bulk-issuance upload · async, queued & resumable (Redis-backed worker)
Issuing as Acme Staffing Solutions · did:velocity:0x8f3a…c21b · Credential type: EmploymentPastV1.1

1 · Upload issuance CSV

dedicated to bulk issuance — separate from the Employees CSV import
This upload is only for issuing credentials — it does not create or edit Employee records. Rows are matched to existing employees by Employee ID; unmatched rows are flagged for review, not silently created. To manage employee data itself, use Employees › Upload CSV instead.
issuance_batch_march.csv uploaded · 247 rows parsed
Drop a new file to replace it, or download the issuance CSV template (email, employeeId, jobTitle, department, startDate, endDate)
EmployeeJob TitleEmployment periodValidation
John SmithEMP001 · john.smith@acme.com Software Developer Jan 2022 – Mar 2024 Ready
Jane DoeEMP002 · jane.doe@acme.com Project Manager Jun 2021 – Feb 2024 Ready
Alex TurnerEMP003 · — Recruiter Feb 2020 – Nov 2023 Missing email
Priya RaoEMP004 · priya.rao@acme.com QA Analyst Mar 2023 – Jul 2024 Ready
EMP005 · sam.oduya@acme.com Missing job title
Showing 1–5 of 247 · 244 ready · 3 need fixing
244 employees ready · 3 rows will be skipped until fixed
Confirm dialog shown below — appears after clicking "Issue 244 credentials", before anything is sent.

Issue 244 EmploymentPastV1.1 credentials?

Each candidate receives an email with a claim link and QR code, branded with Acme Staffing's template. This can't be undone once sent.

Credential type
EmploymentPastV1.1
Recipients
244 employees (3 skipped — missing data)
Delivery
Email + QR code
Estimated time
~3 minutes
Progress view shown below — appears once the batch is queued. Backed by a Redis/BullMQ worker: each row is processed independently, status is durable per row, and the page polls for live updates.

Batch #A3F2 · Issuing…

Started 2 minutes ago · auto-refreshes every 3s
Issued
180
of 244 total
Pending
58
queued
Failed
6
retry available
Total
244
in this batch
EmployeeStatusDetailActions
John SmithEMP001 Issued Claim link sent 09:41
Jane DoeEMP002 Issued Claim link sent 09:41
Marcus LeeEMP087 Failed CIH timeout after 3 attempts
Priya RaoEMP004 Pending Queued, position 12
6 failed rows can be retried individually without re-issuing the 180 already sent
Queued/resumable by design — closing this tab or a server restart doesn't lose progress: the batch and per-row state live in Postgres, work items live in the Redis queue, and the worker resumes exactly where it left off.