New releases > ELMA365 SaaS / 2022.5




  1. TEAM-9227 To set up the visibility of pipelines in the Leads and Deals apps, you can now use custom groups and roles created in a workspace or app along with system groups.




  1. TEAM-9341 Emails in a thread can now be automatically linked to an app item.
  2. TEAM-9419 We added the Download all button to the view form of an email. If there are several files attached to the email, this button will download all of them as an archive.




  1. TEAM-9872 We added Purpose of Payment Settings to the Finances built-in workspace. It allows you to specify an app that will act as purpose for incoming payments, and specify a contractor from the context of that app. In the future, when selecting a purpose of payment, only apps added in Purpose of Payment Settings will be available to users. At the moment this option is not limited, but when a user selects an app that does not belong to Finances, an alert is shown. 
  2. TEAM-10185 We added the Finances tab to the Deals app since it is most commonly used as purpose of payment. The tab features an Incoming Payments widget with information about dates and amounts of estimated and received payments for the deal. In companies that have been registered before this release, the Incoming Payments widget can be now added to the form manually.




TEAM-9709 We improved the process behavior in cases when an approval sheet is closed due to the app item being changed. Now, if a critical field is edited, the process is interrupted with an error, and the sheet's status changes to Canceled


Chat Desk


  1. TEAM-8873 A process can be launched in ChatDesk in case of following events:
  • a new session is created;
  • a new message is received;
  • a session is closed.
    The processes are set up in Administration > Live Chats > Selected live chat > Business Processes tab. There you can also map the input parameters of the process and session.
  1. TEAM-9780 If a bot isn't connected to a live chat as a prompter, the operator can switch the session to the bot by clicking Actions Switch to bot.
  1. TEAM-10002 You can now launch any process from a ChatDesk session. To do that, click Actions > Start process on the sessions details pane. A list of available processes opens. Process parameters are specified by the operator manually. 




  1. TEAM-7378 We implemented a contract for OAuth provider for the external portal in modules. It is often required to integrate the external portal with an authentication provider. It can be a public server like Google or Facebook, or an internal OAuth provider. Now you can create a module that will implement the function of the authentication provider when an external user logs in.
    After adding this module to the system, you can select it in the portal settings, in Authentication > OAuth2 settings. To implement the OAuth contract in a module, add string settings with the following codes: “client_id”, “client_secret”, “auth_url”, “token_url”, “scopes”; and add the “oauth2_profile” function to the API methods scripts:

