Parameters

Prev Next

The Exact Forms Plus Batch Processor creates documents in the background. A Quickbase email notification sends the value of the Batch Processing Arguments field to the Batch Processor, and the arguments tell it which template to use, which records to process, and where to save the documents. This page lists every argument. To set up the notification, see Email notification setup.

The setup wizard builds the Batch Processing Arguments formula for you. Open the field's properties to see it, and edit it there to change what the batch run does.

How the arguments are written

The arguments are mostly the same parameters as the formula URL parameters of the buttons, written differently:

  • Separate parameters with spaces, not &, and don't include a web address. For example: "clientid=Q1234" & " appid=" & AppID() &" msid=" & [Record ID#].

  • Put values that can contain spaces in double quotes. In a formula, write the quotes as \": & " fn=\"Purchase Order\"", or for a field value & " fn=\"" & [Customer Name] & "\"". A space outside quotes stops the batch run, and nothing is written back to your records.

  • Parameter names aren't case-sensitive (MSID and msid are the same), with one exception: write clientid= in lowercase.

  • Values are URL-decoded. %20 becomes a space, and a + becomes a space too. To pass a literal plus sign, write %2B. Don't use & in values; write it as %26.

  • Use plain ASCII text. Accented letters and other non-ASCII characters are removed from the arguments before the run.

  • Give each parameter once. A parameter that appears twice stops the run.

  • A = inside a value is fine, for example in a query.

  • If the notification sends several lines (one per record changed, for example with Grid Edit), each line is processed as a separate run. See Email notification setup.

Required parameters

Parameter

What it does

Example

clientid

Your Quickbase Extensions client ID. Write the name in lowercase.

"clientid=Q1234"

appid

The app the arguments come from.

& " appid=" & AppID()

type

Sends the request to the Exact Forms Plus Batch Processor: efpbatch (efpbatcheu for apps on the EU realm).

& " type=efpbatch"

tpid

The template: the Record ID# of the Document Templates record, or the Quickbase Document Creation template ID with native=y. Must be a number.

& " tpid=1"

tpdbid

The Document Templates table. Required for Word templates; leave it empty with native=y.

& " tpdbid=" & [_DBID_DOCUMENT_TEMPLATES]

msdb

The table that holds the records to process (the master table).

& " msdb=" & Dbid()

msid, msqid, or msqry

Which records to process: one record (msid), a saved report (msqid), or a query (msqry). One of them is required. If you give both msqid and msqry, msqid is used.

