Settings list deprecated


This page shows a list of useful config option to customize App Suite UI. We recommend to read the main article on how to configure App Suite UI first.


Settings are logically divided via namespaces for each module. The namespace itself is divided by a double slash // from the setting's name when written down to a config file. Ensure to always use the double slash in your settings string, otherwise this will lead to errors and your setting will not work.

For example io.ox/core//someSetting or io.ox/mail//anotherMailSetting.

In this case we have two different namespaces, io.ox/core and io.ox/mail. The setting someSetting only exists in the core namespace, anotherMailSetting only in mail accordingly.

Data types

Ensure to always use the expected data type for a setting. This table lists some examples when they are set in a 'settings property file' (sometimes referenced as 'ui property file').

Data type Example
<bool> io.ox/core//features/dedicatedLogoutButton=true
<string> io.ox/core//features/windowHeaderPosition="top"
<number> io.ox/core//apps/quickLaunchCount=5
<array> io.ox/tasks//currencies=["CAD","CHF","EUR"]

Feature toggles

App Suite UI offers different feature toggles. These toggles control the appearance (or flavor) of different features in the UI.

Beginning with App Suite 8.7 feature toggles are collected in the settings features in the core namespace.

Some toggles require switchboard to be configured, this means switchboard capability and a valid url in io.ox/switchboard//host

io.ox/core//features/attachFromDrive=<bool> Requirements: infostore capability and Middleware version 8.8 or higher. Default is true. Add attachments from drive to pim objects (appointments, tasks or contacts)

io.ox/core//features/categories=<bool> Enables/disables the categories feature. Default is false.

io.ox/core//features/countdown=<bool> Default is true. Requirements: calendar capability. Not supported on smartphones. Show a countdown popup for upcoming meetings.

io.ox/core//features/dedicatedLogoutButton=<bool> Show a logout button at the topbar. Default is false.

io.ox/core//features/dragDropICA=<bool> Default is true. Allow import of iCal files (*.ics, *.ical) via drag and drop to the currently selected calendar.

io.ox/core//features/enterprisePicker/enabled=<bool> Replaces the default contact picker with the enterprise contact picker. Default is false

io.ox/core//features/folderIcons=<bool> Show icons in the folder tree next to folder labels. Default is false.

io.ox/core//features/freeBusyVisibility=<bool> Default is true. Requirements: Middleware version 8.14 or higher. Configure if others can see your freeBusy information in the calendar planning view.

io.ox/core//features/implicitCancel=<bool> Requirements: calendar capability. Default is true. Show information if all participants of an appointment declined.

io.ox/core//features/jitsi=<bool> Default is true. Requirements: io.ox/jitsi//enabled=true and io.ox/jitsi//host. Enable integration of Jitsi meetings in calendar and address book.

io.ox/core//features/logoutButtonHint=<bool> Shows a reminder tooltip if the user has not logged during the last page visit. Default is false.

io.ox/core//features/managedResources=<bool> Default is true. Requirements: Middleware version 8.13 or higher. Allow adding resource delegates to manage resource availability.

io.ox/core//features/navigation=<bool> Enables/disables support for browser back/forward buttons. Default is true.

io.ox/core//features/openai=<bool> Requirements: openai capability and switchboard Default is false. Turn on AI integration based on ChatGPT from OpenAI©

io.ox/core//features/presence=<bool> Default is false. Requirements: switchboard Show online status of users.

io.ox/core//features/reloginPopup=<bool> Show a modal dialog to enable an inline re-login without showing the login page. Default is true (for non-oidc and non-saml environments)

io.ox/core//features/resourceCalendars=<bool> Enable/disable resource calendars and resource calendar groups. Default is false.

io.ox/core//features/scheduleSend='' Default false. Requirements: webmail capability and middleware config option com.openexchange.mail.scheduled.enabled. Allow schedule the dispatch of emails.

io.ox/core//features/storeSavePoints=<bool> Enable/disable restorepoints for edit dialogs. Default is true.

io.ox/core//features/templates=<bool> Default is false. Add text templates to mails and manage them via settings pane.

io.ox/core//features/undoSend=<bool> Enables/disables the undo send feature. Default is true.

io.ox/core//features/validateMailAddresses=<bool> Enable validation for email addresses in mail compose and contacts edit dialog. Default is true.

io.ox/core//features/validatePhoneNumbers=<bool> Enable validation for phone numbers. Default is false.

io.ox/core//features/zoom=<bool> Default is true. Requirements: io.ox/zoom//enabled=true and presence feature Enable integration of Zoom meetings in calendar and address book.

