AgileXRM Release Notes 8.0.25300.20502

The main improvements in this end-of-year release are the following:

  • New UX improvements for the AgileXRM Solution
  • Process Manager guides user to any descendant subprocess with error
  • Support Allowed Extensions for File Uploads
  • New API to fully control Snapshots (Point-In-Time) including Transactions

New Enhancements & Fixes

Dataverse/D365 Integration

Enhancements

  • New design for the AgileXRM Solution
    The solution has been enhanced to include the latest Dataverse component technologies and UX improvements, as well as made ready for future enhancements.

    NOTE: Due to a MS issue, the first time the solution is imported over an older version, the Update option should be selected rather than the Upgrade option. After this first time, the Upgrade option will work for future imports of newer versions.

  • DEPRECATIONRun Process and Start AgileDialog Command Bar buttons
    When a Table is Enabled these buttons used to be added to the Main Forms and Views. These are not added anymore as they generated clutter. NOTE: Previously Enabled Tables still have these buttons.

  • Change of Behaviour: Executed Instance record Ownership logic change
    When record is created, the Owner is set to the Model Owner if the Security Context is set to Model Owner

  • IMPORTANT: Use the Update Enabled Entities button in AgileXRM Administration for both Entities and Activities, so that they are updated with the latest AgileXRM components

Fixes

  • WaitForUpdate Plugin was throwing benign error in trace logs due to concurrent Deletion
  • Generated solutions for Enabled Tables/Activities were including the table metadata which was unnecessary

AgileDialogs

Enhancements

  • Support Allowed Extensions for File Control at environment-level as well as at Control-level
    At environment-level, set them in the AllowedExtensions.json file. At File Control-level, select which of the environment-level ones are allowed.
    NOTE: The Blocked Extensions in Dataverse System Settings still apply.

  • Add API support for Save Snapshot (Point-In-Time)
    This is to cater for situations where end user stays forever on the last confirmation pop-up and does not complete the Dialog.

    DialogsEngine.SaveSnapshot( bool includeCurrentPage, int TimeoutInSeconds )
    API to be called from OnLoadScript if needed.
    If includeCurrentPage is True, include the page when it was entered into (not when it is exited), else leave it out of the Snapshot.

    The TimeoutInSeconds sets the duration of the Page, after which the Page is Cancelled internally and the Dialog continues (i.e. finishes, assuming this was the last Page).

  • Added API to support Snapshot Transactions (Point-In-Time)
    When there are loops in a dialog, allow Modeler to be able to save Snapshot of completed loops, but not abandoned loops.

    Added 3 new APIs to DialogsEngine:

    • SnapshotStartTransaction
      Starts writing Pages in a transaction until Commit or Rollback are called.

    • SnapshotCommitTransaction
      Adds the content of the transaction to the Snapshot
      From this point on, Pages are written to the Snapshot

    • SnapshotRollbackTransaction
      Clears the transaction
      From this point on, Pages are written to the Snapshot v

  • Rolling Session (sliding sessions) supported in External Dialogs

    New config parameters to modify the following:

    • UseTokenLifetime (true/false)

    • ExpireTimeSpanSeconds (in seconds)

    • SlidingExpiration (true/false)

  • Improve File Upload errors so user knows the reason for the error

  • Make the Calendar Control width settable
    Previously it was a fixed width.
  • DEPRECATED: The End Message functionality is deprecated
    With the new AfterSubmit functionality, this static message is not needed.

Fixes

  • Certain characters in the name of a Dialog Model like ~ were breaking the functionality
  • Dialog was closing unexpectedly after error in a FetchXML in the Page
  • Radio Control was not respecting values set in OnLoadScript
  • File Control validation was failing when it was within a Group container
  • Snapshot (Point-In-Time) was not generated correctly when Resuming a Dialog which contained SubProcesses
  • When saving Snapshot (Point-In-Time) it was sometimes timing out
  • Snapshot (Point-In-Time) was not recording which checkbox was clicked
  • Scrollbar was not working in the Dialog History popup window
  • Dialog History before reaching a Page with Disable Back set, was being cleared
  • Breadcrumbs were not working correctly with Disable Back
  • Some Unicode characters were not displayed correctly in Firefox
  • Phone RegEx did not support French style Phone numbers
  • Calendar Control was failing with Before and After conditions in Rules
  • The Contains Data condition in Rules for File Control was not working
  • Search shape was setting output variables to Empty string rather than to null, when there was no value to set

