New releases > ELMA365 SaaS / 2022.2


Email client

  1. TEAM-8601 The February release includes the ELMA365 email client. A user can connect their email to the platform and work with messages in the ELMA365 interface.
    Email client is a means for organizing communication in such a way that all the important messages concerning deals, clients, and other app items are available to all the stakeholders; the supervisors can at any moment check how an employee is handling communication with a customer or partner; the history of communication is always available in case the work is assigned to another employee.
    Another important feature of the email client is making it possible to work in one window while working in ELMA365 and managing the emails.

Main features:

Integration with inbox

In the user profile setting, the service, login (mailbox address) and password are specified. If you are using a non-standard mail service, you need to additionally specify the port for imap and smtp to configure the connection.

Please note that the mail service may be require to to allow access to the mailbox via the IMAP protocol

Receiving messages

When a mailbox is connected, the last 50 emails are loaded into the ELMA365 interface so that you can get started. Further, the received messages and attachments are transferred to the ELMA365 interface in real time.

Sending messages from the 365 interface

You can create new emails or reply to an incoming message, attach files, add or edit a signature. When writing a response to an incoming email, the recipient's address and subject are automatically filled in.

Saving messages as drafts

Unsent emails can be saved as drafts so that you can return to them later.

Marking messages as unread

In the interface of the ELMA365 inbox, you can mark messages as read, unread and important.

Deleting messages and disconnecting the account

When emptying the recycle bin or breaking the connection with the email service, all emails and attachments that are not linked to system objects are deleted from the system. This frees up storage space.

Adding a signature

In the email connection settings, you can set up and format a signature that will automatically be added to your messages.


Chat Desk

  1. TEAM-4315 A live chat can now be connected to the email inbox. The subject of the email is put in the name of the session, the author is saved in the Account field. When a new email is received, the system checks all the existing sessions. If a session with the same name has already been created before, then the text of the message is sent to that session. If nothing is found, a new session is created. As with integration with messengers, the session displays the entire history of correspondence with each contact.


  1. TEAM-6388 Integration with Instagram.


Data types

  1. TEAM-7481 For the "Phone" ‎data type, you can not specify an extension number after a separator, for example:
  • +79991234567 x1234
  • +79991234567 ext 1234
  • +79991234567;1234

In TSSDK scripts, the TPhone data type has been extended with the ext field that stores the extension number:

ext?: string;

When saving data from the form, the phone number is validated and divided into parts:

valid data:

  • the tel field stores the number with the Е.164 standard;
  • the ext field stores the extension number, if any.

invalid data:

  • the tel field stores data "as is".

When data is saved via TSSDK or API, it is not validated and the data is saved "as is".


  1. TEAM-1064

When entering time manually, separators are automatically inserted between hours and minutes XX:XX.


  1. TEAM-5501

When entering a date from the keyboard, separators are automatically inserted between the values of the day, month and year.


  1. TEAM-261 We added a new data type: "Role". It stores users, groups, elements of the organizational chart (both separately and all together). The data type has the getUsers() method for getting all the users including users belonging to groups and the org chart, stored in the field. Example:

