Application Settings

What Are Application Settins

Both FlexiForms (the app for the end users) and FlexiForms Admin applications have Application configuration files called AppSettings.json in the root folder of the applications. These files contain some settings that need to be set only as part of deployment, or need to be set very rarely.

Application Settings should not be confused with the settings on the Settings page on the FlexiForms Admin page. You can set Application Settings mentioned here only by changing the configuration files manually. When you change these settings, you should restart the application for the changes to be effective.

Environment Specific Application Settings

Some of the settings need to be set separately for each Environment in their environment specific files, namely AppSettings.Development.json, AppSettings.QA.json and AppSettings.Production.json. This way, the setting shared between different environment will get the value based on the Environment. For example, you can set the log level to "Warning" for Production, to "Information" for QA, and to "Debug" for Development environments.

Here are two tables listing the settings in FlexiForms and FlexiForms Admin application configuration files:

FlexiForms Admin Application Configuration Settings

Setting
Function
Example

Job List

Controls the jobs that will be listed in the Jobs drop-sown list on the Form page. When you add a custom Job using Extension project, you should add it here to make it available on the FlexiForms Admin app.

[ { "value": "email", "text": "Email" }, { "value": "importintodb", "text": "Import to Database" }, { "value": "transfer", "text": "Transfer" }, { "value": "export", "text": "Export" }, { "value": "dbproc", "text": "Database process" }, { "value": "importintofile", "text": "Import Into File" }, { "value": "sample", "text": "Sample extension job" } ]

SeriLogSettings

Control the log level and log folder name.

{ "LogFolder": "Logs", "LogLevel": "Information" }

EmailConfigWithSendGrid

  • The API key to use the email provider's API to send the emails

  • Sender Email

  • Sender Name for FlexiForms Admin App

"EmailConfigWithSendGrid": { "ApiKey": "", "DefaultSenderEmail": "yourorganisation@email.com", "DefaultSenderName": "FlexiForms Admin", "DefaultFlexiFormsSenderName": "FlexiForms" }

ConnectionStrings

Lists of connection strings for each environment (Microsoft SQL Server OInly). If you want to use a database other than these default databases for Import Into DB Settings, DB Proc Settings or API Data Source Settings, you should add the connection string here with Environment suffix, such as "EmployeeDatabaseConnectionStringProduction".

"ConnectionStrings": { "DefaultConnectionStringDevelopment": "", "DefaultConnectionStringQA": "", "DefaultConnectionStringProduction": "" },

AuthSettings

  • System Admin Accounts

  • Developer Accounts.

The only difference between Developer users and others is that they can see Cache items on the Admin app.

"AuthSettings": { "SystemAdminAccountEmails": [ "ozdemireyuphan@gmail.com", "mattgrnwl@gmail.com" ], "Developers": [ "ozdemireyuphan@gmail.com", "mattgrnwl@gmail.com" ] },

GoogleSettings

Stores the Google Places API URL and API key for Google-based Auto complete address fields.

"GoogleSettings": { "PlacesAPISource": "<Google places API connection string with API key>" },

Open AI

Specifies the Open AI API key for AI provided form designs

"OpenAI": { "ApiKey": "<Open AI API key>" },

DeepSeek

Specifies the API key and URL for DeepSeek provided form designs

"DeepSeek": { "ApiKey": "<Deep Seek API key>", "BaseAddress": "<Deep Seek API Base address>" }

There are a couple of more settings but you do not need and should not change those settings.

FlexiForms Application Configuration Settings

Setting
Function
Example

SeriLogSettings

Control the log level and log folder name.

{ "LogFolder": "Logs", "LogLevel": "Information" }

EmailConfigWithSendGrid

  • The API key to use the email provider's API to send the emails

  • The list of email addresses that will receive notification emails when a job fails

  • Sender Email Name for failover notifications

"EmailConfigWithSendGrid": { "ApiKey": "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", "FailoverEmailAddresses": "ozdemireyuphan@gmail.com", "FailoverSenderEmailAddress": "website@greenwellmotorco.com" },

ADSettings

The Active Directory Settings used for the verification option that limits the users to your organisation (i.e. target audience for the form = your employees). Note that this option is avaialble for on-premises deployments.

"ADSettings": { "Domain": "<your organisation's domain>", "GroupName": "<default Active directory security user group>" }

SchedulerSettings

Controls the timing for the automatic background processes, namely: Failover process and Cleaning process for the forms that have an expiration date. CRON expression specifies when we want these process to run (e.g. every night at 01:00 AM, or in every three hours etc.) Please see https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm for example CRON expressions.

"SchedulerSettings": { "CronExpression": "0 0 23, ? * * " }

FailoverSettings

Controls whether the failover process runs at all. Set it to False if you don't need or want failover process.

"FailoverSettings": { "Enabled": true }

GoogleSettings

Stores the Google Places API URL and API key for Google-based Auto complete address fields.

"GoogleSettings": { "PlacesAPISource": "<Google places API connection string with API key>" }

PDFSettings

Stores the PDF Shift API key and Base URL for PDF exports with a template

"PDFSettings": { "BaseUrl": "https://api.pdfshift.io/v3/convert/pdf", "ApiKey": "<PDF Shift API key>" }

RecaptchaSettings

Stores Recaptcha parameters such as SiteKey, SecretKey, etc. ExcludeFromList is a list of form codes of the forms for which you don't want Recaptcha

"RecaptchaSettings": { "SiteKey": "<Site Key>", "SecretKey": "Secret Key", "ScoreThreshold": "0.5", "Enabled": true, "AcceptInError": true, "ExcludeFormList": [ "Greenwell_Finance_App" ] }

Last updated