PDF Preconversion

io.ox/core//pdf/enablePreconversionOnUpload=<bool> Enable/disable PDF preconversion of office documents on file upload and when a new file version is added. Default is true.

io.ox/core//pdf/enablePreconversionOnMailFetch=<bool> Enable/disable PDF preconversion of office documents for mail attachments. Default is true.

io.ox/core//pdf/enableRangeRequests=<bool> Enable/disable range requests support to fetch PDF rendering data in chunks. Default is true.

Topbar / Apps

io.ox/core//apps/list=<string> Specified App for launcher. Comma-separated string of App IDs Default: 'io.ox/mail,io.ox/calendar,io.ox/contacts,io.ox/tasks,io.ox/files,io.ox/portal,io.ox/office/portal/text,io.ox/office/portal/spreadsheet,io.ox/office/portal/presentation'

io.ox/core//apps/quickLaunch=<string> Default Apps for quick launcher. Comma-separated string of App IDs Default: 'io.ox/mail,io.ox/calendar,io.ox/files'

io.ox/core//apps/quickLaunchCount=<number> How many quick launch icons should appear in the topbar by default (default: 3)

io.ox/core//logoFileName=<string> Change the default file name for the logo in the topbar. Default (logo.png)

io.ox/core//logoAction=<string> Change the action when clicking on the topbar logo. Either a URI to open in a new tab or an App ID. I.e. or io.ox/mail/main. Default is unset.


io.ox/core//showDesktopNotifications=<bool> Show native desktop notifications. Default true. Important: Depends also on browser settings.

Feedback dialog

io.ox/core//feedback/show=<string> Show one or more feedback buttons. Default value is both which shows a dropdown entry in the settings menu and a button in the main content window (topbar/side/both).

io.ox/core//feedback/supportlink=<string> Hyperlink to a support site referenced in the feedback dialog. Default is unset.

io.ox/core//feedback/position=<string> Set position of the feedback button. Default value is right. (left|right).

io.ox/core//feedback/showHover=<bool> Show rating string on mouse hover in feedback dialog. Default true.

io.ox/core//feedback/showModuleSelect=<bool> Defines if the feedback dialog is aware of it's current App and the rating is based on this. If set to "true" every App can be rated regardless which App is currently running. Default true.

io.ox/core//feedback/maxFeedbacks=<number> maximum number of feedbacks that are allowed in one timeframe (works with relative and absolute dates)

Default: 1 if io.ox/core//feedback/timeLimit is set else undefined (i.e. unlimited)

io.ox/core//feedback/timeLimit=<string> Can be relative or absolute ISO strings to define a time, e.g. “2020-01-21” or “3M” (meaning within 3 months). See momentjs parsing documentation for details.

Default: false

Mail compose: tinyMCE text editor

io.ox/core//maxUploadIdleTimeout=<number> 200000 Timeout in milliseconds for contenteditable-editor in milliseconds when adding inline images. Default is 200000.

io.ox/core//tinyMCE/theme_advanced_buttons1=<string> List of tinyMCE toolbar actions separated by space - targets toolbar1
Default: '*undo *redo | bold italic underline | bullist numlist outdent indent'

io.ox/core//tinyMCE/theme_advanced_buttons2=<string> List of tinyMCE toolbar actions separated by space - targets toolbar2) Default: empty

io.ox/core//tinyMCE/theme_advanced_buttons3=<string> List of tinyMCE toolbar actions separated by space - targets toolbar3 Default: empty

io.ox/core//tinyMCE/font_format=<string> List of availabe fonts (also used for settings pane). Default:

"System=-apple-system,BlinkMacSystemFont,helvetica,sans-serif;Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats"


io.ox/core//upsell/activated=<bool> Enable or disable Upsell globally. Default: false

io.ox/core//upsell/enabled=<bool> List of capabilities that are available for upsell.

io.ox/core//upsell/defaultIcon=<string> Default icon used for upsell 'decoration'.

io.ox/core//upsell/premium/folderView/visible=<bool> Show premium link in folder tree.

io.ox/core//upsell/premium/folderView/closedByUser=<bool> Is the user allowed to hide the premium link permanently.

io.ox/core//features/upsell/[feature-id]/enabled=<bool> Upsell enabled for feature.

io.ox/core//features/upsell/[feature-id]/color=<string> Customize upsell 'decoration' appearance.

io.ox/core//features/upsell/[custom-id]/icon=<string> Customize upsell 'decoration' appearance.


If the capability 'edit_password' is set, a user can change his own password in App Suite UI.