Process Manager

ENHANCEMENTS

  • Show Error triangle in SubProcess shapes whose subprocess instance hierarchy has an error
    If any descendant subprocess has an error in it, the SubProcess shapes above it, all show an error Triangle, so user can drill-down to get to the root cause of the error
  • Change Sort Order for Sessions in an Automatic Activity popup to Descending on CreatedDate
    This avoids having to scroll down to get to the latest session

Fixes

  • The Open Task button for a Dialog Task was throwing a javascript error
  • The Open Task button was not working with all the sessions of a Task
  • Data tab control were cropped in German version
  • Data tab was rendering content of variables
  • Date formats were not respecting Formats set in Personal Settings
  • Task Due Date popup was not respecting user’s Regional Settings Date Format

Process Modeler

Enhancements

  • Support Envision for use by non-Local-Administrators
    Previously, all Envision users had to be in the Local Administrators Group of the PC. Now they can be normal Users

  • Add HTML (Rich Text) Editor to Add Note shape’s Content property
    Dataverse supports HTML in Notes and now these can be set

  • Include “Does Not Contain” Operator in Single and Multiple Condition Editor

  • Change of Behaviour: Auto-set Security Context and Auto-create Model Permissions
    When a new Model is first Published, previously, Security Context and Model Permissions had to be configured manually. Now, Security Context is set to Model Owner for Process Models and to Process Initiator for Dialog Models. Also, All Permissions for root System Administrator Security Role are set automatically

Fixes

  • Model names were allowed to exceed 100 chars breaking Publish functionality
  • When adding new filters to a Search Query, the fields were being added below the related Tables. Though benign, it caused confusion.
  • Email Templates window when maximized, was rendering incorrectly
  • Trying to set the value of an Image column with an empty variable was throwing an exception
  • Under certain circumstances, the buttons in the URL Editor of the Email Template Editor were not visible
  • Visio would sometimes crash when accessed via Remote Desktop and a Page was saved that had OnLoadScript
  • Visio was sometimes crashing when used in high-resolution monitor with high DPI (>150%)
  • Clicking Open SubProcess link (in a SubDialog shape) was throwing an exception
  • Detaching a file which had two consecutive dots in its name, to SharePoint was throwing an exception
  • Selecting My Dynamic Major Version in SubProcess configuration was throwing an error
  • Visio was crashing with multi-language Progress Messages
  • Some windows were not rendered correctly under high DPI settings

Miscellaneous

  • FIX: Internal Caching mechanism did not include Security Context and SLA info for Models
  • FIX: AgileXRM DevOps Import Task was not updating Models with non-consecutive versions

Enable SLAs in Dataverse? YES YOU CAN!

Do you use the SLA functionality in Dynamics 365 Customer Service?
Maybe for Case or for some custom tables?

Wish you could also use SLAs in Dataverse?

Screenshot of a Dynamics 365 Customer Service case interface, displaying SLA details including 'Time to Resolution' and case information.
This example shows SLA KPI added to RapidStart’s Service app.

Problem is that all SLA-related settings that you find mentioned in the Microsoft docs, are missing in Dataverse!

It turns out that the SLA functionality is not actually missing, rather it is hidden from users.

PLEASE NOTE that SLA functionality requires a valid Customer Service license.
That is, with only a Power Apps license, you are not allowed to use SLAs (details here).
However, if you already have a Customer Service License and want to use SLAs in your Dataverse Apps, you are allowed to do so.

HOW?

Just click the button below to follow this self-contained wizard-like dialog.

It will take you through the steps.

It does not configure your SLAs, rather it enables your tables so that you are able to configure your SLAs. Specifically, it carries out these steps.

It also installs a shell App called SLA Management, bringing together all the Microsoft SLA Settings pages used in the Microsoft docs, so you can then configure your SLAs.

Hope you like it!

But wait! This blog post is not about SLAs, it is about what kind of things you can do with AgileDialogs.
Here you have an example interactive dialog that guides the user towards a desired outcome, in this case Enable Dataverse Table for SLA.

