> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# File: Bulk Data Loader

> This reference explains the File: Bulk Data Loader task.

This reference explains the File: Bulk Data Loader task.

Use the File: Bulk Data Loader task to run Zuora Bulk Data Loader jobs from a workflow. The task calls the Bulk Data Loader APIs to create a bulk job, upload a file to the pre‑signed S3 URL, submit the job, poll for completion, and then download and process the result files.

The task:

* Takes an input file from the workflow data payload (for example, a file produced by an upstream export task).
* Creates and submits a Bulk Data Loader job with the configuration you specify.
* Polls the Bulk Data Loader job status until it reaches a terminal state.
* Downloads the source, success rows, and error rows files after the job completes, and attaches them to the workflow.
* Writes a `BulkDataLoader` object into the workflow data payload with job details and result metadata.

The task appears under the **File** category in the workflow designer and is treated as a file‑related polling task.

## Execution flow

When a workflow run reaches this task, it performs the following steps in order, generally following the same steps referenced [here](/docs/platform/data-management/data-loader/data-loader-essentials-and-setup/tutorial-for-data-ingestion-using-bulk-jobs-api).

1. Create a Bulk Data Loader job using the configuration parameters you define in the task.
2. Upload the input file to S3 using the pre‑signed URL returned by the job creation step.
3. Submit the job for processing.
4. Poll the Bulk Data Loader job summary until the job reaches a terminal status (Completed, Failed, Aborted, or Cancelled).
5. If the job is Completed, retrieve the download links for the source, success rows, and error rows files.
6. Download and attach the result files to the workflow, and add parsed success and error rows into the workflow data.
7. Evaluate task success or failure based on the job status and the **Fail task if any records fail** setting.
8. Write the final job information into the `BulkDataLoader` object in the workflow data payload and continue along the Success path.

## Status handling

The task uses Bulk Data Loader job status to control polling and failure behavior:

* Polling continues while the job status is one of **Submitted**, **In Progress**, or **Aborting**.
* The task fails immediately if the job status becomes **Failed**.
* When the job status is **Completed**:

  * If **Fail task if any records fail** is **true** and `rowsFailed > 0`, the task fails.
  * If **Fail task if any records fail** is **false**, the task succeeds even if some rows failed.
* **Aborted** and **Cancelled** job statuses are treated as successful for the workflow and do not cause the task to fail.

## Input

The task expects a file object in the workflow data payload:

* **Object** identifies the file object in the `Files` data structure that should be used for the Bulk Data Loader job.
* If the specified file is a ZIP file, the task automatically extracts the first entry before uploading it to the Bulk Data Loader S3 URL.

If the file is not found in `Files` for the specified object name, the task fails with an error.

## Output

After the task completes, it updates the workflow data as follows:

* **Files** object:

  * Adds file references for the **source** file, **success rows** file, and **error rows** file created by the Bulk Data Loader job.
* **BulkDataLoader** object:

  * `jobId`: The Bulk Data Loader job ID.
  * `jobSummary`: The final job summary returned by the Bulk Data Loader summary API.
  * `downloadLinks`: The URLs returned by the Bulk Data Loader downloads API.
  * `successRows`: Parsed records from the success rows file (if available).
  * `errorRows`: Parsed records from the error rows file (if available).

You can use these data objects and file references in downstream tasks for additional processing, notifications, or audit.