io.ox/core//password/showStrength=<bool> Show password strength

io.ox/core//password/minLength=<number> Passwort minimum length

io.ox/core//password/maxLength=<number> Password max length

io.ox/core//password/regexp=<string> Check new password against a regular expression (i.e. "is there at least one upper case letter")

io.ox/core//password/special=<string> Required special characters for new passwords

Client Onboarding

io.ox/core//features/clientOnboardingHint/enabled=<bool> Enables a hint on mobiles to inform about the onboarding Wizard (true/false)

io.ox/core//features/clientOnboardingHint/remaining=<number> Number of times hint is being shown. The protection of this setting needs to be disabled in any case.

Core: Misc

io.ox/core//features/windowHeaderPosition=<string> Placement of buttons in new/edit dialogs. Default is 'bottom' ('top', 'bottom')

io.ox/core//disabledExtensions=<array> Comma-separated list where each entry consists of an extension point id followed by a colon and then the corresponding extension id. Disable one or more extensions. Default is [];

For example: ['io.ox/secondary:add-mail-account','io.ox/secondary:all-attachments']

io.ox/core//disabledSettingsPanes=<string> Comma-separated list of extension point ids of io.ox/settings/pane. Disable one or more settings panes and it's subgroup extension points (easily identifiable as "&folder=virtual/settings/" in address bar). Default is unset;

io.ox/core//autoLogout=<number> Timeout (in ms) until a user is logged out automatically if inactive

io.ox/core//autoStart=<string> First App to start after login, Default: io.ox/mail

io.ox/core//autoStartMobile=<string> First App to start after login on mobile devices. Default: io.ox/mail

io.ox/core//user/internalUserEdit=<boolean> Hide "Edit personal data" option when set to false. Default: true

io.ox/core//groups/limit=<number> Fetch limit for groups plugin when requesting details of members. Default 1000

io.ox/core//selectionMode=<string> Specifies behavior when selecting items in mail listview. Default: normal ('normal'|'alternative'|'simple')

io.ox/core//properties/contactImageMaxWidth=<number> Maximum target image width when croping contact/user images in pixels (default: 500).

io.ox/core//refreshInterval=<number> Automatic UI refresh interval in milliseconds. Default is 300000 (5 minutes).

io.ox/core//settings/downloadsDisabled=<bool> Enables/disables download pane for additional software components in settings. Default false.

io.ox/core//theme=<string> Current user theme. Default is default

io.ox/core//theming/customIcons=<json> Map of icons that will be loaded instead of core icons. Provided icons must be same served from the same domain, must be SVG files, and conform to bootstrap icons in size, viewBox and fill to ensure proper theming support. customIcons maps icon names (as used in bootstrap) to full relative paths.

This config also applies for illustrations and other SVG images used in the UI.

For example: { 'bi/cloud.svg': 'someAssetContainer/icons/other-cloud-icon.svg' }

io.ox/core//categories/default=<array> List of category objects with name, icon and color. Initial set of categories for users without any custom user categories so far.

For example: [ { name: 'Important', color: '#ff2968', icon: 'bi/exclamation-circle.svg' } ]

io.ox/core//categories/predefined=<array> List of category objects with id, name, icon and color. These cannot be changed or deleted by the user. The default set consists of four categories: Important, Business, Private, and Meeting. Shared mails are currently limited to predefined categories.

For example: [ { id: '$ct_predefined_0001', name: 'Important', color: '#ff2968', icon: 'bi/exclamation-circle.svg' } ]

io.ox/core//categories/userCategories=<array> Contains all categories a user has access too. On first start, when empty, it gets filled with default categories defined by io.ox/core//categories/default. These categories can get changed or deleted by the user. Default is an empty list.


To disable or enable different apps for client onboarding, the onboarding wizard checks enabled capabilities. The corresponding capabilities for the different apps are:

  • Mail App: webmail mobile_mail_app
  • Drive App: infostore drive
  • Calendar/ CalDav: calendar caldav
  • Address Book/ CardDav: contacts carddav
  • Exchange Active Sync: active_sync

io.ox/core//onboardingWizard=<bool> Enabled new onboarding wizard and disables the old one

io.ox/onboarding//hidden/apps=<array> Hide specific apps ([mailapp|mailsync|drive|driveapp|addressbook|calendar|eassync|syncapp]). Defaults to ['syncapp']

io.ox/onboarding//productNames/mail=<string> Name of the webmail product. Defaults to OX Mail

io.ox/onboarding//productNames/drive=<string> Name of the drive product. Defaults to OX Drive