Flowchart illustrating the process for enabling SLA functionality in Dataverse using AgileDialogs, including steps for login, table selection, SLA configuration, and KPI management.
The Enable SLA Dialog created in MS Visio

An AgileDialog is not just about automation.

It is a mixture of UI steps (Pages) and automatic steps taking the user towards a goal.

It is created and configured in Microsoft Visio.

Some of the automatic steps and logic within it, could have been implemented in a Power Automate Cloud Flow, or scripted using CLIs or PowerShell.
But then, how would users utilize them?
Would they need to know all the input parameters?
Where in these automations would the users make decisions, or get feedback, or even go back and change their mind?

With AgileDialogs, users do not need to know anything.
They would just follow the guided steps to get to the desired outcome.
This way, any user could do any task, no matter how complex, because AgileDialogs makes complex tasks look simple.

Imagine the use cases!

If you see your project benefiting from having this kind of functionality (and a lot more) let’s set up a call for a one to one.

Announcing the AgileXRM Community Edition

person hand reaching body of water

“You’ve got the Holy Grail of Process Management Tools”

— Microsoft Program Manager


AgileXRM has been around for quite a while now and has been fully tried and tested, out there in many clients around the globe, including many hard-to-convince enterprise and public sector customers, helping them manage their Business-critical processes.

AgileXRM started life back in 2006, in the Dynamics CRM 3.0 era, and has since grown and matured through the amazing evolution of Dynamics CRM On-Premise to Dynamics 365 Online and on to the remarkable Power Platform (Dataverse), Microsoft’s Business Application Platform.

All these years, we have been happily occupied with evolving the product through all the feedback we received from our customers, to cater for their ever-changing and increasingly demanding real-world business scenarios. Our customer base was growing just through word-of-mouth!

It is now time to make AgileXRM available to a much larger audience, and what better way to make our product more reachable in the market, than by offering a Free-Forever version of it. With AgileXRM Community Edition you can verify for yourself, the value it brings to your Digital Transformation strategy and how it complements the Power Platform.

Recruitment Process Example

Below we try to answer some questions you may have:

What is the value of AgileXRM for me?

In short, you will be receiving the following:

  • A Microsoft Visio-based Modeler to let you model processes and dialogs
  • Powerful dialog functionality for creating guided interactions for any type of user
  • A Business Process Engine (BPM) to manage the lifecycle of your processes end-to-end
  • A Process Monitor to let you visually see and manage running processes

The answer also depends on you background:

  • If you are new to Power Platform and just starting
    Power Platform is many things to many people. You may be looking at Canvas Apps in conjunction with data sources like SharePoint to create your Apps. Or maybe you have already recognized the need for Dataverse as your data repository and want to create more solid and manageable Model-driven Apps. If it is the latter, then AgileXRM would add great value.

    AgileXRM Value: AgileXRM keeps Model-driven process-apps Low-Code (mostly No-Code). Because with AgileXRM, you avoid having to use javascript in your Dataverse Forms and avoid needing to write custom C# code (Plugins etc.). Also being a BPM tool, you will be modelling and configuring your business processes and your User Interfaces/Interactions explicitly with Microsoft Visio, a visual tool that is designed to be understood by business users. Anyone can create very complex process-apps easily and cleanly without extensive knowledge of Dataverse customization.
  • If you are already using Power Platform to some extent and want to do more
    Having delved into the platform already, you probably have recognized how some requirements are harder to implement, either needing resources with expert knowledge or requirements that need too much effort to implement.

    AgileXRM Value: AgileXRM allows you to reach much further and quicker without requiring a higher level of Dataverse knowledge.
  • If you are already deep into Power Platform and have created many complex solutions
    There is no better person than you to know exactly where the pain-points are:

    • Difficulty in correctly capturing the business process requirements
      Business users usually use a flowchart diagram to describe their process requirements, but they will never see it again in the produced apps

      AgileXRM Value: From requirements capture to creation to execution, everyone uses the same Process Model. Everyone sees the same model at design-time and at runtime and it is understandable by everyone.

    • Cost/effort in creating the solutions
      Good expert resources are hard to find in the market and certain requirements demand excessive amounts of code leading to over-customization of the platform

      AgileXRM Value: Implement complex business requirements much faster and by non-developers. Avoid over-customization of the platform by keeping everything truly Low-Code.

    • Cost/effort of maintaining the solutions
      The business logic is split in many parts and hard to see the overall picture, especially when project resources leave or when business requirements change once in production, and how those changes affect existing processes that are mid-flight

      AgileXRM Value: The process logic is being documented with the end-to-end process model as What You Model Is What You Execute, and it is easy to see what needs to be changed and where in the model. You can even compare different versions of the process to see exactly what changed and where.

    • Cost/effort in troubleshooting when things go wrong
      Given the end-to-end business process is split across many components (Flows, Workflows, Actions/Custom API, Business Rules, Business Process Flows, Plugins, Custom Pages and client-side javascript), it is hard to identify what failed and what needs to be fixed. And even when it is identified and fixed, it is hard to evaluate how the changes affect existing processes which are still in progress

      AgileXRM Value: Firstly, you can model error-handling in your business process using alternative paths. Then, there is also a Retry mechanism, but if eventually a step in the process fails, the process is Suspended, and the error is made visually visible in the Process Monitor and recorded in Dataverse against the Process record (and admins are notified). If it is an external issue and it is fixed, Resuming the process is enough to continue. If it is a logic error in the process model, you can correct it, publish it and then Migrate existing running processes to the new corrected version.

    • Handling high volumes and business-critical processes
      When the correct running of the processes is of paramount importance to the business because it touches the organization’s bottom-line, you are aware of the pressure for all of it to work correctly

      AgileXRM Value: Our customers, in both private and public sectors, run Business-Critical Processes with millions of process instances per month. AgileXRM JUST WORKS!

