--- title: "Package Builder overview" slug: "about-package-builder" updated: 2026-10-09T18:17:35Z published: 2026-10-09T18:17:35Z canonical: "help.quickbase.com/about-package-builder" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.quickbase.com/llms.txt > Use this file to discover all available pages before exploring further. # Package Builder overview ## Package Builder for Quickbase Create a complete set of documents for a record with a single action. Package Builder generates each document you need, in the order you choose, and can combine them into one PDF. Package Builder is a Quickbase Extension that builds a **package**: a set of documents for one record, such as a project, an employee, or an invoice. It doesn't create or merge documents itself. Instead, it runs your other document extensions one after another—**Exact Forms Plus**, **XL Docs**, **PDF Stamper**, and **PDF Merger**—each with the settings you've already given it on that record. Add a PDF Merger step at the end and the package becomes one merged PDF. Package Builder keeps track of each step, tells you which one failed if something goes wrong, and writes the result to a status field on the record. ## When to use Package Builder Use Package Builder when one record needs several documents, made by different extensions, produced together and in a set order—usually as a single PDF that can be sent for approval or kept on file. For example: - **Invoicing**—combine an invoice with the labor reports, change orders, and other documents that support it. - **Employee onboarding**—produce a new hire's contract, policies, NDA, direct deposit form, and tax forms (such as a W-4) together. - **Executive reporting**—bundle several reports into one document for a high-level view of your data. - **Client proposals**—assemble a proposal with its cover page and supporting documents. - **Legal document bundles**—put court filings, case summaries, and legal forms into one PDF. - **Educational portfolios**—package a student's assignments, evaluations, and reports for review. - **Event planning**—compile itineraries, contracts, and supporting documents into a PDF you can share. - **Grant applications**—produce a complete application package with its supporting files. ## What you need - **At least one document extension.** Exact Forms Plus, XL Docs, or PDF Stamper, installed in the same app. Installing one creates the **Document Templates** table that Package Builder uses, so the Package Builder installation wizard stops if the app doesn't have one yet. - **Each extension in the package set up on its own, for single records.** Every extension you want as a step needs its templates and its batch arguments field on the master table (for example **XL Docs Batch Processing Arguments**), so use each extension's single-record setup, not its bulk setup. Package Builder runs each step with those arguments, and each extension checks them against its own batch configuration, so test each extension by itself first. See [Set up a package](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-set-up-a-package#before-you-start). - **PDF Merger, only if you want one merged PDF.** Without it, Package Builder still creates every document; they just stay separate. See [Merge a package into one PDF](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-merge-into-one-pdf) and [Set up PDF Merger with the installation wizard](https://help.quickbase.com/quickbase-extensions/docs/en/pdf-merger-setup-with-wizard). - **Your Client ID.** The Package Builder fields identify your account with your Quickbase Extensions Client ID (*clientid=Q#*). The installation wizard fills it in; to look it up, see [Find your Client ID, table IDs, and field IDs](https://help.quickbase.com/quickbase-extensions/docs/en/find-client-id-table-ids-field-ids). ## How a package is built 1. **Templates are the steps.** Each step is a record in the **Document Templates** table. On it, **Add-On** says which extension runs (*Exact Forms Plus*, *XL Docs*, *PDF Stamper*, or *PDF Merger*), and **Arguments FID** is the field ID of the master-table field that holds that extension's batch arguments. Check **Not Required in Package** if the package should carry on when this step fails. 2. **The master record supplies the data.** The record the package is built for—the **master record**—holds each extension's arguments field, so every step works on that record. Package Builder writes the outcome to the record's **Package Builder Status** field. 3. **The sequence sets the order.** The **Package Builder Template Sequence** field lists the template Record ID#s, separated by periods, in the order they run—for example *4.3.1.2*. Add *:u* after a Record ID# (*4.3:u.1.2*) to make that step not required, the same as checking **Not Required in Package**. If the package ends with a PDF Merger step, that step merges the documents the earlier steps created. When a package runs, Package Builder starts each step in sequence order and waits for it to finish before starting the next. If a required step fails, the package stops there. If a step that isn't required fails, the package carries on and the failure is noted in the status field. In regular mode, when an arguments field holds several lines, the extension runs once for each line, in order; in repository mode, the whole field is passed to the extension in a single run. For the full walkthrough, see [Set up a package](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-set-up-a-package). ## Ways to run Package Builder | **Way to run** | **What happens** | **Learn more** | | --- | --- | --- | | Button with a progress window | The user selects **Process Package** on the record. A pop-up titled **Package Builder** shows *Generating your Package*, a progress bar with one segment per step, the step that's running, and the elapsed time. When it finishes it shows *Your package is ready!*, or *Something went wrong.* and the step that failed. The window must stay open until the package is done. | [Run a package from a button](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-run-from-a-button) | | In the background | A Quickbase email notification that you create sends the record's **Package Builder Batch Arguments** to the Package Builder request address when a condition you choose is met—for example, when **Package Builder Status** is set to a request value. The installation wizard doesn't create this notification or a trigger for it. No window is shown. The **Package Builder Status** field shows when the package is complete. To build packages for many records at once, set the request value on all of them—with Grid Edit, an import, or a Quickbase pipeline—and each record gets its own run. | [Run a package in the background](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-run-in-the-background) and [Run packages for many records](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-run-in-the-background#many-records) | Package Builder doesn't have an API or a Quickbase Pipelines step. To start a package automatically, use the background method; a pipeline can start it by updating the request value on the record. Either way, Package Builder reads and updates your app with the user token saved for your account, so the person who selects the button doesn't need a token of their own. If your account uses enhanced security, the button also posts a temporary token that confirms the person can see the record. See [Enhanced security overview](https://help.quickbase.com/quickbase-extensions/docs/en/enhanced-security-overview). ## Regular and repository mode By default, Package Builder runs in **regular mode**: each step's extension saves its document wherever that extension's own arguments say, such as a file attachment field on the master record. **Repository mode** is an advanced option you set up by hand; the installation wizard doesn't offer it. In repository mode, every document in the package is stored as its own record in a child **repository** table related to the master record, which makes it easier to review the documents and to merge them in order. Repository mode also lets you add **Static Document** steps (a fixed file, such as terms and conditions or a cover page) and **Dynamic Document** steps (a file attached to the master record); these steps work only in repository mode. Before each run, repository mode deletes the master record's existing repository records unless you set it not to. See [Repository mode](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-repository-mode). ## What Package Builder records - **Status field**—the **Package Builder Status** field on the master record shows the result and the time, for example *Process Successfully Completed on 10/6/2026 2:15:07 PM*, plus a line for each step that failed. - **Run details**—optionally, one record per step in the **Package Builder Run Details** table, with the extension that ran and the process details. See [Run details and status](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-run-details-and-status). ## Limits - Package Builder doesn't set its own limits on file size, pages, or number of documents. Each extension's own limits apply to its step. - Where the documents are saved, their file types, and the order of pages in a merged PDF all come from each extension's own arguments, not from Package Builder. - From the button, each step must finish within 5 minutes. For long-running steps, run the package in the background. ## What the installation wizard installs The installation wizard asks which table to set up—the table the package is built from—and adds: - **Fields on the table you select:** Package Builder Status, Package Builder Template Sequence, Package Builder Batch Email, Package Builder Batch Arguments, and Process Package (Progress Bar). - **Fields on the Document Templates table:** Add-On (with the choices Exact Forms Plus, XL Docs, PDF Stamper, and PDF Merger), Arguments FID, and Not Required in Package. - **A table:** Package Builder Run Details, related to the table you select. - **A batch configuration** for background runs, with your Client ID and app ID, and its *configid=* added to the batch arguments. See [Batch Config Portal overview](https://help.quickbase.com/quickbase-extensions/docs/en/batch-config-portal-overview). The wizard doesn't finish the setup. Until you fill in the Package Builder Template Sequence, the button shows *Template List not set. Please finish the setup for this Package Builder.* The wizard also doesn't create the email notification for background runs. See [Package Builder Setup](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-setup) and [Package Builder Finish](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-finish). ## Get started 1. **Learn the installation wizard.** You install Package Builder, and the document extensions it runs, with the installation wizard. If you haven't used it before, read [Quickbase Extensions installation wizard overview](https://help.quickbase.com/quickbase-extensions/docs/en/juiced-add-on-installation-wizard-overview). 2. **Install a document extension** and set up the templates you want in the package, using that extension's single-record setup on the table you'll build packages from. 3. **Install Package Builder** with the installation wizard. Sign in to the Extensions Portal and select **Setup** on the **Package Builder** tile. The Package Builder step is described in [Package Builder Setup](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-setup), and what it creates in [Package Builder Finish](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-finish). 4. **Set up the package**—templates, arguments, and sequence. See [Set up a package](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-set-up-a-package). 5. **Merge it** into one PDF if you want to. See [Merge a package into one PDF](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-merge-into-one-pdf). 6. **Run it** [from a button](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-run-from-a-button) or [in the background](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-run-in-the-background). 7. **Adjust the button or arguments** using [Formula URL parameters](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-url-parameters). 8. **For advanced setups**, see [Repository mode](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-repository-mode) and [Run details and status](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-run-details-and-status). 9. **If something goes wrong**, see [Package Builder messages and troubleshooting](https://help.quickbase.com/quickbase-extensions/docs/en/package-builder-messages), or submit a [technical support case](https://help.quickbase.com/docs/get-help-from-quickbase-technical-support).