io.ox/onboarding//android/storeIcon=<string> Path to Google Play Store icon

io.ox/onboarding//android/mailapp/url=<string> Link to mail app in Google Play Store

io.ox/onboarding//android/mailapp/icon=<string> Path to mail app icon for Android

io.ox/onboarding//android/driveapp/url=<string> Link to drive app in Google Play Store

io.ox/onboarding//android/driveapp/icon=<string> Path to drive app icon for Android

io.ox/onboarding//ios/storeIcon=<string> Path to iOS App Store icon

io.ox/onboarding//ios/mailapp/url=<string> Link to mail app in iOS App Store

io.ox/onboarding//ios/mailapp/icon=<string> Path to mail app icon for iOS

io.ox/onboarding//ios/driveapp/url=<string> Link to drive app in iOS App Store

io.ox/onboarding//ios/driveapp/icon=<string> Path to drive app icon for iOS

io.ox/onboarding//macos/storeIcon=<string> Path to Mac App Store icon

io.ox/onboarding//macos/driveapp/url=<string> Link to drive app in Mac App Store

io.ox/onboarding//macos/driveapp/icon=<string> Path to drive app icon for MacOS

io.ox/onboarding//windows/driveapp/url=<string> Link to installation file of drive client for Windows


Please read for detailed information and expamples how to customize the App Suite UI Portal and pre configure widgets for users.

First Start Widget

io.ox/portal//settings/getStartedLink=<string> Target of 'get started' labled link in 'getting started' widget

Widget properties

io.ox/portal//widgets/user/[widgetid]/color=<string> Color of title and highlighting within widget preview/content

io.ox/portal//widgets/user/[widgetid]/enabled=<bool> Enabled state

io.ox/portal//widgets/user/[widgetid]/index=<string> Specifies order of widgets. I.e. first or numeric value

io.ox/portal//widgets/user/[widgetid]/inverse=<bool> Use color for background instead of title

io.ox/portal//widgets/user/[widgetid]/plugin=<string> Reference to tht plugin id/path. I.e "plugins/portal/birthdays/register"

io.ox/portal//widgets/user/[widgetid]/props=<string> Additional data like custom description or related configuration

io.ox/portal//widgets/user/[widgetid]/type=<string> Widget type like rss or stickyfile

Portal: Misc

io.ox/portal//mobile/summaryView=<bool> User setting, show only a small summary view of each widget on smartphones


io.ox/mail//allowHtmlImages=<bool> Allow pre-loading of externally linked images.

io.ox/mail//allowHtmlMessages=<bool> Allow HTML formatted emails.

io.ox/mail//displayEmoticons=<bool> Display emoticons as graphics in text emails.

io.ox/mail//isColorQuoted=<bool> Colored quotes in emails.

io.ox/mail//useFixedWidthFont=<bool> Use fixed-width font for text emails.

io.ox/mail//beautifyPlainText=<bool> Prettify plain text emails.

io.ox/mail//sendDispositionNotification=<bool> Show requests for read receipts.

io.ox/mail//autoselectMailOnStart=<bool> Automatically select first read mail on mail app start. (Default true)

io.ox/mail//features/textPreview=<bool> Fetch mail teaser texts if available, only supported by Dovecot for primary accounts. Also needs MW config. (Default true)

io.ox/mail//features/resolveGroups=<bool> If enabled, the user will also be able to select a group in the typeahead of mail compose. Requires the group feature to be enabled. (Default true)

User Preferences:

io.ox/mail//listViewLayout=<string> Set initial value for list view layout (avatars, checkboxes, simple). (Default avatars)

io.ox/mail//removeDeletedPermanently=<bool> Permanently remove deleted emails instead of moving them to the trash folder first (true|false)

io.ox/mail//contactCollectOnMailTransport=<bool> Automatically collect contacts in the folder "Collected addresses" while sending - depends on capability 'collect_email_addresses' (true|false)

io.ox/mail//contactCollectOnMailAccess=<bool> Automatically collect contacts in the folder "Collected addresses" while reading - depends on capability 'collect_email_addresses' (true|false)

io.ox/mail//features/registerProtocolHandler=<bool> Ask for mailto link registration (true|false)

io.ox/mail//features/trusted/user=<string> User-defined, comma-separated list of mail addresses or specific domains which will be whitlisted for loading external images in HTML mails.

io.ox/mail//features/trusted/admin=<string> Admin-defined, comma-separated list of mail addresses or specific domains which will be whitlisted for loading external images in HTML mails. I.e. useful for customer care email addresses or domains.