interface AccessTokenData {
    access_token: string;
    refresh_token: string;
    token_type: string;
    expires_in: number;
interface OAuth2Profile {
    //   user id
    user_id: string;
interface OAuth2ResponseFail {
    error: string;
    error_description: string;
async function oauth2_profile (tokenData: AccessTokenData): Promise<OAuth2Profile | OAuth2ResponseFail> {
    // implementation ... ... ...



  1. TEAM-7837 Information about status groups was added to the system API method used for obtaining information about app statuses.



For the moment, status groups are only used in the CRM workspaces in Deals and Leads as pipelines.


  1. TEAM-8127 For better compatibility with our products, API methods now process requests with a forward slash in the end. The following  examples would be processed in the same way:




  1. TEAM-4444 We added the HTML classes field to the System tab of widget settings. Here you can set values that will be written to the “class” attribute of the widget's HTML root node. This will allow you to set one class for several items and determine the styles via the Code widget instead of duplicating HTML styles.


  1. Add the Code widget with the following code:

    .my-custom-style {
        background: yellow;

  1. Add several widgets and in their settings specify the my-custom-style value in their HTML classes.
    Result: the background of all the widgets will be yellow. To change the color you will only need to change it in the Code widget instead of editing each widget separately. 


  1. TEAM-9564 We added the Show the Active/All switch option to the My tasks widget. It helps simplify the user interface when needed. If this widget is used on the portal for external users, the Active/All switch and button is the header always remain hidden.



  1. TEAM-9262 It is now possible to save preset field filters in contracts. The filtering works the same way as in apps.
  2. TEAM-10078 We added new methods for working with item permissions in contracts:
  • getPermissions – getting access parameters for the contract;
  • hasPermission – getting access to the contract;
  • setPermissions – setting access to the contract.


Folder hierarchy


  1. TEAM-10071 We improved the filter for hierarchical folders. When getting items from a folder the nested items can now be ignored.




  1. TEAM-2312 If statuses are set up and the Kanban view is enabled, the user can click on the name of any status to see a table with all the items that currently have this status.


Import and export of structures


  1. TEAM-6891 We added a check for potential import errors. It runs before the .e365 file is uploaded to the company. Any found errors are shown in a separate window. Files with structures are also checked when updated. This way the system prevents unsuccessful import intents and avoids creating incorrect structures and damaging the configuration.

What is checked:

  • field structure;
  • links in fields of the SysCollection (app) type that lead to existing namespace (workspaces) and appview (apps) ;
  • absence of duplicates/correctness of linkedFIeldCode (field for links) for fields of the SysCollection (app) type;
  • compatibility of fields in case of updates;
  • correctness of group structures;
  • absence of deleted groups in the package and in the database in case of an update;
  • page duplicates;


The import of pages into built-in workspaces was improved.

In the upcoming releases this function will be improved further, and the list of items to check will be expanded.


Table data type


  1. TEAM-9103 We added a new option to the Table data type: Allow deleting rows with read-only cells. If it is enabled, and the table has columns marked as Read Only, the rows in this table can still be deleted.
    The option is available in:
  • field settings;
  • widget settings;
  • business process task from settings.

User profile

  1. TEAM-10146 We added the Accounts field to the user profile.

Bugs fixed

  1. TEAM-10188 Registration error fixed.
  2. TEAM-10271 Fixed an error that occurred when downloading an approval sheet from the pop-up.
  3. TEAM-7353 Additional permissions are no longer duplicated after multiple script executions.
  4. TEAM-7391 Link filter search now works correctly even if you specify an array with no items.
  5. TEAM-8262 In case of CollectionManager.Query sent to collector, worker now operates correctly.
  6. TEAM-8969 Fixed a process start schedule bug that appeared when when the module is turned off.
  7. TEAM-9629 Fixed a bug in searching for app items with the has function.
  8. TEAM-9631 TDate.asDatetime() now creates time and date according to the company's time zone.
  9. TEAM-9675 The Namespace.api autocomplete now shows methods with a slash in the name.
  10. TEAM-9727 Filter in System.processes._searchTasks now works correctly.
  11. TEAM-9856 If a user requests password recovery on the external portal, the correct link is sent in the email.
  12. TEAM-9868 In modules API, the HEAD method is only available when the GET method is available. 
  13. TEAM-9951 Now, when you click the Save button in a module's settings, the required fields on the module settings form are checked.
  14. TEAM-9992 If something went wrong when you first enabled the portal in a workspace, you can now try to enable the portal again in the same workspace. We fixed certain data duplication errors.
  15. TEAM-10013 The _searchInstances search now works correctly.
  16. TEAM-10037 The authentication settings on the portal are transferred correctly via import/export.
  17. TEAM-10150 The getPermissions method no longer returns null instead of an empty array.
  18. TEAM-10361 We fixed the number in the name of the main/app/17 migration file.
  19. TEAM-10408 We fixed a bug when adding a parameter in the module settings.
  20. TEAM-8970 If app fields with display conditions were placed on the process task form, the validation check worked even if the fields were hidden, which made it impossible to save the form (perform the task). The bug has been fixed. 
  21. TEAM-10118 SDK methods in widget scripts did not work correctly when first opening a page in a browser. The error happened if app API was called in the onlit function in the widget. This behavior has been fixed.
  22. TEAM-6454 We added a check that doesn't allow creating a pipeline without a name.
  23. TEAM-8201 Changes have been made to the lead qualification process. When qualifying a lead and creating a company and a deal, the name of the company that is associated with the lead is shown in the lead's activity stream. The lead is also saved in the same pipeline that the item belonged to at the moment of qualification. 
  24. TEAM-9057 Fixed the name of the button on the Lead and Deal forms when closing a Call task.
  25. TEAM-9119 Added the ability to copy system pages. For example, in the CRM workspace there is a Deal Dynamics report page. You can copy the report and track the dynamics not only for deals, but also for leads, for example, to evaluate conversion. To do this, in the page settings, specify the app whose status you want to track in the report.
  26. TEAM-9179 Fixed system behavior when sending or forwarding emails that have attachments stored in the Files built-in workspace.
  27. TEAM-9399 Fixed a bug that deleted a file from the file storage when the file was deleted from the Attachments field when composing an email.
  28. TEAM-9689 Fixed a bug that did not allow saving pipeline settings in the Deals / Leads apps, such as associating business processes and other actions to the pipeline's status, changing the set of statuses, managing a deal's progress.
  29. TEAM-9944 Fixed the VoipParseWebhookRequest method that displays an entry about an outgoing call in the interface.
  30. TEAM-9731 Changes have been made to the Manage Status activity in business processes. Now, for apps with several pipelines (Leads and Deals), in the activity's settings, you can configure the transition to the selected status of a specific pipeline. When passing through this activity, the item's status will change to the specified status of the selected pipeline. In addition, you can configure it to change to one of the standard statuses, while the item will remain in the same pipeline as it was before reaching  Manage Status.
  31. TEAM-9940 We added a check that limits the ability to connect the same mailbox. You can be sure that other users cannot connect to your mailbox cannot be connected to other users. If there is a need to connect common corporate mailboxes, where emails are processed by several operators, we recommend using ChatDesk and connecting the Inbox channel.
  32. TEAM-10032 We fixed some minor errors in the Finances workspace.
  33. TEAM-2296 We fixed inserting links and editing them in messages in a channel.
  34. TEAM-4804 We edited the message that you see after paying for access to ELMA365.
  35. TEAM-6012 We fixed the error that appeared when clicking Save in workspace and solution settings when the solution was locked.
  36. TEAM-6229 We fixed the behavior when a new event window opened on double click when managing access permissions for creating events in the Calendar.
  37. TEAM-7658 We fixed how grouped data was displayed in a table.
  38. TEAM-9148 We fixed the excessive requests when displaying app item lists in Table and Tiles views.
  39. TEAM-9186 We fixed how the getChildren() method works.
  40. TEAM-9255 A user who doesn't have permissions to edit calendar items can no longer drag an event to another day.
  41. TEAM-9373 We fixed how a document link was displayed in app items.
  42. TEAM-9716 Localization of main (weblate)
  43. TEAM-9766 We fixed the error that appeared when opening Company > My department.
  44. TEAM-10075 We fixed the error that appeared when creating a company.
  45. TEAM-10290 We fixed the error that appeared when managing licenses.
  46. TEAM-10425 We corrected the text in the premium solution activation window.

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