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.
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 and Set up PDF Merger with the installation 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.
How a package is built
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.
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.
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.
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. | |
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 and Run packages for 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.
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.
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.
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.
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 and Package Builder Finish.
Get started
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.
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.
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, and what it creates in Package Builder Finish.
Set up the package—templates, arguments, and sequence. See Set up a package.
Merge it into one PDF if you want to. See Merge a package into one PDF.
Run it from a button or in the background.
Adjust the button or arguments using Formula URL parameters.
For advanced setups, see Repository mode and Run details and status.
If something goes wrong, see Package Builder messages and troubleshooting, or submit a technical support case.