io.ox/mail//unseenMessagesFolder=<bool> Show folder with all unseen messages (true|false)

io.ox/mail//playSound=<bool> Play sound on incoming push email - depends on capability 'websocket' otherwise the option will not be shown.

io.ox/mail//notificationSoundName=<string> Default sound to play on incoming push mail. Default bell, can be one of bell, marimba, wood, chimes

Compose: General

io.ox/mail//appendVcard=<bool> Append vCard to email.

io.ox/mail//appendMailTextOnReply=<bool> Insert the original email text to a reply.

io.ox/mail//confirmReplyToMailingLists=<bool> Confirm recipients when replying to a mailing list. Useful to avoid flooding mailing lists with unwanted replies to the list.

io.ox/mail//forwardMessageAs=<string> Value Inline (default) or Attachment.

io.ox/mail//messageFormat=<string> Value html (default), text or alternative.

io.ox/mail//defaultSendAddress=<string> Default sender address from available accounts. Default not set.

io.ox/mail//autoSaveAfter=<number> Interval to update composition space during compose in milliseconds. Default: 15000 (15 seconds)

io.ox/mail//autobcc=<bool> Always add the following recipient to BCC.

io.ox/mail//defaultFontStyle/family=<string> Value browser-default, Andale Mono or one of io.ox/core//tinyMCE/font_format. Desktop only.

io.ox/mail//defaultFontStyle/size=<string> Value browser-default or i.e. 8pt. Desktop only.

io.ox/mail//defaultFontStyle/color=<string> Default font color as CSS color string. I.e. #334455

io.ox/mail//maxSize/compose=<number> Max size of returned characters for mail reply/forward in bytes (API parameter) Default: 524288 (512 kB)

io.ox/mail//maxSize/view=<number> Max size of returned characters for mail viewing in bytes. Default: 102400 (100 kB)

Compose: Attachments

io.ox/mail//compose/shareAttachments/threshold=<number> Max combined attachment size in byte. Default: 0 (unlimited)

io.ox/mail//features/instantAttachmentUpload=<bool> Feature toggle to enable/disable instant attachment upload. Default is true

Compose: Image resize

io.ox/mail//features/imageResize/enabled=<bool> Feature toggle to enable resizing of images

io.ox/mail//features/imageResize/default=<string> Feature toggle to enable resizing of images (default 320)

io.ox/mail//features/imageResize/small=<number> Size of the target image (longest edge) for a small image as integer (default 320)

io.ox/mail//features/imageResize/medium=<number> Size of the target image (longest edge) for a medium image as integer (default 640)

io.ox/mail//features/imageResize/large=<number> Size of the target image (longest edge) for a large image as integer (default 1280)

io.ox/mail//features/imageResize/quality=<number> Quality for the compression while resizing as float (default 0.75)

io.ox/mail//features/imageResize/imageSizeThreshold=<number> Threshold for the size in pixel of the longest edge after which a resize is recommended as integer (default 1024)

io.ox/mail//features/imageResize/fileSizeMax=<number> Maximum size in bytes that will be resized as integer, if one image exceeds this threshold the resize dropdown will not be displayed (default 10485760)

io.ox/mail//features/unseenFolder=<bool> Feature toggle to enable/disable the unread folder

io.ox/mail//features/flagging/virtualFolder=<bool> Feature toggle to enable/disable the flagged folder


io.ox/mail//defaultSignature=<number> ID of default signature. Signatures are stored as Snippets on MW (DB)

io.ox/mail//defaultReplyForwardSignature=<number> ID of default forward and reply signature. Fallback is value of 'defaultSignature'

io.ox/mail//defaultSignaturePosition=<string> value is above or below (default below)

io.ox/mail//mobileSignatureType=<string> Value is custom or none. If custom is set, signature from io.ox/mail//mobileSignatureis taken.

io.ox/mail//mobileSignature=<string> Mobile signature as plain text string.

io.ox/mail//compose/signatureLimit=<number> Number of signatures listed in options dropdown of mail compose (default 2).

Mail: Misc

io.ox/mail//attachOriginalMessage=<bool> Attach original message on touch devices

io.ox/mail//editRealName=<bool> Defines if the user can edit the display name part of his email address, aka. real name. Default true

io.ox/mail//features/accounts/configureUnifiedInboxOnCreate=<bool> Allow enabling unified inbox for an account at the "Add Mail account" dialog

io.ox/mail//features/authenticity=<bool> Enables the authenticity feature. Please note that com.openexchange.mail.authenticity.enabled on MW has to be turned on as well. (default: false)

