Formula URL parameters: what's behind the link?
An Extensions Downloader link is a URL made of your server address followed by parameters that say which account and app the link belongs to, which storage to read from, and which file to get. The installation wizard builds these links for you in the View File fields it adds (see Extensions Downloader overview). This article explains every parameter so you can change those fields or build your own links. For your Client ID and field IDs, see Find your Client ID, table IDs, and field IDs.
Base address
"https://..." // your Extensions Downloader server URL, created by the installation wizardReplace https://... with your designated Extensions Downloader server URL, created by the installation wizard. It ends in /Download.aspx?. The easiest way to get it is to copy it from a View File field the wizard created in your app.
How parameters are written
A link can carry its parameters in one of two forms. Both use the same parameter names.
Form | What it looks like | Use it when |
|---|---|---|
Plain | Parameters joined with &, for example clientid=Q1234&appid=bxxxxxxxx&cloud=S3&cloudkey=... The installation wizard writes this form for Document Portal's View File field. | You build a link yourself, or you want the file to open in the browser. All parameters, including forcedownload, work in this form. Wrap values that come from fields in URLEncode() so spaces and characters such as & or # reach the Extensions Downloader intact. |
Encoded | A single parameter, request=, followed by the whole parameter string encoded with Base64Encode(). The installation wizard writes this form for the View File fields of XL Docs, Exact Forms Plus, and PDF Stamper. | You keep the wizard's field as it is. When request is present, every other parameter in the URL is ignored. Values inside the encoded string are read exactly as written, so don't wrap them in URLEncode(). |
A few practical notes:
Encoded links always download. To open files in the browser, use the plain form with forcedownload=false.
Keep keys simple in encoded links. Letters (A-Z), numbers, spaces, and common punctuation work. Accented or non-English characters don't survive the encoded form; use the plain form with URLEncode() for those keys.
Names and storage codes aren't case-sensitive. cloud=S3 and cloud=s3 mean the same thing. Keys are case-sensitive, because your storage treats them that way.
Unknown parameters are ignored. Older links may include parameters such as apptoken. The Extensions Downloader ignores them, so they're harmless, but they don't do anything either.
Parameter reference
Parameter | Description | Sample in formula |
|---|---|---|
Authorization parameters: identify the account and application the link belongs to. | ||
clientid | Required. Your Quickbase Extensions Client ID: Q followed by a number, assigned to your account. The installation wizard writes it into every link it creates. See Find your Client ID, table IDs, and field IDs. | "clientid=Q1234" |
appid | Required. The ID of the Quickbase application the link is in. The Extensions Downloader checks that this app is authorized for a Quickbase Extension that works with it, such as XL Docs, Exact Forms Plus, PDF Stamper, or Document Portal. Use the built-in function AppID() so the link keeps working if the formula is copied. If you copy the whole app, the copy has a new app ID and must be authorized in the installation wizard. | "&appid=" & AppID() |
File parameters: which storage to read and which file to get. | ||
cloud | Required. Where the file is stored:
The account used is the one connected in the installation wizard and saved on your Quickbase Extensions account. | "&cloud=S3" |
cloudkey | Required. The file's key in your storage. It's usually the key field the extension filled in when it saved the file (S3 Key, Dropbox Key, Egnyte File ID, or Document Portal's Cloud Key).
If the key field is empty, the link can't work. The wizard's fields show no link until the key field has a value; do the same in your own formulas with If(). | "&cloudkey=" & URLEncode([S3 Key]) |
clouddir | Optional. Reads from a different place than the default saved on your account:
Leave it blank or leave it out to use your account's default. The installation wizard fills it in with the bucket or folder you entered for the extension, or leaves it blank. Keys that are file IDs (id: for Dropbox, entry_id: for Egnyte) find the file by its ID, so the folder doesn't matter for them. | "&clouddir=my-company-documents" |
Display parameters: what the browser does with the file. | ||
forcedownload | Optional. Plain form only.
| "&forcedownload=false" |
Who can open a link, and whether it expires, doesn't depend on any parameter: a link opens the file for anyone who has it, and it doesn't expire. See Who can open a link.
Examples
Each example is the formula for a Formula - URL field. In the field's properties, set the link text (for example Download from S3) and choose to open the link in a new window, as the wizard does. Replace Q1234, the field names, and the bucket or folder names with your own.
The wizard's View File formula
For XL Docs, Exact Forms Plus, and PDF Stamper, the installation wizard writes a formula like this one. It shows the link only when the key field has a value, and it uses the encoded form. clouddir holds the bucket you entered in the wizard, or is blank.
If([S3 Key] > "",
"https://..." // your Extensions Downloader server URL, created by the installation wizard
& "request="
& Base64Encode(
"clientid=Q1234"
& "&appid=" & AppID()
& "&cloud=s3"
& "&cloudkey=" & [S3 Key]
& "&clouddir="
),
"")The Dropbox and Egnyte versions are the same, with cloud=db and [Dropbox Key], or cloud=eg and [Egnyte File ID]. Document Portal's View File field uses the plain form with [Cloud Key].
Amazon S3: download a file
If([S3 Key] > "",
"https://..." // your Extensions Downloader server URL, created by the installation wizard
& "clientid=Q1234" // your Client ID
& "&appid=" & AppID()
& "&cloud=S3"
& "&cloudkey=" & URLEncode([S3 Key]),
"")Amazon S3: open a PDF in the browser from another bucket
If([S3 Key] > "",
"https://..." // your Extensions Downloader server URL, created by the installation wizard
& "clientid=Q1234" // your Client ID
& "&appid=" & AppID()
& "&cloud=S3"
& "&cloudkey=" & URLEncode([S3 Key])
& "&clouddir=my-company-archive" // bucket name
& "&forcedownload=false",
"")Dropbox: download from a specific folder
If([Dropbox Key] > "",
"https://..." // your Extensions Downloader server URL, created by the installation wizard
& "clientid=Q1234" // your Client ID
& "&appid=" & AppID()
& "&cloud=DB"
& "&cloudkey=" & URLEncode([Dropbox Key])
& "&clouddir=" & URLEncode("/Signed Documents"), // leave out to use your account's folder
"")Egnyte: open a file by its ID
If([Egnyte File ID] > "",
"https://..." // your Extensions Downloader server URL, created by the installation wizard
& "clientid=Q1234" // your Client ID
& "&appid=" & AppID()
& "&cloud=EG"
& "&cloudkey=" & URLEncode([Egnyte File ID]) // for example entry_id:...
& "&forcedownload=false",
"")If a link shows a message instead of the file, see Extensions Downloader messages and troubleshooting. We understand these parameters can be complex. Submit a technical support case if you have any questions.