Application Settings
Overview
This page covers application configuration options for Brief Connect, including feature flags and other settings. They are used to configure system behavior. Should be managed via application deployment process. Application settings updates are pushed with every core application release (application package release).
How to configure Application Settings
- Open Azure DevOps
- Open Brief Connect project
-
In the left navigation menu click on "Library"

-
Open the Variable group with Environment/Stage name and add/update values
Application settings
The list below represents only required pipeline variables for successful application deployment. You can add additional environment variables if you need so.
| Name | Is Required |
|---|---|
appSettingsJson |
true |
applicationDomainName |
true |
azureFunctionAppName |
true |
azureFunctionDomainName |
true |
azureResourceGroupName |
true |
azureStorageAccountWebName |
true |
azureWebApiWebAppName |
true |
clientAppRegistrationClientId |
true |
devOpsAppRegistrationClientId |
true |
serverAppRegistrationClientId |
true |
sharePointSiteUrl |
true |
tenantId |
true |
Description:
appSettingsJson: JSON object containing application settings. See the section below for available settings included in this variable.applicationDomainName: Public domain name for the Brief Connect application (UI). Example:briefconnect.contoso.comazureFunctionAppName: Brief Connect Backend API Azure Function App name (lowercase, no special chars). Example:azureResourcesNamePrefix-PFAazureFunctionDomainName: Domain name mapped to Brief Connect Backend API Azure Functions endpoints. Example:briefconnect.contoso.comazureResourceGroupName: Azure Resource Group name that hosts Brief Connect resources. Example:rg-briefconnect-prodazureStorageAccountWebName: Azure Storage account name (lowercase, no special chars) for UI web assets (bundles/static content). Example:azureResourcesNamePrefixwsaazureWebApiWebAppName: Brief Connect Integration API Azure Web App name (lowercase, no special chars). Example:azureResourcesNamePrefix-APIclientAppRegistrationClientId: 'Client' App registration Application (client) ID for the client/UI app. Example:10000000-0000-0000-0000-000000000001devOpsAppRegistrationClientId: 'DevOps' App registration Application (client) ID used by CI/CD and DevOps automation. Example:20000000-0000-0000-0000-000000000002serverAppRegistrationClientId: 'Server' App registration Application (client) ID for server-side/API components. Example:30000000-0000-0000-0000-000000000003sharePointSiteUrl: SharePoint site URL used for storing Brief Connect documents. Example:https://contoso.sharepoint.com/sites/BriefConnecttenantId: Entra ID (Azure AD) tenant GUID. Example:11111111-2222-3333-4444-555555555555
App Settings JSON parameters
This variable contains a JSON object with multiple application settings. Example: {"Key1":"Value1", "Key2": "Value2"} Must be a valid JSON format. Please validate final JSON in any JSON editor/validator on your choice.
Below the list of application settings that can be set in App Settings JSON object.
Required settings
The settings below must be represent for every environment.
AppName
- Key:
AppName - Example (in JSON):
"AppName": "Brief Connect" - Description: The name of the application displayed in the UI.
AuthorizedGroupId
- Key:
AuthorizedGroupId - Example (in JSON):
"AuthorizedGroupId":"140fa905-7baa-499b-b0b0-088920c7a9ea" - Description: Microsoft Entra "Brief Connect All users" Group Id (Object ID) used for users authorization to access the application.
AuthorizedGroupName
- Key:
AuthorizedGroupName - Example (in JSON):
"AuthorizedGroupName":"BriefConnect-ABC-Users-G" - Description: Microsoft Entra "Brief Connect All users" Group name used for users authorization to access the application.
EmailNotificationsServiceAccount
- Key:
EmailNotificationsServiceAccount - Example (in JSON):
"EmailNotificationsServiceAccount":"BriefConnect-Admin@engageau.onmicrosoft.com" - Description: Service account UPN used for sending email notifications.
TopHeaderBannerText
- Key:
TopHeaderBannerText - Example (in JSON):
"TopHeaderBannerText":"AlphaDev environment with always latest DEV changes"or"TopHeaderBannerText":""as empty value. - Description: Top header banner text shown in the UI; use empty string if not required to show on UI.
Optional settings
SharePoint Uploads
- Key:
FeatureFlags__SharePointUploadsEnabled - Example (in JSON):
"FeatureFlags__SharePointUploadsEnabled": "true" - Default value (if not provided):
"false" - Allowed Values:
"true","false" - Description: Enables "Select from SharePoint" options in document upload interfaces. When disabled, only local file uploads are available.
Admin Workflow Override
- Key:
FeatureFlags__WorkflowAdminOverrideEnabled - Example (in JSON):
"FeatureFlags__WorkflowAdminOverrideEnabled": "true" - Default value (if not provided):
"false" - Allowed Values:
"true","false" - Description: Enables admin "Workflow Override" actions to progress records stuck in workflow due to task/role issues. When disabled, only standard workflow actions are available.
Documents Upload Drag and Drop
- Key:
FeatureFlags__DocumentsUploadDragAndDropEnabled - Example (in JSON):
"FeatureFlags__DocumentsUploadDragAndDropEnabled": "true" - Default value (if not provided):
"false" - Allowed Values:
"true","false" - Description: Shows drag-and-drop upload zones across document upload interfaces. When disabled, users use the standard file picker only.
User Extra Metadata
- Key:
FeatureFlags__UserExtraMetadataEnabled - Example (in JSON):
"FeatureFlags__UserExtraMetadataEnabled": "false" - Default value (if not provided):
"false" - Allowed Values:
"true","false" - Description: Includes extra endorser metadata (position, group, acting capacity snapshots) in API responses and PDFs. When disabled, this metadata and related UI/PDF sections are omitted.
Plugins Editor
EnablePluginEditor feature flag
- Key:
FeatureFlags__EnablePluginEditor - Example (in JSON):
"FeatureFlags__EnablePluginEditor": "true" - Default value (if not provided):
"false" - Allowed Values:
"true","false" - Description: Enables Plugin Editor in Admin Panel and plugin bundle generation/injection based on BundleStore configuration. When disabled, Plugin Editor is hidden and no bundle is generated. Requires valid Bundle Store settings (see below)
- Dependencies: When enabled, required correct BundleStore configuration
BundleStore Kind
- Key:
BundleStore__BundleStoreKind - Example (in JSON):
"BundleStore__BundleStoreKind":"Blob" - Allowed Values:
"Blob","FileShare","FileSystem"(for local dev only) - Description: Sets the storage type for plugin bundles.
- Dependencies:
- Blob: requires
BundleStore__ConnectionStringandBundleStore__ContainerName;BundleStore__Folderoptional. - FileShare: requires
BundleStore__ConnectionStringandBundleStore__FileShareName;BundleStore__Folderoptional. - FileSystem (local dev only): requires
BundleStore__Folderonly.
BundleStore ConnectionString
- Key:
BundleStore__ConnectionString - Example (in JSON): is not supported in JSON, see Infrastructure Settings page
- Description: Connection string to the target Azure Storage account.
BundleStore ContainerName
- Key:
BundleStore__ContainerName - Example (in JSON):
"BundleStore__ContainerName":"plugin-bundles" - Description: Name of the Blob container that stores bundles.
- Dependencies:
- Required only when
BundleStore__BundleStoreKindisBlob.
BundleStore FileShareName
- Key:
BundleStore__FileShareName - Example (in JSON):
"BundleStore__FileShareName":"plugin-bundles-share" - Description: Name of the Azure File Share that stores bundles.
- Dependencies:
- Required only when
BundleStore__BundleStoreKindisFileShare.
BundleStore Folder
- Key:
BundleStore__Folder - Example (in JSON):
"BundleStore__Folder":"bundles/v1"(Blob/FileShare) or"BundleStore__Folder":"c:\\DEV\\git\\bc\\client\\public\\"(FileSystem) - Description: Folder path within the selected store to organize bundles.
- Dependencies:
- Optional for
BlobandFileShare. If not set, then"plugins-static"value is used. - Required full local path when
BundleStore__BundleStoreKindisFileSystem.
Open Records in New Tab
- Key:
OpenDashboardRecordsInNewTab - Example (in JSON):
"OpenDashboardRecordsInNewTab": "true" - Default value (if not provided):
"false" - Allowed Values:
"true","false" - Description: Controls whether clicking records on the dashboard opens them in a new browser tab instead of the current tab.
Show Validation Errors
- Key:
ShowRecordValidationErrors - Example (in JSON):
"ShowRecordValidationErrors": "true" - Default value (if not provided):
"false" - Allowed Values:
"true","false" - Description: Shows detailed validation error messages to users when record operations fail.
Email Subject Postfix for Proxy
- Key:
EmailSubjectPostfixForProxy - Example (in JSON):
"EmailSubjectPostfixForProxy": " (sent on behalf)" - Default value (if not provided):
"" - Description: Adds a custom postfix to email subjects when emails are sent on behalf of proxy users.
Email Notifications
Sender Type
- Key:
Email__SenderType - Example (in JSON):
"Email__SenderType":"SMTP" - Allowed Values:
"GraphServiceAccount","SMTP" - Default value (if not provided):
"GraphServiceAccount" - Description: Selects the email delivery mechanism: Microsoft Graph using a service account, or direct SMTP.
- Dependencies:
- When
"SMTP"is selected, SMTP configuration keys below are required. - When empty or
"GraphServiceAccount"is selected,EmailNotificationsServiceAccountis required.
SMTP Username
- Key:
Email__SmtpUserName - Example (in JSON):
"Email__SmtpUserName":"smtp-user@contoso.com" - Description: Username for SMTP authentication.
- Dependencies:
- Required when
Email__SenderTypeis"SMTP".
SMTP Password
- Key:
Email__SmtpPassword - Example (in JSON):
"Email__SmtpPassword":"<secure-password-or-secret-ref>" - Description: Password for SMTP authentication.
- Dependencies:
- Required when
Email__SenderTypeis"SMTP".
SMTP Server
- Key:
Email__SmtpServer - Example (in JSON):
"Email__SmtpServer":"smtp.contoso.com" - Description: Hostname or IP of the SMTP server.
- Dependencies:
- Required when
Email__SenderTypeis"SMTP".
SMTP Port
- Key:
Email__SmtpPort - Example (in JSON):
"Email__SmtpPort":"587" - Default value (if not provided):
"25" - Description: Port number for SMTP server.
SMTP Use Secure Connection
- Key:
Email__SmtpUseSecureConnection - Example (in JSON):
"Email__SmtpUseSecureConnection":"true" - Default value (if not provided):
"true" - Allowed Values:
"true","false" - Description: Sets
EnableSslon the SMTP client.
SMTP Timeout
- Key:
Email__SmtpTimeout - Example (in JSON):
"Email__SmtpTimeout":"60000" - Default value (if not provided):
"100000" - Description: SMTP send timeout (milliseconds).
SMTP From Address
- Key:
Email__SmtpFrom - Example (in JSON):
"Email__SmtpFrom":"no-reply@contoso.com" - Description: From address used in emails.
- Dependencies:
- Required when
Email__SenderTypeis"SMTP";
SMTP Reply-To Address
- Key:
Email__SmtpReplyTo - Example (in JSON):
"Email__SmtpReplyTo":"support@contoso.com" - Description: Reply-to address used in emails when
Email__SenderTypeis"SMTP".
Allowed Upload File Extensions
- Key:
AllowedUploadFileExtensions - Example (in JSON):
"AllowedUploadFileExtensions": ".docx,.pdf,.png" - Default value (if not provided or empty):
".docx,.doc,.xlsx,.xls,.pptx,.ppt,.pdf,.jpg,.jpeg,.png,.gif,.tiff,.bmp,.txt,.csv,.mp4,.mov,.avi,.heic,.zip,.msg,.eml" - Allowed Values: Comma-separated list of file extensions (e.g.,
".docx,.pdf,.png"), or"all"to allow any file type (not safe). - Description: Limits uploads to the specified file extensions.
Troubleshooting
Feature Flag Not Taking Effect
If a feature flag change doesn't appear to work:
- Check Setting Name: Verify the environment variable name is spelled correctly (case-sensitive)
- Verify Value: Ensure the value is exactly
trueorfalse(lowercase, case-sensitive) - Restart Required: Restart the Azure Functions App to ensure configuration is reloaded
- Check Environment: Verify you're testing in the correct environment
- Check Logs: Review application logs for any configuration errors
SharePoint Upload Options Not Visible
If users report that SharePoint upload options are missing:
- Check that
FeatureFlags__SharePointUploadsEnabledis set correctly - Clear browser cache and refresh the application
- Check in browser Dev Tools that SharePoint connectivity is working properly (no errors when control sends requests to Graph API)
General Configuration Issues
- Case Sensitivity: All setting names and boolean values are case-sensitive
- Update variables before the release is created: When release is created, it takes snapshot of all pipeline variables. You need to re-create release after you perform any changes to pipeline variables.