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

AgileXRM Release Notes 8.0.25007.20500

The normal release cycle is usually every Spring, but this is the latest version for AgileXRM V8.

The main improvements in this release are the following:

  • Ability to control navigation after Dialog ends
  • Support complex conditions in the Single-Condition shape
  • Allow running a Dialog against multiple selected records in a View, to do bulk actions
  • Support users invited from other Entra IDs
  • New Open (record) button in automatic shapes in Process Manager
  • Revamp Datetime handling to support all Timezones and all Datatime-type columns behaviors

New Enhancements & Fixes

Dataverse/D365 Integration

Enhancements

  • Allow running a Dialog against multiple selected records in a View
    The IDs for the selected records (max 300) in a semicolon-seperated list, will be passed to the Dialog via a variable with this naming convention:
             "guids_" + schemaname + "Selection"
    (e.g. guids_contactSelection or guids_accountSelection)

The schemaname for the Table/Entity is passed in the variable called CrmBeType.
Use a Command Bar button for the View/List to launch it, configured to call the function startDialogByTemplateNameForSelectedIDs like this:

  • New AgileXRM Card Form added to Task and Process Task activities
    These Cards are much better suited to display the items in the Timeline.
    In the Timeline configuration, under Activities, make sure Task and Process Task are selected. Then configure each to use the new Card as such:
  • Support Users invited from other Entra ID tenants to Dataverse
    Dataverse allows and supports adding users from an external Entra ID.
    AgileXRM now also supports this type of users
  • Set any Lookups in downstream environments to search by ID first and then by Name
    This is very useful when records are created that have Lookups to master data and that these might have different IDs in different environments
  • Support handlebars like {{VARIABLE}} in Dataverse Email Templates as placeholders to map to, from the Send Email shape
  • Update Dynamics 365 SDK to 9.0.2.56

Fixes

  • Under certain edge circumstances, a Task in Dataverse/D365 was not automatically set to Completed when its associated Dialog became Completed
  • Max permitted solution name issue was occurring for very long table names. Generated Unmanaged Solution name prefix for Enabled Entities and Activities are changed from AgileXRMEnabled_ to XRM_ 

AgileDialogs

Enhancements

  • Configurable Navigation of user to anywhere in Dataverse after finishing a Dialog
    For example, navigate user to the record that was just created by the Dialog.
    Also supports navigate to a View, a Dashboard or a Web Resource.
    Details are in the documentation here.
  • POSSIBLE BREAKING CHANGE: Revamped the handling of Date/Datetime, especially with regards to Timezones
    For internal Dataverse users, the Timezone set in Dataverse Personalization Settings is used. For External or Public/Anon Users, the browser’s Timezone is used.
    The handling of datetime has been redesigned and corrected, hence existing dialogs that were configured to work around previous odd behaviors, would need to be retested, and if needed, reconfigured
  • Support Sign-Out Page for invoking from External Portal Site
    This invalidates the SSO token
    <AGILEDIALOGS_SERVER_URL>/Logout.aspx[?post_logout_redirect_uri=<REDIRECT_URL>]
  • Allow choosing if a Control takes focus upon load
    By default, AgileDialogs focuses the first editable control on the page. This behavior is useful for most cases, but sometimes it is intrusive. It can now be controlled using the new autofocus parameter in the URL querystring:
      autofocus=0   (disables autofocus behavior)
      autofocus=1   (default behavior)
  • Add granular control on how Pages are stored in Dialog History (Point-in-Time)
    Adds a HistoryBehavior property to Page Settings tab under Form Options with these values:
    • Default
    • Hide this Page keeping placeholder
      Shows a text like instead of the Page Title: This page was not stored intentionally
      No controls/data is shown
    • Hide this Page completely
      Stores nothing for this page not even a placeholder.
    • Hide Page Data
      Shows controls but without any data. NOTE: Info control is not affected by this setting
      Adds the following suffix to the Page Title: (Data hidden intentionally)
    • Save last Session Data only
      Last Session data overwrites previous sessions’ data
      Adds to the Page Title of previous sessions: (Data hidden intentionally. Only data for last session is kept)
  • Indicate which button was clicked in History (Point-in-Time)
  • Restrict Control names to valid chars only
  • Simplify Calendar Control’s Min and Max setting window

