New releases > ELMA365 SaaS / 2023.10


Below is a list of changes that you can explore right now by activating the ELMA365 demo version. After November 16, 2023, all changes will become available to our clients in their active companies. Please note that the list may be expanded after the release.


Workspace administrators

TEAM-752: Local administration for workspaces has been added. To activate, the feature flag 'useConfigurationAccess' must be enabled.

Administrators are assigned in the workspace menu.

Restrictions for a workspace administrator:

  • No access to the global Administration workspace and management of global entities (such as business processes, interfaces, users, modules, etc.).
  • Unable to administer other workspaces without the corresponding rights.
  • No access to app items and workspace pages if the corresponding rights were not provided.

Available features:

Workspace administrators can manage all other settings and parameters within their workspace, excluding:

  • additional parameters;
  • access settings;
  • API.



Report type app

1. TEAM-17151: The following enhancements have been implemented for the Report type app:

  • Added the ability to create fields of the Report type in widgets;
  • When creating a field of the Report type in widgets in modules, the options Input/Output are locked and have the value false;
  • Interface builder: when using a field of the Report type on a form, a link to this report is provided;
  • Autocomplete by report columns added in TSSDK;
  • Fields of the Report type are generated with the 'readonly' modifier;
  • Fields of the Report type provide search and filtering functions, similar to apps.

2. TEAM-19803: Similar to apps, an API item has been added to the menu of the Report type page. The API provides one method: "Getting a list of report items".


Authentication via external providers

TEAM-20617: In Administration > Security Settings, new features have been added:

1. In the Password Policy block, the option to Forbid password recovery has been added. If it is enabled, the Recover Password button is not displayed on the login form.

2. A new block has been added: External Authentication Providers. Options in the block:

  • allow OAuth2 authentication Select available providers. If providers are not selected, all configured modules are available.
  • allow SAML authentication Select available SAML servers. If SAML servers are not selected, all are available.
  • default authentication method: Internal (login/password), External (OAuth, SAML).


SMS providers

1. TEAM-13177: Implemented the ability to add new SMS providers through modules for the standard SMS sending and 2FA block.

To implement your own SMS provider, you need to:

  1. Create a module.
  2. In the API methods tab, click Edit and go to the Scripts tab.
  3. Implement interfaces:

// Data structure for storing the connection check response.
interface SMSTestConnectionResult {
    success: boolean;
    failReason: string;
// Data structure for storing the response of sending SMS to a number.
interface SMSSendError {
    phone: string;
    statusCode?: number;
    statusText?: string;

Implement the SMS sending function.

async function SMSSendSMS(phones: string[], msg: string): Promise<SMSSendError[]> {
    // function content


The implemented SMS provider can be used for:

  • Two-factor authentication;
  • Authentication via phone number and one-time codes;
  • Send SMS block.



TEAM-18590: Added a restriction on the maximum size and storage time of data in the script cache: System.cache, Namespace.cache, Application.cache.

Set maximum size to 16 MB (same as for storage). If more data is passed, an error appears.

Set the maximum cache lifetime.


  • For on-premises = 180 days
  • For SaaS = 14 days
    • If a larger TTL is passed, the smaller one is used.
  • Added environment variables in the worker-gateway service (for configuration in on-premises):
    • ELMA365_MAX_CACHE_ITEM_SIZE — the maximum size of the value that can be saved in System.cache or Namespace.cache, set in kilobytes, e.g., 1024 corresponds to 1 MB.
    • ELMA365_MAX_STORAGE_ITEM_SIZE — the maximum size of the value that can be saved in or, set in kilobytes, e.g., 1024 corresponds to 1 MB.
    • ELMA365_CACHE_ITEM_LIFETIME — the maximum lifetime (TTL) of a value in the cache: System.cache or Namespace.cache, set as 1s (one second), 1h (one hour), etc.



1. TEAM-23: Added a function to the Table widget: Predefined Filter. A new tab has been introduced, allowing you to set filters that are automatically applied when displaying data. You can configure filtering by specific values or values obtained from contextual variables. This provides more accurate and convenient data handling immediately after opening the widget.

2. TEAM-5539: Added the ability to link the Table widget to a variable.

As a data source for the Table widget, you can now select a variable of the App type (many).

Update features:

  • The predefined filter will be automatically applied before showing data in the table.
  • User access rights are now considered when displaying data: the table will only show items that the user has access to.




1. TEAM-17931: Added a new Rendering finished setting in the widget builder. This allows developers to use the system function onLoad, which is activated after the widget has fully loaded. The function is now integrated into the user interface under the Settings > System functions tab.


2. TEAM-16243: The Associated items widget now allows adding filters available to users.


Launching processes from app forms


1. TEAM-6347: The ability to add multiple Save buttons has been introduced on the creation and editing forms. These buttons can be linked to a process and triggered automatically after saving the form.

Key features:

  • The existing default Save button cannot be removed;
  • Custom Save buttons can be deleted;
  • Custom Save buttons allow selecting an associated business process;
  • The automatic and manual linking of a business process, created in an app, binds the process to the existing default Save button;
  • Custom Save buttons have the option to validate the required fields;
  • Custom Save buttons have an always display option, if there is access to edit or delete;
  • Custom Save buttons on the editing form have the option Only for selected statuses.


Copying workspaces and apps


TEAM-10461: Previously, copying an entity duplicated its history, leading to confusion and errors in data import and update. In the current update, copying an entity creates a new history to ensure its status as an independent object. Thus, copying a workspace or app now creates a new first entry in history for all structures in the copied namespace.


Data display

TEAM-4145: Updated interface:  added a Subtype column in the properties lists. A new feature has been added to all tables where properties are displayed - a Subtype column. This update will allow viewing additional settings of property types for improved management and easier configuration.


Process administration

TEAM-10753: In Administration, the Process Monitor and Business Processes pages now include a Module Processes folder. It contains a list of custom modules and their processes.


Task reminders

TEAM-20395: We extended the reminder period for tasks in the user profile settings. New periods added: 3 hours 30 minutes, 4 hours, 8 hours, 1 day, 2 days, and 1 week.


Performance reports

TEAM-21787: Implemented the ability to delete saved periodic performance reports and report files to clear outdated data.



Approval and sending for information

1. TEAM-2039 and TEAM-22958: Added the ability to configure a custom form for tasks in the Approval and Send document/app item activities.

2. TEAM-22803: Added the option to select a specific electronic signature provider when setting up Approval and Send document/app item activities. This allows modeling a process with a pre-defined signature provider, which cannot be changed by the user during task execution.


TEAM-18661: Added a bulk action feature for contract items, including editing, deleting, restoring, and starting business processes. The feature is activated in the contract settings.

Electronic signature

1. TEAM-19782: Enhanced the displayed information about certificates when signing. Now, when selecting a certificate for electronic signing, additional information is displayed, including details about the Certification Authority (CA), certificate location, and its validity period.

2. TEAM-20732: In the administration settings, the Electronic Signature module now has an option for Automatic certificate generation. In this case, electronic signature certificates for users within ELMA365 will be created automatically. This option does not require additional setup, unlike issuing a certificate during a business process.


1. TEAM-21246: Added multiple conditions in templates. Logical operators AND and OR allow setting multiple conditions as a single construct. When using OR, it is sufficient for at least one of the conditions to be met.

**Example 1**
{if {$trip.transports_type} = «Личный транспорт» OR {$trip.transports_type} = «Транспорт принимающей стороны»}

When using AND, all listed conditions need to be met.

**Example 1**
{if {$item.price} < 5000 AND {$item.isAvailable}}
- {$}

Conditions can also be combined using brackets.

2. TEAM-21598: Users can now add document templates directly through Administration > Document Templates, even if the solution is locked.

Document viewing

TEAM-21455: Added the ability to change the orientation of a document during viewing.



1. TEAM-22815: Added a new widget in CRM: Subscriber activity log.

  • Displays customer interactions from latest to earliest.
  • Includes 13 types of actions: Leads, Deals, CRM tasks, and others.
  • Recommended for use in Contacts and Leads apps.
  • On the Deals form, gathers information from all related contacts.
  • Planned update for adding custom activities by the end of 2023.
  • For proper operation, requires to be bound with the widget's contacts. Also,in email settings, automatic binding of contacts with incoming emails is required.

2. TEAM-21600 and TEAM-22793: Added a Nurturing stages widget that shows customer readiness to purchase.

  • Tracks customer touchpoints to assess their activity.
  • Recommended to be placed on the right panel in Subscribers, Leads, Contacts apps.
  • Ability to set rules for calculating nurturing stage.
  • Added feature for recalculating the nurturing stage based on new rules.

3. TEAM-22023 and TEAM-22209: CRM now has a Hierarchy widget, allowing setting relationships between items and displaying them in tree or table form.

  • Customizable composition of displayed properties.
  • Supports up to 100 levels of nesting.
  • Suitable for working with hierarchies of contractors or contacts.
  • In the Companies app, Parent company and Subsidiaries fields added for creating hierarchical structures.

4. TEAM-22492: Improved contact search in CRM. When filling the Contact field in CRM tasks, you can now use advanced search. Here is how it works:

  • When you start typing in the search field, only those contacts already linked to the company associated with the deal will be shown.
  • If no contacts are linked to the company, you can quickly find the required contact among all records in the directory using the Search by parameters filter.

5. TEAM-22652: When creating a Email Sent activity, you can now save a link to the email in the activity card.

6. TEAM-19663: Added a checkbox to the App item status widget settings: Forbid to edit pipeline.

7. TEAM-21295: Added user identifier in the Sales manager dashboard.


ELMA365 Service

1. TEAM-20675: For email, added the ability to create sessions for multiple users. Implemented through the send message block in the business process. When setting up the block with email as the communication channel, you can now specify additional recipients. Such a session remains open until closed by the operator. By default, the operator is the user who initiated the process, unless it is a system account. If the message is sent by the system, the session will be available in the general queue for operators.


2. TEAM-20677: Added channel filtering in live chat reports. Now you can filter data by the channel of incoming messages. This is convenient when you need to evaluate the team's work in different messengers, like email or Telegram. The feature will help understand the dynamics of requests and optimize the workload distribution among teams.


3. TEAM-21191: Added the ability to automatically send messages to customers when creating new sessions. This ensures that clients receive confirmation of message delivery before the operator joins the dialogue. In case of an error in sending the auto-reply, another attempt will be made after 15 seconds. If the retry is also unsuccessful, a corresponding system message about the malfunction will be displayed.


ELMA365 Projects

1. TEAM-17138: Improved the import of projects from MS Project. This update fixes the previously occurring error 500 and ensures accurate preservation of task hierarchy according to your original project plan in MS Project.

Update details:

  • Fixed an error that caused a failure when importing multi-level projects.
  • Implemented the creation of stage tasks with accurate adherence to levels of nesting.
  • Now complex project plans can be easily imported, maintaining the entire structure and detail of tasks.

2. TEAM-17212: Added a toolbar for ease of working with the project plan in view mode. Project managers and participants can now adjust the scale, apply filters, and access settings directly from the Project Plan widget.

Updates include:

  • Icons for collapsing and expanding tasks.
  • Scale control elements.
  • Filters for easy search.
  • Access to settings without auto-planning functions.
  • Removed the Edit button for users without rights to change the plan.
  • Clicking on the widget title navigates to the plan view page.
  • Ability to mark tasks as completed and update their completion status.

3. TEAM-18911: Updated the Project Plan Item form.

  • Removed the Object activity stream widget from the plan item to simplify communications.
  • Users can now leave comments exclusively in project tasks of published plans.
  • Migration conducted for a stable transition to the updated system for existing clients.

4. TEAM-19941: Added the Resources, Resource Groups, and Workload apps to the Projects section. On the project plan item edit form, a Resources table has been added to allow for the reservation of resources for project tasks.

5. TEAM-20131: Implemented automatic scrolling to the current date in the Gantt chart widget when opening a project plan. If the current date is not within the range of dates displayed on the timeline, the timeline automatically scrolls either to the beginning or the end of the period, depending on whether the period is before or after the current date.

6. TEAM-21101: The performance forecast request form now allows sorting by columns. This feature enables organizing tasks in ascending or descending order, facilitating the management and analysis of a large number of tasks in the calendar plan. The improvement was implemented to simplify working with tables containing many tasks, making the selection process more intuitive and less time-consuming.

7. TEAM-22078: Added new fields to the Project plan Item.

  • Added two non-system fields: Expenses (estimate) and Expenses (actual).
  • Fields displayed in the sidebar on all forms of the plan item.
  • Hidden on the view form if not filled.

These fields can be used to create and analyze expense charts, improving financial planning and control over the project budget. Examples of charts and additional tools for clients will be available through the ELMA365 Store.

8. TEAM-22155: Implemented the function of automatic adjustment of task dates when copying a project from a template. Now the start and end dates of tasks are adapted according to the project start date, maintaining the original time intervals between tasks. This update simplifies planning by eliminating the need to manually adjust each date in the new project.


Bugs fixed

  1. TEAM-6655: Previously, only one file could be sent for approval in Diadoc, now multiple files can be sent.
  2. TEAM-11074: Fixed an issue with completing tasks created in business processes of custom modules.
  3. TEAM-11566: Fixed an error that prevented opening information tasks.
  4. TEAM-13070: Unified page names in the Administration workspace for email settings.
  5. TEAM-13130: Restored the ability to add the Modal window content widget after its deletion.
  6. TEAM-14169: Fixed incorrect display of licenses for external users of business solutions.
  7. TEAM-15720: Fixed the display of the Contact Sales Rep button in the Google browser.
  8. TEAM-16217: Excluded the selection of variables when using the system process for plan approval.
  9. TEAM-17468: Improved the security of user password storage in AD integration settings using AES encryption.
  10. TEAM-18544: Fixed errors in selecting files from the Files workspace.
  11. TEAM-19357: Solved the issue with adding a user to a trial version when the phone number is already in use.
  12. TEAM-19412: Fixed an issue with linking live chats to clients, maintaining the link only with the specified copy when writing from email.
  13. TEAM-19714: Fixed synchronization errors of app items with contracts. Previously, items created in source apps were not displayed in the corresponding contracts. Attempts to delete and restore the source led to errors.
  14. TEAM-20144: Fixed an error that prevented the deletion of an email address in live chat settings.
  15. TEAM-20319: Resolved a conflict of forms during import.
  16. TEAM-20438: Fixed the issue with assigning information tasks.
  17. TEAM-20540: Changes in app forms are now updated immediately after saving.
  18. TEAM-20558: Solved the problem with filtering by an App type field when using the “down” key.
  19. TEAM-20583: Fixed an error in deleting widgets in the second column on the main page.
  20. TEAM-20728: Solved the issue with disappearing search fields when reopening filters.
  21. TEAM-20763: Corrected the highlighting error of the source when added through a new app.
  22. TEAM-20764: Fixed an error in navigating through the title on the contract page.
  23. TEAM-20924: Eliminated the "A widget with this code already exists" error when editing the main page.
  24. TEAM-20961 and TEAM-20996: Fixed errors related to the deletion of filters and resetting of user settings after updating a workspace or solution.
  25. TEAM-21006: Resolved an issue with access to information tasks for user groups. The problem was related to the fact that the information or approval object file was deleted after the process started or was inaccessible (insufficient rights). Added process interruption in case of error. Transition conditions are executed if set. These changes only apply to files.
  26. TEAM-21194: Fixed an error with uploading files to app documents.
  27. TEAM-21220: Resolved an error in processes when opening a custom task form.
  28. TEAM-21302: Solved the issue with loading PDF document previews.
  29. TEAM-21433: Corrected a notification in the calendar.
  30. TEAM-21435: Eliminated a problem with sending messages with links in live chats through the WhatsApp messenger.
  31. TEAM-21488: Fixed the escaping of column names in the code when building reports.
  32. TEAM-21496: The 'Restart' function in the process monitor now correctly updates the process version.
  33. TEAM-21588: Resolved an issue where field mandatory conditions did not work with more than two widgets on a form.
  34. TEAM-21633: Fixed inheritance of subordinate rights by a manager.
  35. TEAM-21653: Restored forms and their scripts when restoring a business process version.
  36. TEAM-21738: Corrected the incorrect text "Required field" under the Phone number field type.
  37. TEAM-21780: Added an error notification when inviting a user with an already used email.
  38. TEAM-21837: Corrected the incorrect response when an HTTP method implementation is missing in API methods.
  39. TEAM-21907: Added the ability to request a code for incorrect phone number entries.
  40. TEAM-21915: Fixed the issue of deleting phone numbers when registering a portal user.
  41. TEAM-21919: Solved the problem with viewing all active users.
  42. TEAM-21940: Corrected a search file error with symbols ( ) in search parameters by name.
  43. TEAM-21967: Improved the security of storing user passwords in SAML integration settings using AES encryption. To encrypt the private key, add the field aes_crypt_key to the integrations pod secret (command kubectl edit secret integrations), containing the key value for AES encryption in base64 encoding (key length can be 16, 24, or 32 bytes). This value is translated into the ELMA365_AES_CRYPT_KEY environment variable. The key for encryption is an arbitrary string.
  44. TEAM-22033: Fixed an error that prevented the process monitor page from opening in full-screen mode.
  45. TEAM-22093: Resolved the 'need logout' error when downloading file versions.
  46. TEAM-22116: Fixed an export error of the portal during configuration export.
  47. TEAM-22149: Resolved an error in the Chart widget when selecting a measurement with a nested property of the app.
  48. TEAM-22157: Fixed an issue where the task name was displayed as the process name.
  49. TEAM-22240: Improved the portal export mechanism. Now, portals that are disabled are excluded from the export package. Enhanced the process of checking the portal status before including it in the export to ensure accuracy and currency of data in the manifest.
  50. TEAM-22315: The System.directories.getFiles() method now returns an empty set if there are no files in the directory.
  51. TEAM-22318: Added a dependency check on reports when exporting a page.
  52. TEAM-22328: Added an option to configure notifications of new tasks created in the process in the Create and Edit App Item blocks. This feature is relevant when a manual method is selected for working with the block.
  53. TEAM-22340: Improved the search for app items by the Money field type.
  54. TEAM-22386: Solved the problem of only loading the first 50 contracts when displayed as tiles.
  55. TEAM-22404: Corrected the onInit function after editing an element.
  56. TEAM-22428: Fixed an error in the Arbitrary app field property. Inconsistency was identified in the behavior of the Arbitrary app field when created with a single value. In PostgreSQL for such a field, the property array incorrectly sets to false, whereas for regular app in a similar situation, this property sets to true.
  57. TEAM-22433: The issue with the order of adding items in the Arbitrary app with multiple values was corrected. Now new items are correctly added to the end of the list, providing more intuitive and convenient data management.
  58. TEAM-22480: Eliminated the possibility of editing a process by a second user.
  59. TEAM-22552: Fixed an issue that prevented opening unpublished processes at the company and section level after changing the language.
  60. TEAM-22560: Resolved the issue with displaying the session name in live chats on mobile devices.
  61. TEAM-22561: Fixed an issue with sending messages in live chats on mobile devices.
  62. TEAM-22572: Resolved a problem in linking the Arbitrary app field type with other fields. The fix allows the Arbitrary app field (Field "A") to be correctly linked with a specific app (Field "B"). Now, if field "A" is linked to field "B" and has an "Output" setting, then field "A" will be typed with the value of field "B". This means that when selecting a value for field "A", the user will only have access to the values of field "B".
  63. TEAM-22594: Fixed an error in transferring funnel visibility settings to other companies.
  64. TEAM-22678: Eliminated an internal error (500) when working with the Alytics module.
  65. TEAM-22778: Corrected an export error in the calendar with external participants. The calendar now successfully synchronizes with external calendar apps, including all scheduled events with external participants.
  66. TEAM-22780: Solved the problem of downloading files with Cyrillic names in AWS s3.
  67. TEAM-22781: Fixed an error in processing Money type fields related to incorrect currency display. Implemented checks for creating and editing Money fields in different contexts (apps, processes, parameters, widgets). Specifically checked the case with an empty currency in Money field settings, including editing field metadata in the database. Scripts related to changing currency in field settings and displaying the default currency depending on the company's locale settings were tested.
  68. TEAM-22839: Corrected an error in the getPermissions() method.
  69. TEAM-22852: Fixed an issue where users who logged in via SAML on an external portal were not displayed in the External Users system directory. Previously, despite successful authorization, user data was not registered in the directory.
  70. TEAM-22895: In version 2023.9, an error was found in the Project Plan widget, where the timeline was not displayed on app forms on old platforms after a system update, despite the true value set for this option in the form builder. As a result of fixing this error, the functionality of displaying the timeline has been restored, and it now correctly appears on app forms according to settings made in the form builder.
  71. TEAM-22901: Fixed an error in displaying the content of the widget in the navigator.
  72. TEAM-22905: Corrected an error that occurred when attempting to reply to an email into which an image had been pasted using CTRL+V. Previously, attempting to send such an email resulted in an error displayed in the har-logs, making it impossible to send.
  73. TEAM-22945: Resolved a problem with text formatting when communicating with a bot in live chats.
  74. TEAM-22948: The Gantt chart widget now adapts in width when resizing the project view form.
  75. TEAM-22953: The Control field on the Project Plan Item form is displayed correctly.
  76. TEAM-22964: Fixed updating the timeline length in the Gantt Chart widget.
  77. TEAM-23139: Resolved an error when publishing a process with the Create Package block.
  78. TEAM-23149: Fixed a problem with displaying status and approvers when viewing a document package.
  79. TEAM-23276: Resolved an error in the process of registering external users on the portal when the addUserWithoutConfirmation function was called for a phone number already existing in the system. Previously, when trying to register such users, a non-informative error "phone-already-exists" occurred, even if the phone field was empty. After the fix, in case of a conflict with OAuth2 data, a clear error with code 409 and text {"code":"oauth2-already-exists"} is now returned. This update simplifies the diagnosis of issues related to user registration and helps system administrators more effectively manage the authentication process.
  80. TEAM-23295: Fixed a bug in editing in the Gantt widget in view mode. Editing fields is no longer available in view mode.
  81. TEAM-23355: Improved access at the level of app items for the User (multiple) app property type.
  82. TEAM-10967: Filtering an app through setFilter in a table now works correctly.

Found a typo? Highlight the text, press ctrl + enter and notify us