& " msid=" & [Record ID#]

configid

The batch configuration for these arguments. Required if your app's batch configurations are checked (see Batch configuration). The wizard fills it in.

& " configid=a1b2c3d4…"

msid, tpid, faid, efpdte, docsize, and mrgdocsize must be numbers.

Parameters that work as on the buttons

These parameters do the same as on the buttons. For details and examples, follow the links to Exact Forms Plus formula URL parameters.

Purpose

Parameters

Batch notes

Output file

docfmt, fn, fnrid, clist, clist2

Without fn, the file is named NA. Commas in the file name become spaces, and \ / : * ? < > | . " are removed.

Records

slist, opts

See Limits for how many records a run processes.

Update the record

faid, efpdte, docsize, upmap, uid, clear

clear runs only when the record is also updated in another way, for example by faid or efpdte.

Protection and PDF options

docpw, docpwo, wm, fillout, accessible, embedfonts, prefiles, addfiles

A watermark in the wrong format stops the run: use wm=TEXT|COLOR|SIZE.

Merged document

mrgdbid, mrgrid, mrgfa, mrgfn, mrgdte, mrgdocsize, mrgfiles, mrgkeyfid, mrgs3keyval

A merged document is created only when both mrgdbid and mrgrid are given. Default name: Merged_ plus mrgrid.

Repository table

repository, rpdbid, rpfid, rpfidval, rpfafid, rpmode, rpkfid, rpkval, rpmap, rpuid

Cloud storage

amazons3, keyfid, s3keyval, s3bkt, encrypt, dropbox, dropboxdir, dropboxkeyfid, egnyte, egnytedir, egnytekeyfid

Quickbase Document Creation templates

native, stdbid

With native=y, Quickbase generates a Word document that Exact Forms Plus then processes.

Other

apptoken

Not needed; the wizard leaves it empty.

Not available in batch: test, preqbaction, and ver. stream is accepted but ignored, because nothing is opened in a browser.

Batch-only parameters

These parameters tell the Batch Processor where to report what happened.

Status field on the master record

Parameter

What it does

Example

msdbefid

A text field on the master record that gets the result of the run (see What the Batch Processor writes back). For a single-record setup, the wizard uses EFP Batch Trigger - Msg Field.

& " msdbefid=45"

Batch Processing, Logs, and Errors tables (bulk setup)

Parameter

What it does

Example

efpbdbid

The Batch Processing table, which holds the record the run was started from.

& " efpbdbid=" & Dbid()

efpbrid

The Record ID# of that Batch Processing record.

& " efpbrid=" & [Record ID#]

efpbkey

The record's key value, if the Batch Processing table's key field isn't Record ID#. Optional.

& " efpbkey=" & [Batch Key]

efptfid

The Trigger Field on the Batch Processing record. It gets the result of the run.

& " efptfid=6"

efpadbid

The Batch Processing Logs table. Each run adds a log record.

& " efpadbid=" & [_DBID_BATCH_PROCESSING_LOGS]

errdbid

The Batch Processing Errors table.

& " errdbid=" & [_DBID_BATCH_PROCESSING_ERRORS]

errmsgfid

The Errors table field for the error message.

& " errmsgfid=6"

errrfid

The Errors table's reference field to the Batch Processing table.

& " errrfid=7"

errrfidval

The value to put in errrfid, usually the Batch Processing record's Record ID#.

& " errrfidval=" & [Record ID#]

errargsfid

The Errors table field for the arguments of the failed run.

& " errargsfid=8"

Errors are logged to the Errors table only when all five err… parameters are given.

Examples

Single-record setup (master table)

Creates a PDF for the record that changed and saves it to EFP Document:

"clientid=Q1234"
& " appid=" & AppID()
&" tpdbid=" & [_DBID_DOCUMENT_TEMPLATES]
&" tpid=1"
& " msid=" & [Record ID#]
&" msdb=" & Dbid()
&" faid=51"
& " efpdte=52"
& " docfmt=pdf"
& " fn=\"EFP_Document\""
& " apptoken="
&" msdbefid=53"
& " type=efpbatch"
& " configid=a1b2c3d4…"

Bulk setup (Batch Processing table)

Creates a document for every record in report 12 of the master table, logs the run, and merges the documents into one PDF on the Batch Processing record:

"clientid=Q1234"
& " appid=" & AppID()
&" tpdbid=" & [_DBID_DOCUMENT_TEMPLATES]
&" tpid=1"
& " msdb=" & [_DBID_PURCHASE_ORDERS]
&" msqid=12"
& " fn=\"EFPBatchFile\""
& " faid=51"
& " efpdte=52"
& " docfmt=pdf"
& " efpbdbid=" & Dbid()
&" efpbrid=" & [Record ID#]
&" efptfid=6"
& " efpadbid=" & [_DBID_BATCH_PROCESSING_LOGS]
&" errdbid=" & [_DBID_BATCH_PROCESSING_ERRORS]
&" errmsgfid=6"
& " errrfid=7"
& " errrfidval=" & [Record ID#]
&" errargsfid=8"
& " mrgdbid=" & Dbid()
&" mrgrid=" & [Record ID#]
&" mrgfa=9"
& " mrgfn=\"MergedFile\""
& " mrgdte=10"
& " apptoken="
&" configid=a1b2c3d4…"
& " type=efpbatch"

Use your own field IDs, table aliases, and configuration ID. To send these arguments to the Batch Processor, see Email notification setup.

Batch configuration

When the setup wizard creates a batch setup, it also saves a batch configuration: a list of parameters and the values they're allowed to have, for example the file attachment field in faid. If batch configurations are checked for your app, every run is compared with the configuration given in configid:

  • Only parameters listed in the configuration are checked. Others aren't.

  • A listed parameter's value must match one of its allowed values exactly, including upper and lower case. A listed parameter that you leave out of the arguments passes.

  • If you change a checked value in the formula, add the new value in the Batch Configuration Portal too. See Manage batch configurations.

If the arguments don't match, the run stops and one of these messages is written back:

  • No ConfigID was passed in. This configuration requires a ConfigID.

  • Could not find a Config with ConfigID … - this configuration requires a ConfigID.

  • The following parameters do not match the configuration: […]

  • Encountered duplicate parameter […]

What the Batch Processor writes back

When a run finishes, the Batch Processor writes the result to the field in msdbefid (single-record setup) or efptfid (bulk setup), replacing Batch Execution Requested_ and the time that the Execute EFP Batch or Execute Batch button put there:

Result

Text written

Success

PROCESS COMPLETED_ and the date and time, for example PROCESS COMPLETED_10/7/2026 2:15:03 PM

Error

ERROR ENCOUNTERED_, the date and time, and the error message

No records found

PROCESS COMPLETED_, the date and time, and NO RECORDS TO PROCESS. With an Errors table, an error record There were NO Master records returned to process is added and the field shows ERROR ENCOUNTERED_ instead.

The time is in your app's time zone. Once the text no longer contains Requested, the button to start a run appears again.

In a bulk setup, each run also adds a record to the Batch Processing Logs table, with Status, Notes, Documents Processed, Start, and End (Run Duration is a formula). The Batch Processor writes these fields by name, so don't rename them. If error logging is set up, each error adds a Batch Processing Errors record with the Error Message and the Arguments.

Limits

  • Documents per run: your account sets the maximum number of documents a batch run creates. If the records to process are more than that, only the first ones are processed and the rest are skipped, with no error. Split large runs into smaller reports or queries if needed.

  • Records per embedded report: also set by your account. If an embedded report returns more, the run stops with ERROR: Maximium # of records for a subtable exceeded.

  • An error stops the run. Documents created for earlier records are kept, but the rest aren't created, and the log shows 0 documents processed.

If the batch run doesn't work

What you see

What to do

The status field still says Batch Execution Requested_ long after the run should have finished

Either the email notification didn't send, or the arguments couldn't be read. For the notification, see If nothing happens. In the arguments, check that clientid= is in lowercase, that every value with spaces is in quotes, that no parameter appears twice, and that type=efpbatch is present.

The following parameters do not match the configuration

A value in the arguments isn't an allowed value in the batch configuration. Fix the formula, or add the value in the Batch Configuration Portal (see Batch configuration).

The template record was not found. … or The template table was not found. …

Check tpid and tpdbid.

A clist is required. …

Add the fields to the template's clist with the EFP Configurator, or pass clist in the arguments.

File Name error: …

A field used in fn isn't in the clist, or fn doesn't have exactly two ~.

ERROR CREATING WATERMARK IN DOCUMENT. …

Write wm as TEXT|COLOR|SIZE.

Document NOT Saved to Amazon S3...Error: …, Error occured saving file to Dropbox. …, or Error occured saving file to REPOSITORY TABLE. …

The document couldn't be saved to that destination. Check the cloud storage or repository parameters.

Fewer documents than records

The run reached your account's document limit (see Limits).

If you still need help, open a technical support case.

See also: Email notification setup, Exact Forms Plus formula URL parameters, Set up Exact Forms Plus with the installation wizard.