Exact Forms Plus
Formula URL parameters - what's behind the button?
A formula URL field or a Formula Rich Text field is used to execute Exact Forms Plus! The following list shows each URL parameter and a brief description. The Document generation field is typically created in the Quickbase table that stores the "Master Records".
Parameter | Description | Sample in Formula |
Authorization parameters | ||
clientid | Juiced client identifier assigned to your account during the setup process. | "clientid=Q2" |
appid | Unique identifier for the Quickbase application. This is used to verify that your application is authorized to use EF+. | "&appid=" &appID() |
Document template parameters - Indicates the template to use and what table that template record resides in. | ||
tpdbid | Unique identifier for the Document Template table. This is the table in your application that stores the document templates. You can use the table alias name instead of hard coding the actual dbid. For example, you can use [_DBID_DOCUMENT_TEMPLATES] instead of dbht2xeby | "&tpdbid=" & [_DBID_DOCUMENT_TEMPLATES] or "&tpdbid=bdht2xeby" |
tpid | Record ID# of the Template record in the Document Template table. This indicates to EF+ which record in the document templates table to use in the document generation process. | "&tpid=1" |
Master or parent table parameters | ||
msdb | Unique identifier for the Master table. This is the table that stores the "master" record data. You can use the function "dbid()" instead of the actual table dbid and Quickbase will convert it properly. | "&msdb=" & Dbid() |
msid | Record ID# of the Master record in the Master table to process. This indicates to EF+ the specific record to process based on the [record id#] value. Typically, this is the built-in key field on the master table. If it has been renamed then use the renamed field label in between the "[]". | "&msid=" & [Record ID#] |
Output file parameters - Indicates the name of the output file, the format (Doc or PDF) and where to store it on the record being processed. | ||
fn | File Name - This is the value EF+ will use when creating the document file. Single record processing: EF+ will also append an underscore and the record id# of the record being processed to the file name. fn=PurchaseOrder If the document that is generated in the single record transaction is for record id#3 and a doc is requested. Here is what the file name would look like for that record: EX: PurchaseOrder_3.docx Notes:
Multiple record processing: When generating multiple documents in one transaction you can use values from each record as part of the file name by using the following format: fn=~7.11:-~|FEB2013 This will use the values from field id 7 and 11, join them together with a "-" and then append the constant text value "FEB2013" to this generated file name. EX: if fid 7 value = Quickbase if fid 11 value = 1007 If the first document that is generated in the multi-record transaction has the above values in fid 7 and 11 and a pdf is requested. Here is what the file name would look like for that first record: Quickbase-1007FEB2013_9.pdf Make sure the clist on the document template record includes any field id's used as part of the file name. (for example, fields 7 and 11 in the example above) | "&fn=PurchaseOrder" or "&fn=" & URLEncode([DocName]) |
fnrid | File Name Record ID#. By default, EF+ appends the Record ID# at the end of the generated document file name. If this is not the experience you want, then include fnrid=n in the url parameter list. Ex: For a record with Record ID# = 123 The generated document file name will be: Invoice_123.docx or Invoice_123.pdf If fnrid=n is passed as a url parameter, then the file name will be Invoice.docx or Invoice.pdf Important note: when using this parameter in the multi-record process AND creating a merged pdf for all records processed, make sure you include some unique field value in the file name (fn) parameter, otherwise the merged PDF will contain the same file merged with itself over and over again. ex: If you have a field called Invoice#, and it is unique for each record, then use that field in the fn parameter so that each file created is unique. | "&fnrid=n" |
docfmt | Document format. This indicates how the output document should be formatted, either as a Word document or a PDF. When using "doc", EF+ will create a doc or docx, depending on the format of the template document referenced in the tpid parameter. If the template file is a .docx EF+ will create an output .docx | "&docfmt=doc" or "&docfmt=pdf" |
faid | File Attachment field id. This is the field id of the file attachment field in the master table that will be updated with the EF+ generated document. | "&faid=51" |
efpdte | Exact Forms Date. This is a field in the master table that will be updated with the date/time that EF+ created the document. It should be a date/time type field. Note: This field does not get updated when using the save to repository table option. | "&efpdte=92" |
Miscellaneous parameters | ||
ver | Exact Forms Version. this parameter will display the version of Exact Forms Plus that you are currently running. There is no transaction cost when using the version parameter and NO documents are generated. | ver=y or ver=n |
apptoken | Application token. If the Quickbase application requires application tokens then pass a token in this parameter. (NO Longer necessary, but older installations may use this parameter but it is ignored) | |
stream | Indicates to EF+ how the generated document should be handled once created. This parameter only works when you are using the Stream to Browser User Experience. For example, the first line in the formula code for the button that executes Exact Forms Plus typically ends with "../doc_merge_UA.aspx?" doc_merge.aspx? - this runs the Progress Bar User Experience so stream is ignored doc_merge_UA.aspx? - this runs the Stream to Browser User Experience y - The generated document will be opened in the browser. If the output requested is pdf then the document will open right in the browser, if the output is doc then it will be downloaded to the browser tray. n - The generated document will not be opened or downloaded d - The generated document will be downloaded to the browser instead of being opened inside the browser - only relevant when creating PDF documents since word documents are downloaded when created. | "&stream=y" or "&stream=n" or "&stream=d" |
clist | Column list. This parameter can be omitted when the Document Template record that you are referencing in the tpid= parameter has a valid clist. This clist parameter can be used to override the clist on the template table. A clist is necessary so that EF+ know which fields from the master table to retrieve. If a field is to be displayed in the output document, its field id must appear in the clist. Using the clist as a URL parameter will override the clist that is stored on the document template record. It is not necessary to include the clist if you are using the msqid parameter. If not using the msqid parameter a clist is required but it can come from the template record or by using the clist in the URL. It is recommended to use the clist on the template record and omit this from the URL. So when possible, use the clist from the template record and omit this parameter. | "&clist=3.6.10.11.12.13.14" |
clist2 | Column List 2. This is optional and is used in the case where you want to include master field id's in your data that is presented in your subtables. When you don't have a direct relationship between your master table and subtable but you want to include some fields from the master table in one or more fields that appear in the subtable you can include those field id's in this list. Ex: Quoting application: We have a Quotes table and a Terms table. The terms table is just a library of terms and has NO relationship to the Quotes table. There is a field on the Quotes table called # of Users (fid=25). We want to include a term record from the Terms table and a field on the Terms table called Description needs to include the # of Users from the Quotes table. An example of a term record's description field looks like this: The Enterprise Plan subscription is based on a one year term and includes ~25~ users. In this case we would include clist2=25 in the formula url field on the Quotes table so that the value for the # of Users field on the Quotes table will appear in the description field in the subtable on the Quote document created. | "&clist2=25.26" |
clear | Field id of a field(s) on the same record being processed to clear out after the document is created. Ex: clear = 10 or clear=10.20 This will clear the data in fields 10 or 10 and 20 after the document is created. | "&clear=10" |
fp | File path - (deprecated, do not use) | |
addfiles | Additional Files - When generating a PDF using Exact Forms Plus you can append additional PDF files to the generated PDF file using this parameter. (only works with PDF Files). The document that is created by Exact Forms Plus will always be first, files referenced in the addfiles parameter will appear AFTER that. The additional files can be in file attachment field(s) in the same table as the generated Exact Forms Plus PDF or in file attachment field(s) in another table. Reference the file attachment field by field id — for example, 109 Separate multiple files by "." — for example, 109.108 addfiles=109.108 To pull in a file from another table, use the dbid of the table, the record id# of the record that has the file and then the field id of the file attachment field in that table. Ex: biffz38tm:1:7 FIDXXX You can also reference a field that points to the file to be added. Ex: addfiles=FID123 Field 123 may have a formula like this: "bxxxxxxxxx:15:16" Note: Field 123 must be included in the clist field on the document template record 15 - this is the record id# of the record in the table that has the file 16 - this is the file attachment field id in the table that has the file
Amazon S3 The additional PDF files can also be located in Amazon S3 Reference the file in S3 using the following syntax ex: S3|keyvalue S3 followed by the pipe tells EF+ that the file to be appended is located in Amazon S3. The value after the "pipe" represents the key to use when retrieving the file from Amazon S3. You can also use a combination of files in fa fields and Amazon S3 Note: this is limited to 10 files. | "&addfiles=109.108.biffz38tm:1:7" or "&addfiles=FID123" or "&addfiles=109.108.biffz38tm:1:S3|bbbbb_123" |
prefiles | Pre-Prend Files - Works exactly the same as addfiles except the files will be PRE-pended, added before, the document created by EF+ Note: this is limited to 10 files. | "&prefiles=109.108.biffz38tm:1:7" or "&prefiles=FID123" or '&prefiles=109.108.biffz38tm:1:S3|bbbbb_123" |
wm | Watermark. This allows you to include a watermark in your output document. format is Text|Color|Font-Size (v9.4 and above) | "&wm=DRAFT|Red|65" |
embedfonts | By default, this is off to keep the pdf file size as small as possible. When set to "y" it will embed true type fonts in the generated PDF. | "&embedfonts=y" |
accessible | This setting allows you to preserve document structure tags in the converted PDF Document for accessibility (508 Compliance).
| "&accessible=y" |
test | Use this parameter to test your template changes so that they don't count towards your transaction limits. There are some limitations when using this parameter:
| "&test=y" "&test=n" |
fillout | Fillable PDF: If your Word document template contains form fields, and you want those to be maintained in the output PDF file set this to "y". Note: EF+ only supports Legacy Form Fields
| "&fillout=Y" |
uid | Allows for the ability to update a field on the MASTER table with the user that generated the document. Ex: uid=99:" & UserToEmail(User() The target field, 99, can be a user, email or text type field Updating the user cannot be done in the UPMAP parameter because the current user that EF+ executes with is the one that we have the user token on file for. | "&uid=99:" & UserToEmail(User()) |
upmap | Allows for the ability to update additional fields in the master table during the document creation process. ex: upmap=60:59|61:33 format: field to update: field to get value from ... delimit by | for multiple fields | "&upmap=60:59|61:33" |
preqbaction | Pre Quickbase Action - allows for the ability to edit the record that the button is clicked on, prior to the document being generated. In the past, to perform this type of functionality, you had to perform the api edit record call and then redirect to our add-on to generate the document. Using this parameter eliminates the need to redirect since you are passing the api edit record command into the add-on itself. Base64Encode the api edit record command as well. See sample to the right-->
Result
| "&preqbaction=" & Base64Encode( |
Amazon S3 parameters - To store the generated document in AmazonS3, use these parameters. They indicate the bucket to store the file in and the key values to use. | ||
amazons3 | Amazon S3 integration. If the generated document is to be stored in Amazon S3 then this parameter should be set to "y" or "d" or "m" "y" - store the file, or files in Multi-record processing, in Amazon S3 Multi-record processing
| "&amazons3=y" "&amazons3=d" or |
s3bkt | Amazon S3 Bucket name. This will override the bucket to use when saving files to Amazon S3. There is a default bucket setup when your account is created and if this parameter is not passed in the default bucket will be used. This is a way to override the default bucket. | '&s3bkt=test" |
s3key | Amazon S3 Secret Access Key. This will override the secret key to use when saving files to Amazon S3. The key is set up when your account is created, and if this parameter is not passed, the default key will be used. This is a way to override the default key. Some clients setup their S3 account to automatically change the s3 key or you can periodically change the key, if you do so then this needs to be passed in. We recommend using an application variable to store this value if you want top pass it in. | "&S3key=kkkkkkkkkkkkkkkk" |
s3keyval | S3 Key Value - this is the key value that the file will be stored with in the S3 bucket. It is the key used as the file name and is used to access the file in S3. | "&S3keyval=bbbbbbbb" |
keyfid | Amazon S3 key field id. Holds the value of the key that links the document to the record in Quickbase. Note: When using the save to repository table option and S3 together this value should be the S3 Key field in the repository table. The value saved to this field is created by Exact Form Plus in the following format: fn=Value_Record ID#Value_msdbidValue_file extension Example: Given the following values passed into EF+: fn=PO_1003 Record ID#=3 msdbid=bbbbbb docfmt=pdf This is the key field value: PO_1003_3_bbbbbb.pdf | "&keyfid=81" |
- - To store the generated document in Dropbox, use these parameters. They indicate the folder to store the file in and the key value to use. | ||
dropbox | Dropbox integration. If the generated document is to be stored in Dropbox then this parameter should be set to "y" or "d" or "m". "y" - store the file, or files in Multi-record processing, in Dropbox Multi-record processing
| "&dropbox=y" "&dropbox=d" or "&dropbox=m" |
dropboxdir | DropBox folder name. This will override the folder to use when saving files to DropBox. There is a default folder setup when your account is created and if this parameter is not passed in the default folder will be used. This is a way to override the default folder. | "&dropboxdir=test" |
dropboxkeyfid | DropBox key field id. Holds the value of the key that links the document to the record in Quickbase. The value saved to this field is the file name that is created by Exact Forms Plus! Ex: PO_IQB1008_8 | "&dropboxkeyfid=81" |
Egnyte parameters - - To store the generated document in Egnyte, use these parameters. They indicate the folder to store the file in and the key value to use. | ||
egnyte | Egnyte integration. If the generated document is to be stored in Egnyte then this parameter should be set to "y" or "d" or "m". "y" - store the file, or files in Multi-record processing, in Egnyte Multi-record processing
| "&egnyte=y" "&egnyte=d" or "&egnyte=m" |
egnytedir | Egnyte folder name. This will override the folder to use when saving files to Egnyte. There is a default folder setup when your account is created and if this parameter is not passed in the default folder will be used. This is a way to override the default folder. | "&egnytedir=test" |
egnytekeyfid | Egnyte key field id. Holds the value of the key that links the document to the record in Quickbase. The value saved to this field is the file name that is created by Exact Forms Plus! Ex: PO_IQB1008_8 | "&egnytekeyfid=81" |
Multi-record transaction parameters - When processing more than one record with a single button click, these parameters identify which records to process from the Master table, how to name the merged PDF file and where to store the merged PDF file. | ||
mrgdbid | Merged table id. When creating a merged PDF you can specify the table that the merged PDF should be stored in. | "&mrgdbid=bdht34b26" or "&mrgdbid=" Dbid() |
mrgrid | Record ID# of the record that the merged PDF will be stored in | "&mrgrid=3" |
mrgfa | File attachment field id to stored the merged PDF file in | "&mrgfa=10" |
mrgfn | Name to use for the merged PDF file | "&mrgfn=allpdfs" |
mrgdte | Merge Date field id. This is a field in the Merged table that will be updated with the date/time that EF+ created the merged document. It should be a date/time type field. | "&mrgdte=99" |
mrgfiles | Merge Files. When generating a PDF using Exact Forms Plus you can append additional PDF files to the generated merged PDF file using this parameter. (Only works with PDF Files) The additional files can be in file attachment field(s) in the same table as the generated Exact Forms- Plus PDF or in file attachment field(s) in another table. Reference the file attachment field by field id — for example, 109 Separate multiple files by "." — for example, 109.108 To pull in a file from another table, use the dbid of the table, the record id# of the record that has the file and then the field id of the file attachment field in that table. Ex: biffz38tm:1:7 You must also include the merged PDF url parameters: & "&mrgdbid=" & Dbid() | "&mrgfiles=109.108.FID23" |
mrgkeyfid | Merged Key Field ID. This is used to identify the field id of the field that will store the S3 key value for the Merged File, if the Merged File is being saved to Amazon S3. This is not needed is storing the merged file in a file attachment field. | "&mrgkeyfid=10" |
mrgs3keyval | Merged File S3 Key Value - this is the key value that the file will be stored with in the S3 bucket. It is the key used as the file name and is used to access the file in S3. | "&mrgs3keyval=bbbbbbbb" |
msqry | Master table query. This is used to process multiple records in a single transaction. It is used to filter the records from the master table to identify only the records that you want to include in the process. The example to the right will generate a document for each record from the master table that has the value "Active" in the field with field id 10. You can use the Quickbase api documentation to help you setup the query string filter properly. | "&msqry={'10'.EX.'Active'}" |
slist | Can be used with msqry to control the order of the records to be processed | "&slist=3.10" |
opts | Can be used with msqry to control the order of the records to be processed This is the same as per Quickbase api documentation. Specifies data retrieval options for the query. You can use any or all of the options, separating the options with a period. num-n --Specifies a maximum of n records in the return onlynew --Returns only those records marked with new or updated flags skp-n --Skips the first n records returned by the query **When using sortorder-X, you need to include an option (X) for each field in your slist. Ex. slist=7.8.9,groupfid=20, opts=sortorder-ADDD | "&opts=sortorder-ADDD" |
msqid | Master table query id. - NOT RECOMMENDED when creating single documents. This parameter was originally used by EF+ to gather the fields required for the output document. It is not efficient because it will return all records in the report and then search through those records to find the record to process. It is still listed here because older versions of EF+ still use it. The introduction of the clist changed the way in which EF+ identifies fields to return. However, this parameter is still used when running the Exact Forms Plus Batch Processor or the multi-record merge process to generate multiple documents in a single transaction. Use the report query id value in this parameter. Ex: The List All report is typically "1". You should create a new table report, filter the records to only display the records you want to have documents generated for, and save the report. After saving the report Quickbase assigns an id to that new report, use that value here. | "&msqid=1" |
| ||
Repository table parameters - When storing the generated document in a table other than the table the EF+ button is being executed from, these parameters indicate to EF+ which table to store the generated document on and whether a new record should be created in that table or an existing record should be updated. | ||
repository | Use a repository table. Save the generated documents in a table OTHER than the Master table | '&repository=y " |
rpdbid | Repository table id | "&rpdbid=bdht2xebz" or "&rpdbid=" & [_DBID_REPOSITORY] |
rpfid | Repository table field id. (Key fid for how the table is related to the Master table) Ex: If the Repository table is related to the PO table then the field id of the [Related PO] field would be used here. | "&rpfid=9" |
rpfafid | Repository table file attachment field id. Indicates which file attachment field in the Repository table to store the generated file. | "&rpfafid=13" |
rpfidval | Repository Field Value. Used when the master table key is set to a field other than the [record id#] field (3). | "&rpfidval=" & [keyfieldname] |
rpmode | When using a repository, specify the mode to use — Add or Update. Using Add will always insert a new record into the repository table, Update will update a record in the repository table using the next 2 parameters to identify which record to update. When using rpmode=u if a record is NOT found it will be inserted If more than 1 record is found only the last record found will be modified | "&rpmode=a" or "&rpmode=u" |
rpkfid | Used with rpmode=u. Field id to search to identify the record to update. | "&rpkfid=20" |
rpkval | Used with rpmode=u. Value to search for in the rpkfid field to identify the record to update. | "&rpkval=" & [some field] |
rpmap | Used to map additional fields in the repository table to fields from the master table. Field mapping must be a field paring. You must use field id's that exist in the tables. Format is field id of field in repository table: field id of field from master table. Use "|" for multiple field pairings
The above examples will:
Important: Do not map fields that are referenced in the parameters: rpfid, rpfaid, rpkfid (This feature is available in EF+ v9.1 and above) | "&rpmap=9:6|6:220|7:218" |
rpuid | Allows for the ability to update a field on the Repository table with the user that generated the document. Ex: rpuid=99:" & UserToEmail(User() The target field, 99, can be a user, email or text type field Updating the user cannot be done in the RPMAP parameter because the current user that EF+ executes with is the one that we have the user token on file for. | "&rpuid=99:" & UserToEmail(User() |
NOTE: To store the files in Amazon S3 or DropBox include the parameters for those services above. The key field should reference a field on the Repository table | ||
Advanced security related parameters - there a few parameters that can be used to further enhance the security of the EF+ transactions as well as the documents being created | ||
docpw | Password Protect the generated document. PDF: When the output document is a PDF, this password will be required to open the PDF file. | &docpw=abc123" |
docpwo | Only used when docfmt=PDF | "&docpwo=abc123" |
xid | Expire the URL - you can make the url a 1 time use url if you want. Contact us for more information and for a sample of the formula code that can be used in this field (EFP Token]) | "&xid=" & [EFP Token] |
xidexpmsg | Expire URL Message Text message to display to the user that executed EF+ | "&xidexpmsg=Your request to generate a Document has expired" |
xidexpmsgfid | Expire URL Message field ID Field id of a field in your table that has the message that you want displayed to the user that executed EF+ | "&xidexpmsgfid=99" |
Exact Forms Plus Batch Processor specific parameters - there are a few parameters that are only available when using the EF+ Batch Processor | ||
errdbid | Error Table DBID - This is a table that was added by the setup wizard to log errors that were encountered during a batch processing run | " errdbid=bdht2xebz" or " errdbid=" & [_DBID_BATCH_PROCESSING_ERRORS] |
errmsgfid | Error Message Field ID - the field id in the error table that will store the error message that describes the error that was encountered. | " errmsgfid=99" |
errrfid | Error Related Field ID - this is the field id of the field that connects the Error table to the table from where the batch process was executed from. | " errrfid=99" |
errrfidval | Error Related Field Value - this is the value of the field that will be saved in the errrfid | " errrfidval=99" |
errargsfid | Error Arguments Field ID - this is the field id of the field that will store the EFP Batch Processing arguments that were passed into the efp batch process when it received an error. | " errargsfid=99" |
msdbefid | Master Table Error Field ID - SINGLE Document processing only - if the batch processor receives an error and this parameter is passed in, the field referenced will be updated with the error message. | " msdbefid=99" |
configid | Configuration ID - Security related parameter to ensure that each batch request is registered with our batch processor. This identifier will validate that the request that it is being executed is for the proper client, application, table and that the fields it will update have not been changed from the original setup. | " configid=bbbbbbbbbbbbbbbbbbbbbbbbb" |
Important EFP Batch requirement: if a value passed in any parameter in the EFP Batch Arguments field will have space(s), you need to enclose the value in double quotes. If you do not do this, then EFP Batch will error. When a space is detected in the parameter list, the characters immediately following the space is considered a new parameter. So that is why the value needs to be enclosed in double quotes. If the value that may contain space(s) is in a field, then you can use this example: (just replace FieldName with your field name) If the value is static, then you can use this example: | ||
**Note: Not all of these parameters are valid in all versions of Exact Forms Plus!
Here is a sample from the formula URL field in the Exact Forms Plus! demo application. This example will save the generated document in a file attachment field AND in Amazon S3. It will also open document right in the browser.
Sample URL code
"https://www.quickbaseutilities.com/Juiced/DocumentMerge/doc_merge_UA.aspx?"
& "clientid=Q2"
& "&appid=" & appID()
&"&tpdbid=" & [_DBID_DOCUMENT_TEMPLATES]
&"&tpid=2"
& "&fn=PO_" &URLEncode([Client Key])&URLEncode([PO Number])
& "&msid=" & URLEncode ([Record ID#])
&"&msdb=" & Dbid ()
&"&faid=51"
& "&docfmt=doc"
& "&amazonS3=Y&keyfid=81"
& "&efpdte=92"
& "&apptoken="
&"&stream=y"Based on the parameter settings above the following will occur...
The "Stream to Browser" User experience will use doc_merge_UA.aspx and you need to include &stream=y. To use the Progress Bar User Experience remove the "_UA", the &stream is ignored because EF+ cannot show the progress bar AND stream the document to the browser at the same time.
The client id Q2 and the application with id bdht2xebx will be checked for authorized access to EF+.
The document will be created using the template file with record id #2 (tpid=2) from the Document Templates table.
It will name the generated document "PO_" and the value in the Client Key field and the value in the PO Number field.
The master record to create the document for is determined by the value in the record id# field. (msid=[Record ID#])
The master table that has the record that is to be processed is determined by the built in function dbid(). (msdb=dbid())
It will store the file in a file attachment field with field id #51.
It will create a word document. (docfmt=doc)
It will store the file in Amazon S3.
It will store the S3 key value in a field with field id #81
It will update the record and set the date/time that the document was created in the date/time field with field id #92.
It is not using application tokens, if your application has tokens turned on then add the token value after the "=" in the apptoken parameter
It will open the document right within the users browser when complete.
.png?sv=2026-02-06&spr=https&st=2026-09-16T18%3A25%3A37Z&se=2026-09-16T19%3A02%3A37Z&sr=c&sp=r&sig=O08riiOqjol8%2FyUUFV4ZUPPfuLY4UnNlkd%2FXcLJtvlM%3D)
.png?sv=2026-02-06&spr=https&st=2026-09-16T18%3A25%3A37Z&se=2026-09-16T19%3A02%3A37Z&sr=c&sp=r&sig=O08riiOqjol8%2FyUUFV4ZUPPfuLY4UnNlkd%2FXcLJtvlM%3D)