Fixes

  • File Control’s Required flag validation was throwing error after the file was replaced
  • Start Page was showing Back and History buttons
  • Pop-Up pages were too narrow when browser width was low
  • DialogsEngine.clearValue method was not triggering the Change event
  • Radio controls configured as Button Set were not being saved correctly in History (Point-in-Time)
  • Calendar Control was not taking into account the First Day of Week setting in System Settings
  • Info control was not respecting Column Span when inside a Group control
  • Group control was wrapping long labels erroneously
  • Resume button was being shown when a dialog entered a Faulting state
  • Built-in variables were not working in Start Page controls based on a query

Process Manager

Enhancements

  • Show the Open Task button when user is not an admin, but belongs to the Team the Task is assigned to
  • Add corresponding Open button to these automatic shapes:
    • Create Entity, Update Entity, Upsert Entity and Create Note
      For these shapes, the button opens the corresponding record
    • Trigger Power Automate Flow
      The button opens the specific Flow Run
  • Show the Team’s name when an activity is assigned to a Team
    Previously, it would only show this generic label “Dynamics CRM Team”

Fixes

  • Reassign pop-up window was showing incorrect users for Manual Tasks
  • Open Task button was always opening the record for the last session in multi-session scenarios
  • Changing the Due Date for a Wait For Update shapes was throwing an error
  • Some buttons that did not apply, were being shown for Completed activities

Process Modeler

Enhancements

  • Unify Single-Condition and Multi-Condition shapes’ config windows to support complex conditions in the Single-Condition shape
    Previously, only a boolean variable could be used in a Single-Condition shape. Now, complex conditions can be configured using the same familiar condition-editor of Multi-Condition shape.
    RECOMMENDATION: Any Multi-Condition shapes that have only one Rule in them, should be replaced with a Single-condition shape using the same Rule and this way, improve the readability of the models
  • Added Save and Save & Close buttons to Page Editor
    This helps the modeler to occasionally save the Page without having to close and reopen it
  • Allow Filtering in Environment Explorer to quickly find process models
    Like Checked-out by me, Checked-in last x Days etc.
  • Clearly show if Search shape/control is returning First Record Only or All Records
    This was already visible in the property grid but not directly in the config window
  • Support text sort in repeating tables in Word shape
  • Add field-type icons to wherever fields are shown
  • Add the Text-Block icon to the Visio Ribbon
    This Visio tool allows moving the text of a shape, specially useful for shapes that have their labels outside the shape itself like Wait For Update or Delay shapes
  • Allow custom Accept header in REST shape and REST-based controls
  • Restrict Model names to a valid set of chars
  • DEPRECATION: These shapes have been deprecated and may be removed in a future Release. If they are being used in existing models, they will continue to work, but should not be added to any new models:
    • Milestone and Wait for Milestone
    • Intranet User Task
    • Intranet Dialog Activity
    • Web Service (WS)
    • Web Service Extended (WSE)

Fixes

  • Search shape was not generating the correct Output Variables after a Column was removed
  • The Equals (Ignore Case) label in the Condition shapes’ operator drop-down was not showing correctly
  • REST shape was allowing to set the Request Body when the verb was PATCH
  • REST shape was throwing an exception when Request Body was empty
  • Detach shape (to SharePoint) was throwing an exception with a certain Access Token configuration
  • Copy-Paste was not copying over associated Email Templates
  • Duplicate Process Model name detection was not taking into account models in the Recycle Bin

Miscellaneous

  • Add Suspend, Resume and Wait for Event functionality to the AgileXRM PowerShell Module
  • Include NX v8.0, Software Update 2, Cumulative Update 5 (See Release Notes)

AgileXRM Release Notes 8.0.24121.20400

Another spring season and that means, it is time for a new Release of AgileXRM.