for (let i of {
let users = await i.getUsers() =

  1. In an app item, the user specified a list of approvers for a contract by selecting organizational chart items.
  2. When a new app item is created, the approval process starts.
  3. In the process, a script uses the getUsers() method to define the approvers and saves them to the Users (many) variable.
  4. The variable with users is used in a swimlane.


  1. TEAM-2927 For the "Table" data type we added sorting the columns by type: Number, Money, String, User, App, Phone, Full Name, E-mail. To make the sorting available to users, enable it for the required columns. Then, in the view mode, the user will be able to sort the table by a column. The first click sorts the table in ascending order, the second click sorts it by descending order. The third click cancels the sorting.
    Important! Sorting is only available when grouping is disabled, and vice-versa. If grouping is enabled in a table, then sorting won't work.


  1. TEAM-6863 The width of a column with a serial number in the table can be now specified both in pixels or percentages.


  1. TEAM-7524 For columns of the "App" type we added the "Add filter" option. In a table it works just like in any other object of the system.



  1. TEAM-6780 The tasks with the Start Date yet to come but with progress already >0 are now displayed in the Active project tasks.


  1. TEAM-6809 In the project plan, a new "Process" type of tasks is available. The selected process will start automatically at the day and time specified by the user.


Export of structures

  1. TEAM-5908 The checking of the exported package has been improved. Before, if an error occurred in one of the services, the verification was stopped. Now, first, a full check of all services is done, and then a complete list of all errors that have occurred is displayed. Error descriptions have been improved to make it easier for users to identify the problem area.


  1. TEAM-7376 Additional options can now be accessed via the workspace/app menu. In a locked workspace, you can now edit the values of additional parameters.



  1. TEAM-7335 For the "Assisting" tasks we added the "Created on" and "Due date" columns.


External Portal

  1. TEAM-7458 We continue to improve the external portal and this time we are adding the possibility to work from different devices. The template for the portal has been improved. The header and navigation widget's markup is now adaptable to different screen sizes. This improvement will not apply to the portals created earlier.


Mobile app

  1. TEAM-8544 In the Android app, you can now add photos to tasks via the File/Image variable directly from the camera.


Bugs fixed

  1. TEAM-6481 We fixed the performance issues that appeared when using access settings for app items.
  2. TEAM-6595 We fixed the problem with assigning access permissions for a specific app item in TSSDK.
  3. TEAM-7458 The navigation menu in the external portal is now adaptable for mobile.
  4. TEAM-7853 Assigning access to an app item via a context variable now works correctly.
  5. TEAM-7862 We fixed the invite link for external users.
  6. TEAM-7979 The Audit module now works correctly when exported as part of a solution.
  7. TEAM-8019 Getting the current user in a client-side script now works correctly. The TSSDK method await System.users.getCurrentUser() always runs correctly and returns the current user, for the external portal as well.
  8. TEAM-8189 We added the Bearer method verification for API methods with external authentication.
  9. TEAM-8248 We fixed how numbers with decimal points are displayed in the Money field. Before, when entering a sum as 0 and x tenth (for example, 0.3), it wasn’t correctly displayed in the interface, although it was correctly saved in the database and scripts. Now it is also correctly displayed in the user interface.
  10.  TEAM-8335 We fixed the authentication error that appeared on the on-premises portal for external users.
  11.  TEAM-2404 We fixed the filters for the Email field with the Many option.
  12.  TEAM-6482 We increased the speed of sorting in apps for large numbers of app items.
  13.  TEAM-7550 Widgets with "‎App" type fields with modified workspace code are now imported correctly.
  14.  TEAM-7610 We fixed the display of user avatars in the interface.
  15.  TEAM-7648 The user page no longer extends beyond the edge of the window in the My Department workspace.
  16.  TEAM-7671 We fixed the issue where the widget fields were not mapped with the fields of forms until the fields of forms were in some way initialized.
  17.  TEAM-7902 We fixed the errors that appeared after using the clearFilter/setFilter methods.When the setFilter/clearFilter methods were called on the app page, the filter only applied to the fields of the currently opened page.
  18.  TEAM-4181 We fixed the search in hierarchical folders with directory filters.
  19.  TEAM-6993 Office365. When scaling a .pdf file, the spacing between pages no longer increases.
  20.  TEAM-7124 We fixed the error that appeared when viewing a .pdf file in an information task in the mobile app.
  21.  TEAM-7441 We fixed how the attribute/solution/file expectations settings work in the Approval activity.
  22.  TEAM-7919 Annual reset of numbering in document categorization folders now works correctly.
  23.  TEAM-7990 We fixed how the Money variables are displayed in a template when using the(ToString) function.
  24.  TEAM-8059 On the “Send Document” Diadoc task, the Contractor is now defined correctly.
  25.  TEAM-8093 The ToString() function now works for the Category type in task name templates.
  26.  TEAM-8229 In the Document Categorization workspace, we fixed how the loading icon was displayed.
  27.  TEAM-8349 The sender of a document in Diadoc is now defined correctly.
  28.  TEAM-8394 Creating new contractors via a script now works correctly.
  29.  TEAM-6722 The scheduled tasks are now displayed correctly.
  30.  TEAM-1726 The tasks of subordinates and of the CEO are now displayed correctly.
  31.  TEAM-6074 The deleted apps are now correctly displayed in the recycle bin.
  32.  TEAM-6588 We fixed how the Full Name was displayed.
  33.  TEAM-6957 We fixed the behavior of fields in a table.
  34.  TEAM-7971 The getChildren method now works correctly.
  35.  TEAM-8097 The pictogram display is fixed.
  36.  TEAM-8242 We translated the text of the error that appeared when trying to save a substitution.
  37.  TEAM-8305 Avatar upload is fixed.
  38.  TEAM-8421 A solution with deleted groups can now be exported; the deleted groups will not be exported with it.
  39. TEAM-8459 Task sorting is fixed.
  40. TEAM-8598 In TSSDK, the method for refreshing access permissions for an app now correctly processes the "inherit" parameter. We fixed the behavior of the “Inherit privileges” option in TSSDK:

const perms = await appItem.getPermissions();
perms.inheritParent; // Inherit privileges
await appItem.setPermissions(perms);

This parameter is responsible for inheriting access permissions specified for the collection. It is not a required parameter, so previously, when it wasn't specified, its value turned to false, which was incorrect. We fixed this behavior: if this parameter is not specified, the value in the collection’s item remains the same as it was before the method was executed.

  1. TEAM-8541 We fixed a bug in document registration.
  2. TEAM-8491 The error that appeared when saving a widget with masked fields is now fixed.
  3.  TEAM-8130 We fixed the availability of the has() and all() operators for the osIds property in UserSearch.
  4.  TEAM-7905 We fixed the service run error. We added an icon to the Status column (only for the “With an error” status) which on hover shows the error. On click, the text of the error is copied to clipboard. The following information is displayed: pod’s status and number of pods with this status.
  5.  TEAM-7847 We fixed the issue with the object page that wouldn’t close after receiving a phone call.
  6.  TEAM-7815 The Sign Out button on the Portal template was localized.
  7.  TEAM-7555 We added a tool tip with examples and the entry format for the “Result Verification Period” field for business process activities in a module.

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