Use two forms rather than one. A parent request and a departmental task answer different questions, and a single form with everything on it makes both look wrong. Both forms are agent facing: these tickets are created by the integration, not filled in by a person, so nothing here needs to be visible to end users.
System fields to keep: Requester (the clinician), Assignee and Group (HR), Type (Task), Priority (High), Subject, Description, Tags. Then:
| Field | Type | Why it is there | Mapped id |
|---|---|---|---|
| Onboarding record required record_type | Drop-down | Separates the one parent request from its task tickets in every view, and is what triggers branch on. Parent request onboarding_parentDepartmental taskonboarding_task | not mapped |
| Person number required person_number | Text | The Oracle HCM key. Makes the write-back unambiguous and lets you find every ticket for one hire. e.g. FMC-208471 | not mapped |
| Clinician clinician_name | Text | The requester already carries this, but a plain field keeps it in views and exports. e.g. Dr. Emily Carter | not mapped |
| Job title job_title | Text | Drives which task set applies in a real build. Text, because HCM owns the vocabulary. e.g. Physician | not mapped |
| Department department | Drop-down | Reporting and routing by service line. Emergency Medicine dept_emergency_medicineInternal Medicinedept_internal_medicineSurgerydept_surgeryRadiologydept_radiologyPediatricsdept_pediatrics | not mapped |
| Location location | Drop-down | Badge, parking and workspace work is site specific. Florida Medical Center loc_fmc_mainNorth Campusloc_fmc_northOutpatient Centerloc_fmc_outpatient | not mapped |
| Hiring manager manager | Text | Who gets the readiness notice before the start date. e.g. Dr. James Wilson | not mapped |
| Start date start_date | Date | The deadline every task is measured against, and the basis for any SLA or reminder. e.g. 2026-09-14 | not mapped |
| Employment type employment_type | Drop-down | Locum and PRN hires skip parts of the task set in a real build. Full-time emp_full_timePart-timeemp_part_timeLocum tenensemp_locumPRNemp_prn | not mapped |
| Source system source_system | Drop-down | Proves the record came from HCM rather than a person, which is the point of step 1. Oracle HCM Integration src_oracle_hcmManual entrysrc_manual | not mapped |
| Clinician type clinician_type | Drop-down | Decides which credentials must be verified before clinical access is released. MD or DO clin_md_doNurse practitionerclin_npPhysician assistantclin_paRegistered nurseclin_rn | not mapped |
| License state license_state | Text | Primary source verification is per state. e.g. FL | not mapped |
| License number license_number | Text | What Credentialing verifies against the state board. e.g. ME-148902 | not mapped |
| NPI npi | Text | Needed for EHR and e-prescribing provisioning. e.g. 1740283915 | not mapped |
| Pre-start readiness readiness | Drop-down | The one field a manager or exec reads. Written by automation, never by hand. Not Ready ready_not_readyReady for Startready_for_startCleared for startready_cleared | not mapped |
| Credential verification credential_status | Drop-down | The gate itself. This is the field that releases the clinical access chain. Pending cred_pendingIn reviewcred_in_reviewApprovedcred_approvedRejectedcred_rejected | not mapped |
| Tasks complete tasks_progress | Text | Progress at a glance in a view, without opening the sidebar app. e.g. 8 of 16 | not mapped |
| HCM onboarding status hcm_status | Drop-down | Mirrors what was written back to Oracle HCM, so the two systems can be reconciled from either side. Not started hcm_not_startedIn progresshcm_in_progressCompletehcm_complete | not mapped |
Same person fields, so any single task ticket is readable without opening the parent, plus the three that describe the dependency:
| Field | Type | Why it is there | Mapped id |
|---|---|---|---|
| Onboarding record required record_type | Drop-down | Separates the one parent request from its task tickets in every view, and is what triggers branch on. Parent request onboarding_parentDepartmental taskonboarding_task | not mapped |
| Person number required person_number | Text | The Oracle HCM key. Makes the write-back unambiguous and lets you find every ticket for one hire. e.g. FMC-208471 | not mapped |
| Clinician clinician_name | Text | The requester already carries this, but a plain field keeps it in views and exports. e.g. Dr. Emily Carter | not mapped |
| Job title job_title | Text | Drives which task set applies in a real build. Text, because HCM owns the vocabulary. e.g. Physician | not mapped |
| Department department | Drop-down | Reporting and routing by service line. Emergency Medicine dept_emergency_medicineInternal Medicinedept_internal_medicineSurgerydept_surgeryRadiologydept_radiologyPediatricsdept_pediatrics | not mapped |
| Location location | Drop-down | Badge, parking and workspace work is site specific. Florida Medical Center loc_fmc_mainNorth Campusloc_fmc_northOutpatient Centerloc_fmc_outpatient | not mapped |
| Hiring manager manager | Text | Who gets the readiness notice before the start date. e.g. Dr. James Wilson | not mapped |
| Start date start_date | Date | The deadline every task is measured against, and the basis for any SLA or reminder. e.g. 2026-09-14 | not mapped |
| Employment type employment_type | Drop-down | Locum and PRN hires skip parts of the task set in a real build. Full-time emp_full_timePart-timeemp_part_timeLocum tenensemp_locumPRNemp_prn | not mapped |
| Source system source_system | Drop-down | Proves the record came from HCM rather than a person, which is the point of step 1. Oracle HCM Integration src_oracle_hcmManual entrysrc_manual | not mapped |
| Clinician type clinician_type | Drop-down | Decides which credentials must be verified before clinical access is released. MD or DO clin_md_doNurse practitionerclin_npPhysician assistantclin_paRegistered nurseclin_rn | not mapped |
| License state license_state | Text | Primary source verification is per state. e.g. FL | not mapped |
| License number license_number | Text | What Credentialing verifies against the state board. e.g. ME-148902 | not mapped |
| NPI npi | Text | Needed for EHR and e-prescribing provisioning. e.g. 1740283915 | not mapped |
| Task category task_category | Drop-down | Groups the sixteen tasks into the five blocks the demo narrates, and is the basis for per-team views. HR task_hrITtask_itClinical systemstask_clinicalFacilitiestask_facilitiesCompliancetask_compliance | not mapped |
| Depends on depends_on | Multi-line | What had to finish before this ticket could exist. The audit trail for the whole mechanism. e.g. Create network and email accounts, Verify required licenses and certifications | not mapped |
| Released by released_by | Text | Why this ticket appeared when it did. The one field that makes deferred creation visible on the ticket itself. e.g. Credential verification approved | not mapped |
| Target completion target_date | Date | Per-task deadline, usually the start date or a few days before it. e.g. 2026-09-14 | not mapped |
No free text status field, no "percent complete", no per-department checkbox set. Status lives in the ticket status and in the readiness field, and anything a person types by hand goes stale between the hire and the start date. Resist a field for the blocking reason as well: a blocked task has no ticket, so there is nothing to write it on. Released by is the field that carries that story, after the fact, on the ticket that did get created.
ZENDESK_FIELD_MAP variable, Text type, one line.ZENDESK_FORM_ID and ZENDESK_TASK_FORM_ID.Skeleton, with anything already mapped filled in and the rest as zero. A zero, a missing key or a field whose type does not match is skipped on ticket create, so a partial map is safe.
{"record_type":0,"person_number":0,"clinician_name":0,"job_title":0,"department":0,"location":0,"manager":0,"start_date":0,"employment_type":0,"source_system":0,"clinician_type":0,"license_state":0,"license_number":0,"npi":0,"readiness":0,"credential_status":0,"tasks_progress":0,"hcm_status":0,"task_category":0,"depends_on":0,"released_by":0,"target_date":0}