The main improvements in this release are the following:

  • Much improved Modeler Experience including Copy/Paste and metadata-driven comparisons in Conditions and Rule Editor
  • All-In-One Send Email shape
  • Extended Dialog History functionality (Point-in-Time)
  • New AgileXRM Administration PowerShell Module
  • Performance Improvements

New Enhancements & Fixes

Dataverse/D365 Integration

Enhancements

  • Allow sending notification emails to Dataverse/D365 Teams
    Now, if a Manual Activity is assigned to a Team and an Email Notification is configured for the Activity, the Team members correctly receive the notification email
  • New All-in-One Send Email Shape
    This shape replaces the previous three Email shapes which were creating confusion.
    DEPRECATION: Email shape, which sent Emails from AgileXRM
    DEPRECATION: Email Activity shape, which sent Emails via Dataverse/D365 creating an Email Activity using AgileXRM Email Templates
    DEPRECATION: XRM Email shape, which used Dataverse/D35 Email Templates but sent email via AgileXRM
    It also adds new functionality like Bulk Emails.
  • Support SSO without Third-Party Cookies
    Chrome (and other browsers) are removing use of Third-Party Cookies and this technology was the basis of SSO
  • Full Support for Reflexive M:M Relationships
    When a M:M relationship is created from an entity/table to itself, there is a concept of Direction (who references who), for instance, in a Tutor to Minor relationship
  • Added Application Insights Telemetry logging for Dataverse/D365 Plugins
  • Extended information logged if an AgileXRM Plugin throws an Exception
  • Add mechanism to Clear all AgileXRM Caches
    There is a button in the Integration tab of the CRM Integration app that clears all caches
  • Improve Process Launcher UX
  • Update Dynamics 365 SDK to 9.0.2.52

Fixes

  • N/A: No Defects found

AgileDialogs

Enhancements

  • In Rule Editor when creating a comparison with a Control based on an OptionSet/Choice, show a drop-down with the possible entries
    Previously, the modeler had to use the internal integer value of the item 
  • Keep Page Title pinned in Popped-out dialogs
    When an embedded dialogs was popped-out to its own browser tab, the Dialog Title was not pinned
  • Make a Control’s Help feature more prominent
  • Support Theme inheritance
  • Support Custom Permission Validation Plugins
    Specially useful in External Site to allow controlling who can Run a dialog or Resume a dialog started by another user
  • Extend Notification messages sent to parent portal from embedded dialogs
    This allows implementing more granular control in parent site. New messages are DialogFinished and DialogErrored
  • Support opening External Dialog Tasks by passing WorkItemID via Redirect page
  • Save unselected records in Grids in Dialog History (Point-in-Time)
  • Support saving a standalone dialog in Dialog History (Point-in-Time)
    Previously, only Dialog Tasks were saved as a Process Task activity
  • Support ${CurrentUsername} in External Dialogs
    If a dialog is Resumed by a user different to the original ProcessInitiator, this variable stores who the current user is
  • Highlight which button was clicked in Dialog History (Point-in-Time)
  • Support server-side Dialog History temp storage
    Previously, Dialog History was saved client-side, limiting maintaining history after Resume to the same user using the same browser. Now it is more securely saved server-side and removed the limitations
  • Change File Control’s Delete icon to a dustbin
  • Support opening External Dialog Tasks by Public Users
    Includes a new Global Variable called PublicActivityURL to allow constructing URLs to activities to send to anonymous users
  • Support selecting the Dialog to run, dynamically in Dialog Tasks using a variable

