New releases > ELMA365 SaaS / 2023.3


Document management


1. TEAM-9496 We improved the Sign process activity. Now if a user refuses to sign a document, he or she can enter a comment explaining the reason for that. The comment box appears after the users clicks Decline.

Also, the task's creator and the user who declined signing see a notification in their activity streams.


2. TEAM-14843 In the Registration activity settings, when selecting Manual registration, the Allow selecting registration date in the task option is now available. If enabled, a field for selecting a date is added to the registration task form. Past dates cannot be selected.


3. TEAM-15340 Reservation of registration numbers can now be done with regard to the date of reservation. This option is available for automatic registration with reserved numbers. If enabled, the registration date is set to the date when the number was reserved, not when it was applied to the document.


4. TEAM-15787 When exporting an approval sheet or list of informed users as an .xls file, the information about substitute users is added to the Approval column (if there was a substitute users assigned for respective tasks).




TEAM-13490 A new source app can now be created directly form a contract's page via the +New app button. When creating the app, you can specify its type: Standard, Event or Document. The Document type can be used if the contract has a File-type field with the code file. If the contract has no such field, an error will appear.




1. TEAM-11161 You can now add custom properties to a session. In this release, they can only be used in business processes and scripts. In the upcoming releases they will become available for session interfaces. We added a new system property: Priority. It is available on the pane featuring session details, and can be changed by the users.


2. TEAM-16526 Quoting is now available in the live chat messages widget. You can quote messages when chatting with internal users, in the technical support chat, and if WhatsApp integration is set up.


3. TEAM-15353 A new option was added for routing a session to operators and groups of operators. By default, a session is assigned to all the operators.

If ELMA365 Service is activated, the administrator can create routing rules in the live chat settings on the Routing tab. New requests will be evaluated according to the specified conditions and assigned to a relevant operator or group of operator. This can be used, for example, to distribute all incoming requests from one messenger between specific groups of operators.


4. TEAM-17445 We improved the Live Chat Messages widget. You can now create a new session directly in the widget. If the By app item option is selected in the widget's settings, all the contacts will be available for creating the session; you will also be able to create a new contact. Also, we changed the name of the option All to By account. If this option is selected in the settings, you will be able to create the sessions only with the current contact.




1. TEAM-12984 We added a new workspace: Marketing. Also, integration with Unisender was implemented. This workspace becomes available when the ELMA365 CRM solution is activated and allows you to:

  • segment your customer database (basing on data from the Leads, Deals, Companies, and Contacts apps);
  • assign the Subscriber status to your contacts depending on their preferences;
  • create email campaigns and send out newsletters using integration with email.


2. TEAM-16774 Each block on a sales manager's or sales rep's dashboard is now a separate widget, meaning that you can customize the dashboard: add or remove widgets, use items multiple times to display data in different ways.

If you have already edited the dashboard pages, you have to manually fill them up with these newly added widgets.


3. TEAM-17169 Duplicate search is now available in the Contacts app. The comparison rule is Contacts-Contacts, and the following values have been preset:

  • Email - Similar - Email - 95%;
  • Work phone - Similar - Work phone - 5%.




TEAM-16482 We added a new widget: My project tasks. It shows project tasks and provides different sorting and grouping options.


Color coding is used to highlight the overdue tasks. The list of tasks is created by taking the tasks from a published project plan. This widget can be set up according to the user's requirements, and can be used to:

  • view the list of tasks for the current project or group of projects specified in settings;
  • view the list of overdue tasks for the current project or group of projects specified in settings;
  • view the list of unassigned project plan tasks.


External portal


TEAM-15801 To make the portal available to a wider audience, we added authentication with phone number. To make it possible, we expanded the authentication settings so that the users could choose this option. We also added a sign-in form where the users can enter a one-time code sent to them via SMS.


Security audit


1. TEAM-16566 We added Security settings changed events.


An event has the following structure:

"namespace": "system",
"code": "security",
"name": "settings",
"fields": [
"code": "oldItem",
"type": "JSON",
"view": {}
"code": "item",
"type": "JSON",
"view": {}

where oldItem stands for the old settings, and item stands for the new settings.

An event passes different instances of the settings. At the moment there are 3 possible instances:

  • Password policy settings;
  • Two-factor authentication settings;
  • Additional authentication settings.

The events are handled by the event_bus service when captured. However, specific events cannot be selected for processing in modules.


2. TEAM-16564 We added user lock events: change of status and exceeded number of login attempts.


3. TEAM-17042 We implemented events for creating/deleting/editing a user in the system.


Data types


TEAM-15294 Version history for files in system folders is now available if the feature flag allowAddVersionFileFields is enabled. When values in a File-type field are edited, the version history of this file is saved.


This feature works on app forms and process task forms as well as in the Assign Value and Edit App Item elements.

If the feature flag is off, the version history is not saved, and when clicking the file's name the user will only see the latest version.




TEAM-11513 The font size in the Text widget can now be changed.




1. TEAM-4772 Users can now manage access to their calendar. By using the Access to my calendar option you can assign specific users, groups, or org chart items to view, edit and delete events.


2. TEAM-9515 New fields were added to Event apps:

  • Description to add a text description of the event;
  • Link to add a link to the online call;
  • Associated item to associate the event with an object int he system, for example, in case of a job interview with a candidate's page.


3. TEAM-16021 An event in the personal calendar can now be deleted.

  • The status of the deleted event changes to Closed.
  • When deleting a periodic event you can specify if you want to delete a single occurrence or the entire series.




TEAM-13990 Processes in built-in workspaces (Tasks, Files, etc.) now support multiple languages.


In Administration > Translations you can add .po files that contain translations of variables used in the system. When the user switches the languages, the process variables are translated. By default, we have added .po files with English, German, Russian, and Spanish.


Solution import


TEAM-15895 If an app, a widget or a process of a solution have fields that refer to an app belonging to a system solution, a notification will appear upon import saying that without a license the solution may work incorrectly. It appears regardless of you having the license and does not prevent the import.




1. TEAM-15859 In the OAuth2 module a new method oauth2_logout() and interface OAuth2LogoutResponse() were added. These options allows the OAuth2 authentication provider perform logout when a user signs out of the system.



interface OAuth2LogoutResponse {
redirect_url: string;
async function oauth2_logout(): Promise<OAuth2LogoutResponse   OAuth2ResponseFail> {
return <OAuth2LogoutResponse> {
redirect_url: ""


2. TEAM-16398 You can now specify the same SAML server as means for authentication in various AD servers.




TEAM-16543 In API methods, headers are now added to each request object passed to a script:

  • : method is the http method;
  • : path is the part of the url that stands after the domain and includes query parameters, for example, /test1/test2?q=12345&n=aaa;
  • : scheme is either http or https;
  • : authority is the domain + port (except for 80 and 443), for example or




1. TEAM-16472 Fields available for reading have been added to Participant of approval sheet/list of informed users:

  • customStatusUsed: boolean shows the participant's user status;
  • statusText: string is the participant's decision.

These fields help analyze the statuses of the approval sheet/list of informed users in scripts and direct the process flow depending on the decisions made by the participants.


2. TEAM-15050 Improved capabilities for working with files.

  • New method FileItem.getVersions that gets a list of all the versions of a file of the FileVersionData type.
  • Interface FileVersionData for file versions fields. Contains information about the file version.

The version: number field is the file version; comment: TString is the comment to the versions; filename: TString is the name of the version's file; fileid: TString is the file's ID.

A user can add a new version to a previously created document in the system interface and the following methods: FileItem.addVersionFromLink, FileItem.addVersion. The previous version is then marked as outdated. The added versions are shown on the same panel of the view page, in the Document versions widget..

  • New method FileVersionItem.getDownloadUrl that gets a link to download the contents of the file version. The link returns the contents of the file. All users, including anonymous ones, can use the link for download. The link is available during 1 hour. Attachment is of the attachment or inline type. If the dispositionType parameter value is not passed, the value is set to attachment by default.

3. TEAM-16554 We added a method that allows creating an internal user bound to the oauth2 provider: createWithAuthData.


Bugs fixed

1. TEAM-3750 We fixed how a chart is displayed to a user with no access permissions. Now an error message appears: Cannot build chart.


2. TEAM-7142 Comments in tasks no longer disappear when changing the progress percentage.


3. TEAM-12352 When updating a module with handlers, settings are no longer reset.


4. TEAM-12432 We improved the error message that appears when signing documents via Sign.Me with an invalid password.


5. TEAM-12949 Fixed the error in sorting tasks by executor. In Tasks > Assigned by Me only the tasks are now displayed, and not the instances of the processes started by the user. Sorting and search by executor now work correctly.


6. TEAM-13944 We fixed how the org chart is displayed in the Company workspace. Now the order in which positions, departments and groups are displayed corresponds to the org chart.


7. TEAM-14764 We fixed the link to the Help Center on the Administration page in the interface.


8. TEAM-14979 Fixed the event handler validation error.


9. TEAM-15200 Fixed the error that appeared when limiting the variables of the App type that can be selected when being added to a create/view/edit form.


10. TEAM-15220 We removed the duplicate scroll bar that appeared when selecting an item in a hierarchical folder.


11. TEAM-15425 App item sorting settings worked incorrectly in tile view. Fixed.


12. TEAM-16332 Settings of a document package in Diadoc are now displayed correctly.


13. TEAM-16489 Fixed the error in creating a script file. Getting a file model is now done via disk-jokey instead of the collector service.


14. TEAM-16578 Previously, an error wouldn't allow users to attach files in any app when editing an app item. Fixed.


15. TEAM-16602 Previously, during SAML sync a user's patronymic wouldn't be passed. Now, if the FirstName field has more than one words, it is automatically divided into two fields and they are both passed correctly.


16. TEAM-16636 Fixed the error in hierarchical folder filters.


17. TEAM-16665 Fixed the error in checking required fields of a widget on a form.


18. TEAM-16824 Fixed the error in displaying a parent task in project files.


19. TEAM-16928 Fixed the error in importing event handling when importing a configuration.


20. TEAM-17181 Fixed the error that wouldn't allow deleting a portable service when updating a solution.


21. TEAM-17258 Fixed the error that caused incorrect import of subscriptions to events in a module when importing and exporting a configuration.


22. TEAM-17259 Previously, when entering an invalid token, the module's API method would return 502 instead of 401. Fixed.


23. TEAM-17294 Swimlane settings are no longer reset after a new release.


24. TEAM-17401 We fixed the category and name collision error.


25. TEAM-17403 We fixed the duplicate reminders.


26. TEAM-17562 We fixed how the template projects work. Now tasks from a template project are added to a new project correctly.


27. TEAM-12808 Notification about a new session is now shown when switching a chat from a bot to an operator.


28. TEAM-17037 We fixed how a module business process activity is published. Result verification period is now a required field for a business process activity. The default period in this field is 1h.


29. TEAM-17288 We fixed the duplicate data that appeared in the duplicates widget when editing an app item.


30. TEAM-17327 We fixed the behavior that caused the 500 error when comparing a document with its previous version.


31. TEAM-17587 We fixed the error that didn't allow enabling/disabling e-signature modules.


32. TEAM-17732 We fixed the error that prevented access permissions to an app item to be applied for the author of the item.


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