---
id: WF-PFM-DJE-020
title: Prepare and submit a job in the new data job wizard
trigger: A person opens the new-job wizard or arrives with a handed-over selection.
product_area: platform
module: data-job-engine
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
implements:
  - CAP-PFM-DJE-001
  - CAP-PFM-DJE-011
  - CAP-PFM-DJE-012
  - CAP-PFM-DJE-013
moves:
  - STATE-PFM-DJE-001
  - STATE-PFM-DJE-003
crosses:
  - SVC-PFM-DJE-crm-data-jobs
  - SVC-PFM-DJE-data-jobs
hops:
  - 'n': 1
    actor_or_service: 'Wizard, What step'
    action: >-
      Choose a supported record category and change operation from client
      capabilities.
    anchor: 'react-console:components/data-management/data-jobs/new/step-what.tsx'
    seam: sync
    on_failure: Omit unsupported combinations.
    left_inconsistent: No input has been sent to the service.
    observer: The person.
    provenance: observed
    source: 'react-console:lib/api/data-jobs/capabilities.ts:DATA_JOB_CAPABILITIES'
  - 'n': 2
    actor_or_service: 'Wizard, Source step'
    action: >-
      Preview initial CSV or JSON Lines rows, or display a handed-over
      selection.
    anchor: 'react-console:components/data-management/data-jobs/new/step-source.tsx'
    seam: sync
    on_failure: Show unreadable file errors before transfer.
    left_inconsistent: The service has no new upload or job.
    observer: The person.
    provenance: observed
    source: 'react-console:lib/api/data-jobs/source-file.ts'
  - 'n': 3
    actor_or_service: 'Wizard, Mapping step'
    action: >-
      Map file columns to declared fields and typed collection targets, or edit
      a common selection patch.
    anchor: 'react-console:components/data-management/data-jobs/new/step-mapping.tsx'
    seam: sync
    on_failure: List mapping problems and prevent advancement.
    left_inconsistent: Input remains local until submission.
    observer: The person.
    provenance: observed
    source: >-
      react-console:components/data-management/data-jobs/new/new-data-job-wizard.tsx:useObjectDescription;
      react-console:lib/api/data-jobs/fields.ts:mappingTargetsFor
  - 'n': 4
    actor_or_service: 'Wizard, Validate step'
    action: >-
      Validate interactive input, or upload file input and explain direct
      application.
    anchor: >-
      react-console:components/data-management/data-jobs/new/step-validate.tsx:StepValidate
    seam: sync
    on_failure: Show transfer or validation failures with retry controls.
    left_inconsistent: Saved uploads and previews remain after abandonment.
    observer: The person; Data Imports.
    provenance: observed
    source: 'react-console:lib/api/data-jobs/wizard.ts:wizardValidates'
  - 'n': 5
    actor_or_service: 'Wizard, Apply step'
    action: >-
      Approve the saved preview with digest and any phrase, or submit the
      uploaded file, then navigate to job detail.
    anchor: 'react-console:components/data-management/data-jobs/new/step-apply.tsx'
    seam: sync
    on_failure: Show submission or approval refusals.
    left_inconsistent: A created job remains inspectable after the wizard closes.
    observer: The job detail screen.
    provenance: observed
    source: >-
      react-console:components/data-management/data-jobs/new/confirm-apply-dialog.tsx
idempotency: >-
  A submitted request carries its key for retry reuse. Restarting the wizard can
  create another upload and another job.
concurrency: >-
  Wizard state holds no server lock. Interactive versions and ordinary engine
  receipts apply where supported; file input has no CRM preview.
branches:
  - Large handed-over selections become generated JSON Lines input.
  - >-
    The offered client record registry covers CRM kinds, leaving Platform jobs
    outside this wizard.
waits:
  - Multipart transfer reports progress while individual parts are sent.
evidence:
  - >-
    react-console at baf6dae3: components/data-management/data-jobs/new/**;
    lib/api/data-jobs/wizard.ts, capabilities.ts, mapping.ts, selection.ts,
    source-file.ts, uploads.ts, multipart.ts, object-types.ts.
  - >-
    services-crm at a8d1364f: aws/api/data-jobs.routes.ts (mapping targets),
    bulk-data-jobs.routes.ts.
controls: [TC-AVL-001, TC-AVL-004, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-CHG-001, TC-CHG-002, TC-CHG-003, TC-CHG-004, TC-CHG-005, TC-CHG-006, TC-CHG-007, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-CRY-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-004, TC-DAT-005, TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-IAM-006, TC-LOG-001, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-PI-001, TC-PI-002, TC-PI-003, TC-PI-004, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-PRV-004, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-TEN-004, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---

# Prepare And Submit A Job In The New Data Job Wizard

## What It Does

The wizard prepares file or selection input, maps values and chooses the available execution lane. It hands the person to job detail after approval or file submission.

## The Flow

```mermaid
flowchart TD
  H1["Wizard, What step"] --> H2
  H2["Wizard, Source step"] --> H3
  H3["Wizard, Mapping step"] --> H4
  H4["Wizard, Validate step"] --> H5
  H5["Wizard, Apply step"]
```

## When Something Fails

Local preparation errors stop before service submission. Transfer or job errors show retry information, while completed uploads and already submitted previews or jobs persist independently of the wizard.

## Open Design Questions

The recorded findings identify the remaining limits; this examination does not authorize stronger behavior or change the planning rules.