Fixes

  • Notes field was sometimes covering controls at the bottom of the page
  • Resume button was showing when a dialog had failed
  • File Control was not clickable in Spanish L10N
  • The Next button was showing even when OptionSet/Choice-based Button Bars where configured
  • A user ordering a Grid that was connected to another control, was throwing an exception
  • Dialogs on Apple devices with iOS 16.4 or above were throwing an exception
  • In Page Editor Preview, Combo controls could not be opened, closing upon opening
  • Rich Text control was editable in Dialog History (Point-in-Time)
  • Frame Control configured as a Button, was showing content in Dialog History (Point-in-Time)
  • New items added to a Radio control via API did not respond to mouse-clicks correctly
  • Info controls were saving content even if configured not to
  • There was an issue with Min and Max value validation in Calendar control in certain time zones
  • There was an excessive gap between Control label and Control itself after Resuming a dialog
  • The Info control was not working correctly in Popup Render Mode if it had the same Control Name as an Info Control in the underlying Page
  • Custom labels for Yes/No controls were showing as Yes/No in Dialog History (Point-in-Time)
  • Dialog End Message was showing even if dialog was cancelled
  • File Control Required validation was failing upon using the Back button
  • Validation upon Submit only option was not working if there was a Search Control in the Page
  • The Equal and Does Not Equal operators in Rule Editor were using strict (===) comparisons. Now they use standard (==) comparisons
  • The DISTINCT option in FetchXML was not working properly
  • Some icons were being shown from the cache even after updating AgileXRM version
  • Start Pages could not be configured to show as Popups

Process Manager

Enhancements

  • Allow repeating a Suspended Activity
    If an activity caused an exception and became Suspended, previously, it was not possible to force it to Repeat (assuming root cause of Exception had been solved) without doing a Change Flow to a previous shape in the process, which was not always desirable
  • Support User permissions via membership of a Team given those permissions
  • Performance improvements 

Fixes

  • Cancel, Reassign and Change Due Date buttons were being shown for Completed activities
  • Date/Time formatting was not taking into account the Dataverse/D365 User’s Regional Settings
  • Zoom feature using mouse wheel was not working correctly if mouse was on top of an activity

Process Modeler