What can I do with AgileXRM Community Edition (CE)?

You can use the full functionality of the Licensed Edition, for up to 25 Users for Free and Forever. You get the Visio-based Process Modeler, the Process Engine, the Process Manager and AgileDialogs.

  • Model and configure end-to-end Business Processes for any of your Dataverse or Dynamics 365 Customer Engagement Apps
  • Visually monitor where you are in the process
  • Handle unforeseen situations by managing the running processes
    Things like jumping from any step of the process to another step. Or even migrating a running process to another version
  • Model and run powerful dialogs (screen flows, agent scripts, wizard-like self-service guides etc.) for internal and external users (Contacts or anonymous users do not need a license)

AgileXRM CE is single-server. If you require High Availability, Archiving or more than 25 Users, you would need to get a License.

How do I get my copy of AgileXRM CE?

Simple: Go through this dialog(Powered By AgileXRM) on our web site and just follow the steps to register.

How is AgileXRM CE deployed to my environment?

AgileXRM CE will be deployed to your chosen Azure tenant and your chosen Dataverse Environment (or Dynamics 365 Org). Everything is done via another nice dialog(Powered By AgileXRM) that will guide you through the steps of the deployment process automatically. You’ll receive a link to this dialog once you register.

AgileXRM CE Deployment dialog

You are going to need the following:

  • Azure Global Administrator credentials for the Consents
  • Azure Subscription Owner credentials (usually same as above) for deploying the Process Modeler and Process Engine VMs to your Azure Tenant
  • Dataverse Environment with System Administrator credentials for deploying the AgileXRM Solution and Consent
    If you do not have one, create a Trial Dataverse Environment here, clicking Start Free button
  • Visio Plan 2 License as the Process Modeler uses Microsoft Visio
    If you do not have one, get it here Visio Plan 2
    NOTE: You can also use a Visio 2019 Product Key (Standard or Professional Editions), if you have one

What if I do not want to (or cannot) deploy anything to our Azure tenant?

You have two options:

  1. If you just want to try AgileXRM CE, you can create a new Azure Trial here
    You get US $200 of credit and you can deploy everything there, which gives you 30 days to try everything

  2. Let us know when going through the registration dialog and we can provide you with one of our AgileXRM Online Trial tenants. This way, nothing is deployed to your Azure tenant.
    You are still going to need a Dataverse Environment (or Dynamics 365 Customer Engagement Org) and an Azure Global Administrator credentials for the Consents.

What is the best way I can try the capabilities of AgileXRM CE?

We do Free PoC’s. We highly recommend that you let us help you to implement your first process-app. That way, you quickly get up to speed and will be able to realize the value that AgileXRM brings to your Power Platform projects.