io.ox/mail//features/autoCollapseBlockquotes=<bool> If enabled, blockquotes larger than 300 chars will be collapsed.

io.ox/mail//features/cleanSubjects=<bool> Remove clutter from subjects like AW: or RE:

io.ox/mail//features/notifyOnSent=<bool> Show an infopopup after mail was send successfully. Default false

io.ox/mail//features/prefetchOnBoot='' Prefetch the first chunk of mail data (action=all) already on App Suite boot. Only disable this if you want to customize mail columns later on. Default true

io.ox/mail//features/usePrimaryAccountNameInTree=<bool> Use the primary account name as label for the folder tree root node of non standard folders. If set to false the the String 'My Folders' will be used. Default true

io.ox/mail//listview/primaryPageSize=<number> Initial size of mail list until pagination will start. Default 50

io.ox/mail//listview/secondaryPageSize=<bool> Sets how many mails will loaded on each paginate call. Default 200

io.ox/mail//prefetch/count=<bool> Prefetch N mails on Mail App startup. Default 5

io.ox/mail//prefetch/next=<bool> Prefetch next mail in line during list traversing via cursor or selection. Default true

io.ox/mail//transform/multipleEmptyLines=<bool> reduce multiple empty lines in plain text mails to a maximum of 2 (detail view, compose: html-to-text). Default true


User Preferences:

io.ox/contacts//listViewLayout=<string> Set initial value for list view layout (avatars, checkboxes, simple). (Default avatars)


io.ox/contacts//showAdmin=<bool> Show context admin in addressbook. Default false

io.ox/contacts//startInGlobalAddressbook=<bool> Start in global addressbook when Contacts App is launched. Default true

io.ox/contacts//mapService=<string> External map service to locate addresses. One of google (Google Maps, default), osm (Open Street Map) or apple (Apple Maps, only works on iOS and MacOS)

io.ox/contacts//toolbar/limits/fetch=<number> Fetch limit when selecting multiple contacts. A number of selected contacts beyond this limit might led to unavailable toolbar actions. Default 100

Addressbook picker

io.ox/contacts//picker/limits/departments=<number> Maximum departments to show. Default 100

io.ox/contacts//picker/limits/fetch=<number> Maximum number of contacts to fetch. Default 10000

io.ox/contacts//picker/limits/list=<number> Max elements shown in the list before first paginate. Default 100

io.ox/contacts//picker/limits/more=<number> Elements for addition loading on each subsequent paginate call. Default 100

io.ox/contacts//picker/limits/search=<number> Maximum search results. Default 50

Enterprise Addressbook picker