Enhancements

  • New powerful Copy and Paste function
    Visio’s standard Copy/Paste functionality was not powerful enough to copy all types of shapes. Now, any number of shapes can be selected, copied and pasted in the same document or in a different document
  • Multi-condition shape comparisons for Controls based on OptionSet/Choice or with Static values, now show a drop-down with the possible items
  • Column/Field selector now shows an icon representing the type
  • In Environment Explorer show which user is currently blocking the model (in Check-Out)
  • Allow setting the Regarding field for External Tasks
  • Support configuring entity/table and field/column dynamically in Update shape
  • Allow opening models in View-mode, even if they are Checked-Out to someone else
  • Allow setting Status Reason (for default Status) in Create and Upsert shapes and to any Status Reason in Update shape
  • Add a Keep Checked-Out option when Checking-In or Publishing
  • Simplify Multi-Condition shape by removing Basic and super-Advanced modes
  • Add mechanisms to be able to open Process Context using the mouse
    Previously, $ and { had to be typed in some places
  • Power Automate shape now has a Flow Selector for simpler finding and selecting
  • Add Logging and Tracing mechanism for troubleshooting the Modeler
  • Support Visio on Windows 11

Fixes

  • Detach Shape configuration was failing for SharePoint Destination, if the Document Library had huge number of folders
  • REST shape was misinterpreting empty as ComplexType
  • Setting Query property in Multi-SubProcess shape, was wrongly clearing the Entity Name property
  • Search Shape was not clearing variables if query did not return any results

Miscellaneous

  • New Global Variables for constructing Activity URLs for sending to participants
    These are InternalActivityURL, ExternalActivityURL and PublicActivityURL
  • New AgileXRM Administration PowerShell Module
  • Allow publishing a model created in an older version of AgileXRM into an environment with a newer version
  • A User who was not System Administrator could not cancel a Delay shape
  • Power Automate Connector action Get Process Data, was not returning Global Variables

AgileXRM Release Notes 8.0.23142.2040

It is Spring time and that means it is time for a new Release.

The main improvements in this release are the following:

  • Version 8 of the Process Engine
  • Enhanced Search functionality (Search Shape, Search Control and Query-based Controls)
  • Performance Improvements overall
  • Smoother Modeler Experience
  • New Rule Editor in Page Forms

New Enhancements & Fixes

Dataverse Integration

Enhancements

  • Support SSO limitations of PowerApps Native Mobile App
    As SSO is not supported in the Native App, when user navigates to a page with AgileXRM functionality, the user is now notified that it is not supported, and allows the user to click a link to take them to the corresponding page in the browser, where AgileXRM and SSO work correctly and context is not lost
  • Support running a process against multiple selected records in a View
  • “Processes I can Initiate” view uses a more logical filter
  • Support certain operations in a process in current environment in another environment
    The operations Search, Insert and Update can be executed against another org
  • Enable Entity/Activity now generates corresponding Unmanaged Solution for upstream ALM
  • DEPRECATION: A new process variable called ProcessInitiatorId replaces the deprecated ProcessInitiatorCSDId
  • Update Dynamics 365 SDK to 9.0.2.48 

Fixes

  • Upsert shape did not populate SaveEntityIdTo property when query found the record
  • Detach Shape was sometimes failing during runtime
  • CrmConnector threw an exception when Process Template record had already been created in Dynamics/Dataverse
  • Process Launcher was taking a lot of time to show data
  • Process Launcher did not render process diagram properly
  • Set Status shape was failing when ClosePendingTask property was set to True
  • Wait For Update shape was failing with “Is Any of These” operator 

AgileDialogs

Enhancements

  • Add a HTML/RichText Editor Control
  • Improve Search Control and Query-based Controls
    Including improvements in Query, Columns, Mapping and Advanced tabs and support for dynamic custom FetchXML
  • Support Progress Bar and Messages between Pages
    When the steps between two pages are going to take long, allows to inform the end user with a progress bar and informative messages
  • Allow editing the Source HTML of Labels
    Gives full control over the content of the label
  • Support Custom Attributes inside Dialog Title and End Message
  • Allow setting custom labels for Two-Options control (not just Yes/No)
  • Allow Ordering Radio Buttons based on OptionSet
  • Allow 3 Grids in a row: Minimum Column Span is now 4 (instead of 6)
  • Add Ordered and Unordered List functionality to Label editor
  • Add SignOut option to Page Form Editor
  • Button background contrast increased in theme.uui
  • Added better support for DPI > 100%
  • When IFrame Control has no file to display, show a more friendly message 

Fixes

  • “Reassign To Me” button was not showing in the user message informing that this is not your activity
  • When Stages were enabled, page was not rendering properly
  • Custom Validation was executing for hidden controls
  • PageForm editor was taking excessive time to copy large amount of controls
  • An unnecessary vertical scrollbar was showing when rendered with the non-hosted option
  • History was not working if Page was in a loop
  • Grid was not working correctly if REST returned empty JSON
  • Page columns were not aligning correctly
  • Resizing Dataverse window was not centering AgileDialogs window correctly
  • AutoNext in Grids was not working the second time if going back to the grid page
  • Scrollbars were not responding to mouse clicks if Page Width was not 100%
  • Search Control was not mapping to attributes from a linked entity
  • Validation message window was left open when navigating back
  • Default value for Numeric Control was overriding old value
  • Required flag was not always at end of last line of label
  • Auto-scroll was not working with Continuous Render mode
  • Grid Control was not always returning the correct number of rows
  • Undo (CTRL+Z) in Control Caption editor did not work correctly
  • Dialog Task assigned dynamically via custom FetchXML was not being assigned correctly

Process Manager

Enhancements

  • Performance improvements

Fixes

  • Process Manager did not always provide correct information about sub-process status
  • Show All Processes functionality was not working if processes had been deleted/archived
  • Open Task functionality was not opening Completed Dialog Tasks
  • Under certain circumstances process status was not being shown correctly

Process Modeler

Enhancements

  • New Rule Editor in Page Form Editor
    Easy to configure Rules greatly reducing the need to use javascript to customize Page Forms
  • Support M:1 and M:M Relationships in Search
  • Add Clone Action to Environment Explorer
    The Clone action allows duplicating an exiting process or dialog model with a different name. This is the only supported way to rename a process.
  • Handle “WS Trust Auth” deprecation for all new Dynamics 365/Dataverse Organizations
    Microsoft deprecated Basic Authentication, so this enhancement allows using OAuth instead
  • Environment Explorer Check-Out button now always does a Get-Latest
    When more than one modeler is working on a model, this enhancement ensures no work is overwritten by the other modeler
  • Logic Inspector improved to include all variables in all shapes
    And also takes into account Global Variables and performance improved
  • Add keyboard-shortcuts to AgileXRM Ribbon buttons
  • Allow empty string for Equals and Does Not Equal operators for string-type fields
  • DEPRECATION: Change Ownership and Change Ownership (Multi) shapes are deprecated
    Use Update Entity and Update Entity (Multi) shapes instead

Fixes

  • Certain XPDL files were failing to import
  • Delete key inside the property grid was deleting the shape rather than the item in the grid 
  • Sub-Process shapes failed to Validate when Template Name was a custom attribute
  • Environment Explorer had some unhandled exceptions
  • REST Shape Schema Mapper lost mapping information after select “Only Unmapped Items” option
  • REST Shape Schema Mapper was taking too much time to open
  • REST shape config would fail if service was not retuning any data in the body
  • Query Expression Editor threw an exception when the same related entity was added multiple times
  • SetStatus and SetStatusMulti shapes were sometimes being misconfigured
  • Multi Shapes were allowing contradictory configurations
  • Could not delete the last row of Activity Properties
  • Could not set Priority for Manual Activities
  • WCF shape was throwing an exception after closing config window
  • CheckIn and Undo CheckOut was failing if modeler account name had changed case

Miscellaneous

  • Security: Hide and Encrypt Secret Key in CRM Connector
  • Security: Encrypt Secret Key in root web.config
  • New Azure DevOps Tasks for Process Template Import/Export
  • Includes NX v8.0, Software Update 2, Cumulative Update 4 (See Release Notes)
  • New AgileXRM Administration PowerShell Module (Preview)
  • “Get Process Data” task in the AgileXRM Connector for Microsoft Flow was not retrieving data from the Process Engine
  • Process Import Tool was not loading .zip files with non-ascii chars in file name
  • Known issue: AAD User Virtual Entity cannot be used in AgileXRM because it does not support Client Credentials

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.

AgileXRM Release Notes 7.0.22098.2070

New Enhancements & Fixes

It is Spring again here in the north hemisphere and there is a new version of AgileXRM. This is a list of the more important enhancements and fixes included in it:

Dataverse Integration

Enhancements

  • New AgileXRM App in the Solution
    There is now a new App in the AgileXRM Solution which allows to Manage and Administer AgileXRM
  • Support for the latest FetchXML Schema
    The Query Editor now support many more operators and Advanced Mode now supports the full power of FetchXML
  • Support downloading the XPDL and Readable XML files for a Process Template
  • Correctly Handle Dataverse API Limits Errors
    AgileXRM now adapts to the API Limit Errors received and adjusts Retry times, accordingly.
  • Change of behavior when deleting a Parent Process 
    Now you can only delete a Process Instance if all its descendant processes are either Cancelled or Completed, otherwise it notifies the user with an error. More importantly, now when a Parent Process is deleted, all its descendant process instances are also deleted. This is to avoid orphaned process instances in the system.
  • Change all code that used Microsoft-deprecated Xrm.Page 
  • License types ‘Process Participant’ and ‘Employee Self Service’ are DEPRECATED
    These license types are no longer useable
  • Improve visual effect of embedding AgileXRM content in Dataverse Forms
  • Allow disabling the Confirmation window when launching a Process from the Command Bar
  • Update Dynamics 365 SDK to 9.0.2.42

Fixes

  • If multiple Dataverse records were selected and Run Process clicked, an error was shown
  • If a Process Template Owner was changed, the cache was not invalidated immediately
  • If user was not an AgileXRM Administrator, the Dataverse Cancel Activity action was failing
  • Enabling/Updating tables/entities was not adding Process Viewer tab to some Main-type forms
  • Disabling a Dataverse Activity that had all its Forms imported from a Managed-Solution, was failing
  • Disabling a Dataverse Activity that had corresponding Running AgileXRM Activities for it, was throwing an exception rather that Cancelling those activities first then disabling the Dataverse Activity

AgileDialogs

Enhancements

  • Support Centered layout
    Now it is possible to define what percentage of the available width is used to display the controls leaving the rest blank
  • Major improvements in Responsive layout especially in Mobiles 
  • Support for Multi-OptionSet and Two-Option fields in Radio-button and Checkbox controls
  • Support Quick Create of dialogs
    It is now, not necessary to add at least one control to every Page in a dialog. By just adding the empty Pages and publishing, the dialog can be run
  • Support Label Horizontal Mode at Page Level 
    This puts labels next to controls rather than just above them. Also allows setting ControlWidth of Radio-button, Checkbox and YesNo controls in Horizontal Mode
  • Support showing Radio-button, Checkbox and YesNo controls’ values horizontally
    This allows showing the options in these controls in a row. Useful in unison with Label Horizontal Mode.
  • Support Tooltip for showing full data when data is cropped in a Grid cell
    With mouse over the cell, the full content is shown
  • Support for Aggregate queries in Search Control
    In Advanced Mode, aggregates can now be used in the FetchXML
  • Allow customizing the Back button text
    This text can the also be translated to other languages via the Translation functionality
  • Support customization of buttons in Pop-Up rendered pages 
  • Allow setting minimum and/or maximum values for DateTime controls
  • Save both html and text value of Info controls
  • Support authenticating Users in AgileDialogs External site with Azure AD B2C
  • Support Azure Translation Service for AgileDialogs
    An Azure Translation Service Key is required for this to work
  • Improved default settings in dialogs
    Now, by default, dialogs are Centered (use center 50%). Process Viewer is shown (deselect for Production), and Scope is set to Standalone
  • Support 86 Languages (all Dataverse Languages plus 48 more) 
    This includes many Right-to-Left (RTL) languages:
    Afrikaans, Albanian, Amharic, Arabic, Armenian, Azerbaijani (Latin), Bangla, Basque, Belarusian, Bulgarian, Catalan, Corsican, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Frisian, Galician, Georgian, German, Greek, Gujarati, Hausa (Latin), Hebrew, Hindi, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Kannada, Kazakh, Khmer, Kinyarwanda, Kiswahili, Korean, Kyrgyz, Lao, Latvian, Lithuanian, Luxembourgish, Macedonian, Malay, Malayalam, Maltese, Maori, Marathi, Mongolian (Cyrillic), Nepali, Norwegian (Bokmal), Odia, Pashto, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Scottish Gaelic, Sinhala, Slovak, Slovenian, Spanish, Swedish, Tajik (Cyrillic), Tamil, Tatar, Telugu, Thai, Turkish, Turkmen, Ukrainian, Urdu, Uyghur, Uzbek (Latin), Vietnamese, Welsh, Xhosa, Yoruba, Zulu
  • Remove Theme and Hosted cookies
  • New CSS and custom javascript Editors (Preview)
    Inside the modeler, it is now possible to edit CSS and javascript with syntax highlighting

Fixes

  • Showing a document in SharePoint was failing if the configured URL contained Custom Attributes
  • Showing a document in SharePoint was failing in SubDialogs
  • If a column was not translated in Dataverse and it was used in a Grid as a related tables/entity, the schema-name was being shown instead of the Base Language literal
  • YesNo control was wrongly saving Display value in English (United States) irrespective of current language
  • Lookup control was throwing an exception if user tried to search a datetime field
  • Lookup control was not showing previously selected value when user navigated back to the Page
  • If a users was logged on with multiple Microsoft Accounts, dialogs sometime failed to start correctly
  • FileUpload was failing upon returning to the same Page
  • XRM Search control was breaking the Radio-button control’s ShowInTaskbar functionality
  • Translation mechanism was missing custom Column Header labels in the Lookup control, so in all languages, the same base language header was being shown
  • Currency symbol was not being shown correctly in Currency control if value was being set via a variable
  • The afterSubmit parameter was not handling passing multiple parameters in it
  • When cloning a Checkbox control, its source was not being copied correctly 
  • When importing a Page Form, the OnLoadScript was not being imported
  • DialogsEngine.addChangeEventHandler API call was overwriting the handler if called more than once for the same control
  • DialogsEngine.getDialogContextValue API call was throwing a server exception in certain circumstances

Process Manager

Enhancements

  • Sub-Process Activity details to show datetime values in Relative format

Fixes

  • Relative time was being shown wrongly under certain circumstances

Process Modeler

Enhancements

  • Envision Performance greatly improved
    This is specially relevant to larger models
  • Schema Picker now shows the Shape(s) that create the variable
  • Schema Mapper improvements
    Very useful when trees are large. Added a Quick Filter box to find nodes on either side. Added option to show Mapped Only and Unmapped Only nodes 
  • Support for Multi-OptionSet fields/columns
  • Warn User if configuring Wait For Update shape with an Entity/Table that is not Enabled
  • Support Global Disco Service (Regional Disco Services deprecated)
  • Add Quick Config links to more shapes for easier reaching main config window
  • Collapse shape functionality improved for easier recognition of the shapes
  • Environment Explorer Improvements
    Show Model Thumbnails. Add a new Ribbon. Allow deleting empty Applications (with no models)
  • Allow opening a Sub-Process (or Sub-Dialog) Template directly from shape
    This includes the possibility of creating a new SubProcess/SubDialog
  • Allow opening Process Models and Shape configurations where underlying Environment is not the same
    If an Entity/Table or an Attribute/Column is not available in the Dataverse environment connected to the model, it is shown in red allowing modeler to see configuration and change it accordingly. If a WCF Service is not available, configuration is visible and not lost upon changing the service URL
  • Hide all Advanced properties of all Shapes so as not to confuse Modelers
    These can be made visible again if necessary for edge cases. Also many unneeded properties have been permanently removed
  • Expose certain Page Form properties in the Page Form property grid with corresponding visual indicators
    Render type and Disable Back properties are now visually distinguished in the Page Form Shape and are easily accessible for change 
  • Improve Process Validation to make it easier to identify the Shape causing the error
  • Allow setting the Scheduled Start date in Manual Activity shapes
    It is now possible to define the Scheduled Start datetime (scheduledstart field/column) of a Dataverse activity to be set in the future, rather than automatically set it when the process reaches the activity. For instance, at the beginning of the process, one can now create all the activities and set their start time to any time in the future
  • Allow setting the entity/table in the configuration window of Create, Update and Upsert shapes
    A warning is shown if configuration will be reset
  • In the Query Expression’s Columns tab, clearly show which Columns have already been selected
  • View Process History window improved
    Ordered by ID Descending. Removed superfluous columns
  • Typing the characters ${ opens the Schema Picker in many more places
  • Many configuration windows are now resizable up to to full screen size
  • Improve use of JSON as source including a JSON Editor
  • Add ISO8601 UTC mask to Datetime Operations shape
  • Replace deprecated WebControl control with modern IWebView2 control
  • Shapes now only have Property Grid (Design Tasks panel removed)

Fixes

  • Word shape was failing to create a Folder in SharePoint site Document Library root
  • Wait For Update shape was failing in a process that did not have Main Entity
  • Visio was sometimes throwing an exception upon closing the Process Modeler (Envision) and it was reopening automatically 
  • Multi-language Email Templates could not be consumed correctly
  • Set Stage shape configuration was not being set correctly if Stage was not set specifically
  • On-Premise Envision Translation functionality was not working

Miscellaneous

  • Authentication changed to use Microsoft Graph API instead of deprecated Azure AD API
  • Improve Archiving Connector logging
  • Includes NX v7.0, Software Update 2, Cumulative Update 7  (See Release Notes)