Configuration
Introduction
Most settings live on Formidable › Configuration and on each form. See Settings and inheritance. A few behaviours are set in the site's system/user/config/config.php instead, with keys prefixed formidable_. They survive add-on updates. Do not edit the add-on's own config/config.php, which is replaced by every update.
system/user/config/config.php
$config['formidable_rate_limit'] = 20;
$config['formidable_return_hosts'] = ['checkout.example.com'];
| Key | Default | What it does |
|---|---|---|
$config['formidable_api'] | 'y' | 'n' switches the JSON API off. Every request then answers 404 api_disabled. |
$config['formidable_captcha_word_ttl'] | 7200 | Seconds a Captcha word stays answerable. |
$config['formidable_capture_public'] | false | Allow {exp:formidable:capture} to create and change forms without a Super Admin session. Staging only. |
$config['formidable_connection_providers'] | unset | Extra connection provider classes. See Custom connections. |
$config['formidable_draft_days'] | 30 | Save and resume: days an unfinished draft is kept after it was last saved. 0 keeps drafts forever. |
$config['formidable_duplicate_window'] | 30 | Seconds within which identical answers from one IP count as a double submission and are accepted once. 0 turns it off. |
$config['formidable_fieldtypes'] | unset | Extra fieldtype classes. See Custom fieldtypes. |
$config['formidable_meta_ttl'] | 2592000 | Seconds a rendered form’s signed meta stays valid. Long on purpose: forms sit in open tabs and cached pages. |
$config['formidable_rate_limit'] | 5 | Submissions allowed per IP within the window. 0 turns the limit off. |
$config['formidable_rate_window'] | 60 | The rate limit’s window, in seconds. |
$config['formidable_return_hosts'] | [] | Extra hosts return= may redirect to, as an array or a comma- or pipe-separated string. The site’s own host is always allowed. |
$config['formidable_signing_key'] | unset | The key that signs form meta. Falls back to ExpressionEngine’s encryption_key. |
$config['formidable_upload_quarantine_ttl'] | 900 | Seconds a failed submission’s uploads are held for the resubmit. |
$config['formidable_workflow_log'] | 'y' | 'n' records no workflow runs. |
$config['formidable_workflow_log_days'] | 30 | Days to keep workflow runs. 0 keeps them all. |
$config['formidable_workflow_queue'] | 'n' | 'y' runs workflows in the background through formidable:workflows:work instead of in the visitor's request, and retries failures. Not needed when BoldMinded's Queue add-on is installed, which is used instead. |
$config['formidable_workflow_queue_attempts'] | 3 | Tries in all for a workflow on Formidable's own queue that fails, from 1 to 10. On the Queue add-on, its max_tries applies instead. |
$config['formidable_workflow_queue_boldminded'] | 'y' | 'n' stops workflows going to BoldMinded's Queue add-on when it is installed. |
$config['formidable_workflow_queue_name'] | '' | The Queue add-on queue workflows go to. Blank uses Queue's default; a named queue needs its own worker. |
The spam settings formidable_rate_limit, formidable_rate_window and formidable_duplicate_window can also be set on Configuration › Spam. When both are set, config.php wins.