This settings are used when the addressbook feature toggle (io.ox/core//features/enterprisePicker/enabled) is set to true.

io.ox/core//features/enterprisePicker/showLauncher=<bool> Show the picker in the launcher dropdown and add it to quicklauncher selection. Default is true

io.ox/contacts//enterprisePicker/lastSearchedContacts=<array> Array of last searched contacts. Do NOT change this by hand or make it read only. This is filled and maintained by the UI. Default is []

io.ox/contacts//enterprisePicker/lastSearchedContactsLimit=<number> How many contacts we want to save in the last searched contacts list. Default is 30

io.ox/contacts//search/minimumQueryLength=<number> This setting is shared by MW and UI for all contact searches and determines the minimum query length. Default is 2

io.ox/contacts//enterprisePicker/useUsedInPickerFlag=<bool> Whether or not the UI filters folders by the used in picker flag. Useful when developing or debugging to make all folders show up. Default is true

io.ox/contacts//enterprisePicker/limit=<number> Limit of displayed contacts in lists and search results. Default is 100


User settings

io.ox/calendar//startTime=<number> Start of working time as hour of the day in current timezone. Default 8

io.ox/calendar//endTime=<number> End of working time as hour of the day in current timezone. Default 18

io.ox/calendar//interval=<number> Selected calendar grid scale interval in minutes. One of 5, 10, 15, 20, 30, 60. Default 30.

io.ox/calendar//showDeclinedAppointments=<bool> Should declined appointments be displayed in the user calendar. Default true

io.ox/calendar//categoryColorAppointments=<bool> Should appointments use the color of the (first) category. Default true

io.ox/calendar//markFulltimeAppointmentsAsFree=<bool> Mark all day appointments as 'free' for free/busy views. Default false

io.ox/calendar//notifyNewModifiedDeleted=<bool> Receive notification emails for appointment changes where the user is participants. Default true

io.ox/calendar//notifyAcceptedDeclinedAsCreator=<bool> Receive notification emails as appointment organizer when participants accept or decline. Default false

io.ox/calendar//notifyAcceptedDeclinedAsParticipant=<bool> Receive notification emails as appointment participants when other participants accept or decline. Default false

io.ox/calendar//deleteInvitationMailAfterAction=<bool> Automatically delete invitation emails after the appointment has been accepted or declined. Default false

io.ox/calendar//numDaysWorkweek=<number> Number of days in a work week. Default 5

io.ox/calendar//workweekStart=<number> Day to start the workweek. Numeric where Sunday is 0. Default 1 (Monday)

io.ox/calendar//chronos/freeBusyVisibility=<string> Option to configure if the users free/busy information is generally available for other users or not. Default: all. Possible values: all, internal-only and none.

io.ox/calendar//favoriteTimezones=<string> Array of timezones like ['Europe/Berlin']

io.ox/calendar//renderTimezones=<bool> Array of timzones that specifies that timezones out of the favoriteTimeszones that should be displayed

io.ox/calendar//showPastReminders=<bool> Determines if reminders should be shown for appointments in the past. This does not affect reminders that are set to trigger after an appointment ends. Default is true.

Scheduling view

io.ox/calendar//scheduling/zoom=<number> Zoom level in percent. One of 10, 25, 50, 100, 200, 400 or 1000. Default 100

io.ox/calendar//scheduling/compact=<bool> Use compact mode for scheduling view, rows take less vertical space. Default false

io.ox/calendar//scheduling/showFree=<bool> Show/hide appointments that are marked as free. Default false

io.ox/calendar//scheduling/showReserved=<bool> Show/hide appointments that are marked as reserved. Default false

io.ox/calendar//scheduling/onlyWorkingHours=<bool> Show only working hours in scheduling view. Default true

io.ox/calendar//scheduling/dateRange=<string> Show either one week or the complete month in the view (week or month). Default week

Calendar: Misc

io.ox/calendar//defaultFolderColor=<string> Calendar folder color as CSS HEX string, defaults to #CFE6FF

io.ox/calendar//freeBusyStrict=<bool> Hide appointment data in planning view for all appointment where the user is not an participants. Default true

io.ox/calendar//participantBlacklist=<string> List of blocked participants which can not be added to appointments. Useful for mailing lists.

io.ox/calendar//layout=<string> Restored layout at startup on desktop/tablets with values 'week:day', 'week:workweek', 'week:week', 'month' or 'list'. Default is 'week:workweek'.


io.ox/files//showHidden=<bool> Show hidden files and folders. Default false

io.ox/files//uploadHandling=<string> Strategy how to handle files with identical names. One of newVersion, announceNewVersion or newFile. Default announceNewVersion.

io.ox/files//autoplayPause=<number> Slideshow / Autoplay mode pause in seconds. Default 5

io.ox/files//audioEnabled=<bool> Play audio files in viewer. Default true

io.ox/files//videoEnabled=<bool> Play video files in viewer. Default true.

io.ox/files//autoplayLoopMode=<string> Autoplaymode of the viewer. loopEndlessly or loopOnlyOnce. Default loopEndlessly

io.ox/files//features/comments=<bool> Allow comments when uploaded a new version of a file. Default true


io.ox/tasks//currencies=<array> Availabe currencies in create/edit dialog. Default ['CAD', 'CHF', 'DKK', 'EUR', 'GBP', 'JPY', 'PLN', 'RMB', 'RUB', 'SEK', 'USD']

io.ox/tasks//notifyAcceptedDeclinedAsCreator=<bool> Receive notifications when a participant accepted or declined a task created by you. Default false

io.ox/tasks//notifyAcceptedDeclinedAsParticipant=<bool> Receive notifications when a participant accepted or declined a task in which you participate. Default false

io.ox/tasks//notifyNewModifiedDeleted=<bool> Receive notifications when a task in which you participate is created, modified or deleted. Default false

User Preferences:

io.ox/tasks//listViewLayout=<string> Set initial value for list view layout (checkboxes, simple). (Default simple)

Settings: Downloads

Please see section Portal: OX Drive Clients Widget for more related settings.

plugins/portal/oxdriveclients//standaloneWindowsClient=<boolean> Enables download link of standalone window client on settings download page. Default false

Portal: OX Drive Clients Widget

plugins/portal/oxdriveclients//appIconAsBase64=<string> App icon encoded as base64 string.

plugins/portal/oxdriveclients//l10nImages=<array> Array of language strings like 'en,de,es'. This will indicate which localized app store images are present. Default ['de', 'en', 'es', 'fr', 'it', 'nl']

plugins/portal/oxdriveclients//linkTo/[Windows|Android|iOS|MacOS]=<string> Link to Appstore or download location

plugins/portal/oxdriveclients//productName=<string> Customized product name for OX Drive. Default OX Drive

AI Integration


io.ox/core//ai/hostname=<string> Hostname of the AI service Default: ``

io.ox/core//ai/openai/model=<string> Model of the AI service Possible values: gpt-3.5-turbo or gpt-4 Default: gpt-3.5-turbo

The consent text can be customized via the following settings. For each locale that needs to be customized you must place a key in the custom strings config, eg. "en_US" or "de_DE".

It is also possible to set this language based eg. "en" or "de".

This applies to all settings under io.ox/core//customStrings.


io.ox/core//customStrings/ai/consent/title/en_US = "Your english title"

io.ox/core//customStrings/ai/consent/title/de_DE = "Dein deutscher Titel"

io.ox/core//customStrings/ai/consent/title=<string> Title of the consent dialog Default: Your consent is required

io.ox/core//customStrings/ai/consent/teaser=<string> Teaser text of the consent dialog. Will be prepended to the consent text. Default: ``

io.ox/core//customStrings/ai/consent/trailer=<string> Trailer text of the consent dialog. Will be appended to the consent text. Default: ``

io.ox/core//customStrings/ai/consent/checkbox=<string> Text of the checkbox to confirm the consent. Default: I agree to submit the relevant data to the AI service when using AI-based features.

io.ox/core//customStrings/ai/consent/button=<string> Text of the button to confirm the consent. Default: Save

io.ox/core//customStrings/ai/consent/text=<string> Consent text of the consent dialog. Default: By using any of the AI-based features, you agree to submit the subject data to an external artificial intelligence-based text transformer operated by %1$s located in %2$s. This process will only occur upon your proactive engagement to ensure that no data is automatically transmitted. It will not be used to train the underlying AI model, but is subject to %3$s\'s [Data Use Policy](%4$s). Please note that you may be restricted by law or contract from providing confidential information (including personal information) to any third party, including an AI and its operator. You may return to this consent dialog at any time to review and change your consent status under Settings > Mail > AI Integration.

The main text can make use of 4 variables in printf format to inject more info depending on the used services and their location

%1$s: will inject a link to the service's website. io.ox/core//ai/config/custom/serviceName will be the link text, io.ox/core//ai/config/custom/serviceLink will be the link target.

%2$s: io.ox/core//customStrings/ai/consent/location

%3$s: io.ox/core//ai/config/custom/serviceName

%4$s: io.ox/core//ai/config/custom/dataUsagePolicy

Links and service name can be customized via the following settings.

io.ox/core//ai/config/custom/serviceName=<string> Name for the used AI service Default: OpenAI

io.ox/core//ai/config/custom/serviceLink=<string> Link to the used AI service Default:

io.ox/core//ai/config/custom/dateUsagePolicy=<string> Link to the data usage policy of the AI service in use Default:

io.ox/core//ai/config/custom/consentPath=<string> Path to the settings where the user's consent is stored (as a boolean) Namespace is always io.ox/core// Default: consent/ai/openai

Error Messages

io.ox/core//customStrings/ai/errors/moderation=<string> Error message when moderation fails due to inappropriate content. Default: Inappropriate content detected. Please try again with different input.

io.ox/core//customStrings/ai/errors/unavailable=<string> Error message when the AI service is unavailable. Default: API request failed. The service might be unavailable. Please try again in a few minutes.


What's New dialog

Do not confuse this with the What's New TOUR. The dialog uses core namespace because it is part of the core package.

io.ox/core//whatsNew/menuEntry<boolean> Wether or not the dropdown button is shown. Default is true

io.ox/core//whatsNew/helpLinks<json> Can be used to set language specific help links. Example: javascript { fallback: '', ca_ES: '', cs_CZ: '', da_DK: '', de_DE: '', en_GB: '', en_US: '' } There is no default.

io.ox/core//whatsNew/autoStart<boolean> set if the whats new dialog is shown automatically when a user logs in with a new version. Default is true

io.ox/core//whatsNew/baselineVersion<string> configure the default for the last seen version of a user. If set to a falsy value, the current version is used as default. This means the dialog is not shown to new users. Setting it to any other valid version, the dialog will show features starting from that version to the current one. Default is '' which will force the ui to set it to the current version.