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 a 30-day Visio Trial here
    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)

AgileXRM Release Notes 7.0.21097.2060

New Enhancements & Fixes

There is a new version of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dataverse Integration

Enhancements

  • SLA fields added to AgileXRM Process entity
    The fields Expected Duration and SLA Warning Level (value in %) are added and updated automatically based on values in Process Template settings
  • Add ExceptionHandlerBehavior property to WaitForEvent shape
    The WaitForEvent shape could fail when executing the underlying query. Previously, if the query threw an exception, then the process continued. As a Modeler you can now configure this behavior, to specify if process should or should not continue on error.
  • Turn Off Sharing Entity Records by Default
    Previously, when a Process Instance record was created, the record was automatically shared with the Process Initiator (if different from Process Owner). This caused the POA table to grow too much in high volume environments. By default it is now turned off. If needed, the Plugin can be re-enabled from AgileXRM Configuration window using the provided checkbox.
  • Better adapt embedded heights of AgileDialogs and Process Manager sections
  • Add German Localization
  • Update Dynamics 365 SDK to 9.0.2.29

Fixes

  • When opening a link to a Dataverse Activity that contained an AgileXRM Page or dialog, it was not authenticating correctly the very first time
  • Update enabled entities/activities function in AgileXRM Configuration was not creating new fields or registering new Plugins steps
  • Starting an AgileDialog from the Ribbon failed when special characters were used in the Template name
  • Multi-SubProcess Shape threw exception at runtime when running old versions of a Template

AgileDialogs

Enhancements

  • Support Start Page
    Previously, in order to show the first page of a dialog, a process instance would need to be created. Many times users decide not to continue after seeing the first page. This caused superfluous information being stored and a need for corresponding cleanup. With Start Page, the process instance is only created after the Next button is clicked.
  • Reorganize Page Editor layout
  • Add Sliders to manage ColumnSpan and ColumnWidth Property of control
  • Add Ordering functionality to FetchXML Editor
  • Change Page Form Import/Export functionality to use the Clipboard (instead of filesystem)
  • Make typing ${ in control caption to pop-up the ProcessContext window
  • IFRAME control to support DialogsEngine.register and DialogsEngine.setSelectedValue APIs
  • Add REST as data source to various controls 
  • Add DialogsEngine.saveDialogContext API to allow saving dialog page data explicitly
    Previously, only through the “Next” action you would save the page data
  • Improve dialogs on mobile form-factor (Responsive)
  • Disable browser autocomplete functionality in Lookup controls
  • Stop storing Display variable for Info Controls
  • Improve Script Editor
  • Add German Localization

Fixes

  • Breaking change: Datetime values were not correctly formatted in certain circumstances. The AgileXRM Server should now be in Universal Coordinated Time timezone. Also the AgileXRM Service Account User in Dataverse should be in the UTC timezone.
  • History view was showing decimal places “2” instead of currency symbol in Currency controls. This does not fix previous History entries, only new ones.
  • XRMGrid controls that contained quotes (“) were not saved correctly in History
  • XRMGrid control was showing “NaN” for empty datetime fields
  • XRMGrid control selection of row was failing if apostrophe (‘) character was present in the row
  • New controls were being marked as invalid
  • Search control did not map values correctly when destination was a Currency control
  • Watermark property of Text Control did not work if it included characters like backslash (\) or quotes (“)
  • The backslash (\) character in XRM DataGrid DataValue Property was causing dialog to crash
  • File control was not triggering change event properly after first time
  • Calendar control was showing time even though it was configured as DateOnly
  • Error message info was not showing correctly for controls placed on the right edge of the screen
  • Datetime controls were not rendering correctly (overlapping) in narrow screens
  • Checkbox control Validation message was overlapping checkboxes not allowing user to change selection
  • Final message shown when dialog is finished was not encoded correctly 
  • Combo controls set to ReadOnly was still showing “-Select option-“
  • Setting a ReadOnly control to Required via API was not making the control editable
  • Numeric Control’s Type property was empty by default

Process Manager

Enhancements

  • Add German Localization

Fixes

  • Subprocess activity details was showing the same Start Date for every session
  • Subprocess Instance name was not being shown
  • Activity status icon was not positioned correctly for very wide process templates
  • Activity error icon was not being replaced if fixed in the following session
  • Could not migrate Process Instance if Activity was Suspended (but Process was Running)
  • Change Flow was not working straight after a Migrate action
  • The hand icon depicting Wait All Incoming was not being shown correctly in some circumstances
  • Suspended Process Instance was not showing an error icon
  • Sometimes migrating a Process Instance threw a “request entity too large” error
  • Cancelling a Process Instance whose parent was a dialog was not getting Cancelled
  • The Save Context XML button was only appearing after hitting Refresh and it then saved two files instead just one

Process Modeler

Enhancements

  • Consolidate all relevant icons to one AgileXRM Ribbon
  • Enable dropping a Shape on a Connector for simpler modelling experience
  • Add swim-lanes to templates
  • Add TextBlock tool to Ribbon to allow moving text of a shape
  • Add Subject and Activity Properties to External shapes
  • Improve variable search functionality in ProcessContext window
  • Allow to use TeamID as Team Participant for Manual Activities
  • Improve Environment Explorer to allow filtering processes
  • Add a confirmation step for the Delete action in Environment Explorer
  • Improve Environment Explorer to identify Processes versus Dialogs in the tree using icons
  • Add Quick Config links to many shapes to easier reach the main config window
  • Allow using dynamic SharePoint URLs in Attach, Detach and Word shapes
  • Move Async property for all XRM shapes to Advanced property group
  • Add German Localization

Fixes

  • Process selector in subprocess activity was not showing ChildOnly process templates
  • REST activity was not allowing TEXT as value in accept field
  • Shapes that had Participants when dropped directly on Swimlane were losing Participant
  • Changing Swimlane Title was changing Process Name and vice versa
  • Table-type fields were not being shown in Bold in the Word Shape’s Fields listbox
  • ProcessContext window was not showing in activity Participant window’s Team drop-down control
  • If Team Participant was set to a custom attribute, the configuration was lost upon re-editing
  • Multi-Subprocess shape was not showing the QueryExpression editor correctly
  • REST Payload editor was not showing any error messages when it contained an invalid JSON value

Miscellaneous

  • Runtime Security Context was being cached for a Process Template that was set to Process Initiator
  • XRM Search activity to return 0 in ResultCount when no records found
  • XRM Search activity was returning DateOnly fields in UTC
  • Attach/Detach shapes’ Override option was failing
  • Skip License checking for AgileXRM Application User in Dataverse 
  • Includes NX v7.0, Software Update 2, Cumulative Update 6  (See Release Notes)

AgileXRM Release Notes 7.0.20106.2040

New Enhancements & Fixes

There is a new major version release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dynamics 365 / CDS Integration

Enhancements

  • Show a message in a Process Task when the task is assigned to another user
    Previously the user would not see the task before clicking Assign To Me button
  • Update Dynamics 365 SDK to 9.0.2.5
  • Enable Change Tracking on AgileXRM custom entities
    This can used in some ALM processes

Fixes

  • Data in DateTime fields configured as Time-Zone independent were not being saved correctly
  • When refreshing a D365/CDS Activity that had an AgileDialog, a new dialog instance was being created

AgileDialogs

Enhancements

  • New theme.uui inline with current CDS style
  • Support showing external data within DataBound controls (Grid, Lookup)
  • New Dialog Task design-time flag parameter to create or not Process Instance record in D365/CDS
    This allows avoiding the creation of undesired records in CRM/CDS
  • Support multi-value Option Sets
  • Improve drag & drop UX inside Container Controls
  • Support Relative Time anywhere DateTime is shown
    Rather than showing timestamps which are difficult to decipher, show relative time (e.g. 5 minutes ago, 2 weeks ago etc,)

Fixes

  • Error was thrown when OnLoadScript invoked DialogsEngine.register and DialogsEngine.setSelectedValue methods
  • DateTime controls were truncated when browser window was narrow
  • Error Messages were truncated for controls placed in the right edge of screen
  • Some culture names were not supported
  • DialogsEngine “Next” feature failed for “PopUp” render mode
  • TextControl did not save data properly when its behavior was set to Decimal
  • XrmGrid control did not show Formatted DateTime values properly
  • Calendar control did not show date fully in theme.cds
  • Occasionally security token was not deemed valid for connecting to D365/CDS

Process Manager

  • Support Relative Time anywhere DateTime is shown
    Rather than showing timestamps which are difficult to decipher, show relative time (e.g. 5 minutes ago, 2 weeks ago etc,)
  • Allow cancelling a suspended process
  • Allow drill-down to dialog process instance when clicking Dialog Task shapes
  • Show latest active root process instance that is not an AgileDialog instance
    Typically a dialog is used to create an entity record and a corresponding life-cycle process is kicked off. It is more important to show the life-cycle process rather than the dialog when viewing Process Manager

Fixes

  • Process Manager did not apply themes properly
  • Process Manager showed Wait All Incoming icon wrongly
  • Process Manager did not show AgileDialogs history page

Envision Process Modeler

Enhancements

  • New Trigger Power Automate AgilePart
    Kick of any Power Automate Flow using this shape
  • New Upsert Shape
  • Support selecting the D365/CDS Activity Form in all AgileXRM Manual Activity shapes
    This also keeps the correct form visible to the user, even if user tries to change the form to another one
  • D365/CDS Email shape can attach a file stored in SharePoint Online
  • Allow XRM Sub-process shape to share context with a sub-process based on a different Entity Type
  • Control behavior of FetchXML for empty filter value for a D365/CDS GUID field
    If in a Query there is an Equal operator and comparing to a custom attribute that is empty (has no value), and the field is an ID type field (Lookup etc), then D365/CDS API will throw an exception with “Not a valid Guid”. This is OK if this is a modelling error and the right value was not supplied. But sometimes a value may or may not be available to compare to, but still want to pass this to the query. So now there is an Equal or NULL operator and an Equal or Not NULL operator
  • Allow Word shape to store in any of the available different document repositories
  • Support for accepting TEXT in REST shape, additionally to JSON and XML
  • Allow to optionally save D365/CDS Activity field values into Custom Attributes upon completion of the activity
    Previously modeler needed to explicitly query this data in a follow up Search shape
  • Support multiple IDs (semicolon-separated list of IDs) in Detach shape
  • Inject ProcessInitiatorCDSUserId into processes initiated by users from D365/CDS
    Many times it is necessary to search for the userid of the Process Initiator. This new custom attribute avoids having to do the search explicitly
  • Accept a D365/CDS team as a recipient of a D365/CDS Email
  • Support associating an existing D365/CDS Activity to an AgileXRM Manual Activity shape
    Users sometimes create some ad-hoc activities for a particular entity. This new functionality allows these activities to be incorporated in the end-to-end process
  • Improve BPF Stage shape
  • Allow launching independent process using Sub-Process shapes
    This allows to not create any relationship between the parent process launching the other process. This is typically useful for Process Launcher processes
  • Improve Participants UI for all Manual Activity Shapes to support Owner and Queue assignments
    Previously a OwnerID parameter was used, which is now deprecated
  • Allow override of CreatedBy and ModifiedBy in Create Entity and Update Entity shapes
    Sometimes the user of the process execution context is not the right user and modeler requires to set these to another user
  • Execute operation against different environment/organization
    Implement mechanism to execute D365/CDS Operations (Search, Create and Update Entity) in an organization distinct to the current one

Fixes

  • Some fields (like ZIP / Postal code) were not appearing in Columns tab for their corresponding entities in Search shape
  • Envision Import XML file feature failed
  • REST Shape had runtime error for “x-www-form-urlencoded” content-type
  • Word Shape (online version) configuration failed when more than 2 SharePoint tokens were available
  • Could not select a Dialog on SubDialog activity
  • REST Shape was unable to reset OAUTH configuration once it had been setup
  • Multiple Delete shape failed after deleting first record
  • REST shape did not allow pasting text in the Response details field

Miscellaneous

  • New Microsoft Power Automate® Connector for AgileXRM
  • Support Azure B2C for External AgileDialogs
  • Support Public Anonymous AgileDialogs
  • Support Chrome 80+ SameSite Cookie changes
  • Could not pass concatenated custom attributes to a sub-process parameter
  • Includes NX v7.0, Software Update 2, Cumulative Update 4  (See Release Notes)

AgileXRM Release Notes 6.1.19010.2050

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dynamics 365 / CDS Integration

Enhancements

  • Process Template Cleaner Tool includes orphaned instances
  • Process Template Cleaner Tool allows Started Date Ranges
    For instance, cancel all instances still Running from 3 years ago
  • Change Relationship between Process Template and AgileXRM Process Entities
    The relationship type has changed from Parental to Referential to avoid bulk Reassign when Template Owner changes. This was causing unresponsiveness in high-volume environments, while all child instances were being reassigned

Fixes

  • User could not cancel a CRM Activity linked to AgilePoint

AgileDialogs

Enhancements

  • New Numeric Control
    It is recommended t use this control instead of a Text Control of type Numeric (change your existing ones to new Numeric Control)
  • Add DialogsEngine.getLabel and setLabel methods
    Labels can now be queried and set via javascript
  • Add new CustomValidationMessage property to input-type controls to allow for standard localization mechanisms

Fixes

  • Info Control was not displaying the value that was being set via javascript
  • Text Control validation was failing for certain numeric configurations
  • Page Preview window was throwing an exception if Text Control of type Decimal had a DefaultValue with a variable in it

Process Manager

  • None

Envision Process Modeler

Enhancements

  • New AgilePart to call certain API Messages
    This shape allows calling certain Dynamics API Messages:

    • AddUserToRecordTeam
    • RemoveUserFromRecordTeam
    • WhoAmI
    • ReassignObjectsOwner
    • ReassignObjectsSystemUser
    • CalculateRollupField
    • RetrieveExchangeRate
    • AddPrincipalToQueue
    • AddToQueue
    • PickFromQueue
    • ReleaseToQueue
    • RemoveFromQueue
    • ConvertOwnerTeamToAccessTeam
  • Show Global Variables (Shared Custom Attributes) in Schema Picker window

Fixes

  • Generic Activity Shape was allowing empty activity type at design-time causing exception at runtime
  • Validate action from Ribbon no longer obliges user to add template to CRM

Miscellaneous

  • Breaking Change: When passing native types to a sub-process, these are no longer converted to String
    For instance a Date or an Float/Decimal are passed as is and not converted. Make sure you do not depend on the string representation of the variables passed from the parent process in the sub-process.
  • Improved custom Process Instance Name generation
    To improve sorting, custom process instance naming convention has improved
  • Include NX Service Pack 1 Update 2 HotFix 5 (See Release Notes)

AgileXRM Release Notes 6.1.18291.2040

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Envision Process Modeler

ENHANCEMENTS

  • REST shape
    Call any REST service. It supports REST Access Tokens created in NX.

FIXES

  • SubDialog shape Wait All Incoming parameter allowed values other than True(Dyanmic) causing unexpected behavior
  • SetStatusMultiple Shape did not complete when async execution was set
  • Performance window in Envision did not behave correctly when an OR shape was present

AgileDialogs

ENHANCEMENTS

  • Allow Dialog Designer to include images from within Envision
    This greatly simplifies managing images. Before this, one had to include the URL of an existing image. Now just Copy+Paste an image

FIXES

  • Decimal Text Control was not showing value correctly when no decimal part was set
  • Numeric Text Control was saving invalid numeric values for certain cultures
  • AfterSubmit parameter did not work when value was URL
  • Combo Control bounded to an OptionSet failed when using REDIS cache

CRM Integration

ENHANCEMENTS

  • Allow command bar actions to start AgileDialogs using Template Name
  • Create a new AgileDialogs Theme for CDS called theme.cds
  • Adapt AgileXRM solution for CDS

FIXES

  • Federated authentication did not work when opening a CRM Task for the very first time
  • CrmConnector config window did not show some controls in low-res screens
  • Save as completed option did not work in Unified Interface

Process Manager

ENHANCEMENTS

  • Added Hierarchical Process Cancellation functionality to Process Cleaner Tool
    Old obsolete processes can now be cancelled by selecting a date-range and the tool will automatically cancel them from top to bottom when there is process hierarchy. This avoids that the cancellation of a child process make the parent process continue.

FIXES

  • ProcessManager did not refresh ProcessViewer properly
  • There was a memory-leak when using REDIS cache
  • Cancelling a SubDialog did not cancel the parent dialog

Miscellaneous

  • Support Anonymous users in Cloud for public Dialogs

 

AgileXRM Release Notes 6.1.18169.2040

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dynamics 365 / CDS for Apps Integration

Support for CDS for Apps

Most notable enhancement is AgileXRM’s support for CDS for Apps, so you can easily build complex Business Processes and Dialogs for your CDS Model-Driven Apps as well as for Dynamics 365. And that, of course, includes support for Unified Interface.

Other enhancements

  • Attach/Detach Document shapes enhanced for Cloud deployment
    Move docs in and out of Dynamics 365/CDS from and into external document repositories, namely: SharePoint, Amazon S3, Box, Dropbox, Google Drive, OneDrive, OneDrive for Business, Salesforce, NetSuite, FTP, SFTP
  • Add new view for ProcessTemplates entity: “Proceses my teams can initiate”
  • Update Dynamics 365 SDK to latest version: 9.0.2.3
  • Security Enhancements:
    • Query functionality to Impersonate other users, restricted to sysadmin only
    • Only sysadmin can use System as security context in Envision/CRM Process Template

Fixes

  • CRM Plugin was not logging the exception when PostMethodException was thrown
  • CanResumeDialogs function failed on occasions

AgileDialogs

Notable enhancements are two new very useful Controls that improve and optimize AgileDialog design:

Search Control

Typically used for showing details of a Lookup in the Page, this non-visible Control executes a query (FetchXML) in Dynamics365/CDS to update other controls on the Page with the returned results.

Many times this saves having to use Search Shape steps in the dialog, for a cleaner  more optimized model.

Variable Control

In AgileDialogs, you often find hidden Text Controls so that the context of the dialog can be updated with some value. This technique works but was a bit confusing, so now with the non-visible Variable Control, you can set Custom Attributes with the desired values.

Other enhancements

  • Allow to specify labels for the OK and Cancel buttons in the DialogsEngine.confirm window
  • Breaking change: Text Control of type numeric now store Internal Value instead of Formatted Value
    If you relied on the Formatted Value, you need to modify your dialogs to use Display Value instead
  • Allow empty string for Info Control
    Previously, the validation forced the user set some value
  • Support German and Catalan languages

Fixes

  • Open Dialog List Page did not identify orgname correctly
  • CRM Lookup Control was not using ControlWidth property
  • AgileDialogs version number was being repeated when dialog did not have Title
  • AgileDialogs was throwing an uncontrolled exception when trying to download an invalid or deleted annotation
  • AgileDialogs Activity was failing if InputParameter property contained special characters in a Custom Attribute

Process Manager

  • Improved sorting in the Activities and Data tabs in the Details section

Envision Process Modeler

Enhancements

  • Set BPF Stage Shape to use supported methods (CRM 8.2+, 9+)
  • Improve Envision Readable XML-file generation
  • Improve CRM Connection window to reduce load-time
  • Improve Environment Explorer: Add Delete and Import operations

Fixes

  • OOTB Custom Attributes in Schema Mapper were not being populated
  • Changing Email Template name in Send XRM Email shapes failed every other time
  • Page allowed adding 2 Tabs with same name, then entering in an endless error loop
  • Endless error loop if added 2 Tabs and then tried to remove them
  • Ribbon was not being shown correctly in some non-English languages

Miscellaneous

  • Include NX Service Pack 1 Update 2 HotFix 4 (See Release Notes)
  • Add support for IIS 10
  • Add Private Cloud option
    Apart from OnPremise and Cloud deployment options, there is now a PrivateCloud option

 

Implementing Dynamics 365/CRM shouldn’t be like making a Movie

Why do so many CRM implementations fail?

Dynamics 365/CRM is an extremely powerful platform to create amazing Business Apps. So why do so many projects go wrong? Well, for many of the same reasons many Movies fail at the box-office (around 60% according to the 2016 figures) . First of all, everyone involved in making the Movie needs to be top-notch, from the script-writer, to the director, the actors, the camera crew and a whole lot of other people involved in it. If you don’t have sufficient budget, it is very hard to make a great Movie as all these “experts” cost loads of money. And even then, there is no guarantee the resultant outcome will be a success with the end-customer (the spectator). Because it is hard to predict spectator expectation.

Over-complicating the story is another reason for flops. People like Movies they can understand. Make it too complicated and the viewer loses interest quickly.

But how can the movie-making process be improved for higher success rate?

What if the film script was not “hard-coded”? What if it could be a simple idea at the beginning and a Short was made of it vey quickly and put in front of the spectator and the feedback was taken into account to change and extend the Movie? What if this could be done over and over again iteratively until all the best ideas were incorporated and the spectator was involved from the beginning and throughout the whole “making” process.

So why do they not make Movies this way?

Because it would cost too much and it would take too long. Though technology nowadays, allows some experimentation to see which scene works best before including it in the Movie, it is still not flexible enough to allow the film makers to control where the Movie is going.

How does all this relate to CRM implementation projects?

Well, many of these projects have only a few (if any) experts involved in them. The users (spectators) are asked what they want in the project at the beginning and some user requirements are similar to spectacular Movie scenes that are extremely hard to create and still they get into the specs  even though a simpler alternative scene would have had the same effect. Everyone then goes off to develop the project from the “hard-coded” Requirements Document (the script) with little space for maneuvering.  However when the project is ready to go on air, the users mostly do not find what they were expecting.  Therefore, either it is not adopted or lots of changes (re-makes) are asked for, making times and costs soar beyond plans and budgets.

Also, many of the requirements force the team to over-customize the CRM system, albeit using supported mechanisms. These over-customizations are fragile. Too many moving parts and too complex to maintain, slowing down, and sometimes stopping, the solution from evolving.

Evolving is the key: CRM projects need to Evolve

A finished Movie cannot be changed. You can do a remake or a Part II at great cost, but you cannot change the original Movie. But CRM implementations need to change, since Business Requirements are always changing.  Whilst you are writing the specs down, they have already changed!

Change is real and required, so no point fighting it. We just need to be able to cater for it. And cater for it at the speed change occurs, otherwise we are always lagging behind.

What does AgileXRM bring to the table to help Dynamics 365/CRM projects succeed?

Short Answer:

  • Faster Turnarounds
  • Less Dependency on Experts
  • No need to Over-Customize
  • Allows an Iterative “Creation” Process
  • Same model throughout: Design, Runtime, Monitoring

Long Answer:

FAST IS GOOD

Projects need inertia and nothing dampens inertia more than slowness. If users need to wait for something to arrive for too long, they get bored. If you can keep a fast pace in the project the inertia is intact and pushes the project forward.

A partner of ours did a study to see how much time was saved in their projects using OOTB Dynamics 365/CRM versus with AgileXRM Add-On. Well, they found a whopping 50% time-saving, or in another words, it doubles the productivity.

NOT EVERYONE NEEDS TO BE A GURU

There is a profound shortage of Dynamics 365/CRM experts out there. You are lucky if you have one in your team. Developing performant Workflows or designing BPFs and coding Plugins or UI JavaScript, integration, modelling relationships and implementing security, etc. all require skill and lots of it. So projects are either waiting for the expert to do his/her bits or there is no expert, and the brave team members soldier on, doing their best and searching for expert advice on the internet.

AgileXRM lowers the resource skill requirements. Being Low-Code means less specialized abilities are needed to achieve higher results. Being homogenous means no need to decipher which bit of the requirement goes where (WF vs Plugins vs Actions vs BPF vs Custom Activities vs JavaScript versus Business Rules – and recently – vs Flow vs LogicApps vs PowerApps). In AgileXRM everything is done through configuration of basic blocks in the same way (with the occasional simple JavaScript for certain specific UI requirements).

For example, some junior consultants in some of our clients, build, manage and maintain very complex Dynamics 365/CRM AgileXRM-aided solutions out there. We are talking cross-departamental and/or cross-organization, cross-system and high-volume core-business processes with hundreds of steps and rules within them. Not the kind of thing you would throw at a junior! But they go deliver with the help of AgileXRM.

This doesn’t mean you don’t need experts anymore! No way! Somebody still needs to define the overall architecture and design of the solution, and overlook the project as it evolves, but much less hands-on and much less of the expert’s time is required.

K.I.S.S.

Why does over-customization occur in the first place? Sometimes because the Project Team doesn’t filter the requirements and lets the user design the system, but more often, it is because real business requirements tend to be very complex in the first place. And by the time you implement such requirements, you find you have tons of customizations all over the place, all interdependent and no one person in the team able to understand all the bits. Complex requirements should not imply complex solutions. If the complex requirement could be broken down to manageable chunks, then the solution could become simply elegant.  This is what AgileXRM provides. A way to break down these complex requirements to understandable blocks, simple pieces that can be quickly assembled and also maintained over time.

For example, we arrived on the scene in one client, nearly 2.5 years after their project had started. They had gone live for a year but user adoption was so low that the whole project was about to be scrapped. The SI contacted us, and their principal consultant, single-handedly managed to implement those very complex requirements with AgileXRM in 3 months the way the users wanted. And he did it without prior knowledge of our Add-on. But don’t wait to fail before resorting to AgileXRM. The earlier you use it the better the results and the simpler the solution.  Keep It So Simple!

GO ROUND IN CIRCLES

No one knows all the requirements upfront. It arrives in trickles. When you ask, users express all they know, mostly about the happy-path, but when they see the resultant solution, they remember all the other cases they forgot to mention. Usually this is a “problem” as changing things already developed is not easy, and is even more complicated if the solution is out there running in production.

With AgileXRM, asking for change is always welcomed! It thrives on it! This is how the solutions is iteratively improved. In a Banking client, the full Credit Cards Claims Process (a 120-page comprehensive analysis doc) was modeled, configured and published to UAT in 9 days (by two consultants). In the following 2 weeks, users getting to use the system, asked for 33 additional changes to the process that were not contemplated in the original specs. These changes were added daily, until one month after starting the modelling, the users had the real Business Process up and running in PRO, not the theoretical one in the docs.

So the circle is: Hear what user wants–>Configure and deploy it quickly so user sees it working–>Hear what user wants, and so on. Iterate Quickly!

W.Y.S.I.W.Y.G.

Seeing is Believing. So if the users can see they are part of the solution creation process then half of your problems are solved: No User Adoption issues; No bad surprises; No Them versus Us. To be able to involve them properly the creation process should be visual and lasting. If you model the business processes visually then the user never sees the model again in runtime, the disconnect gap grows, because you have implemented your interpretation of the model which well may be different to the user’s interpretation. If user sees the same model in execution, then it is a different story.

With AgileXRM the same business process model that is designed is the same one users see at runtime. What you model is what you execute and monitor.

This also helps greatly to detect where processes can be improved. The business process is not buried underneath lots of disparate bits, but is explicit and in front of everyone. This is what the term “Let’s read of the same page” means.

Conclusions

Implementing Dynamics 365/CRM should not be like making a Movie, but rather more like making a TV Show series where the producers deliver episodes frequently and take all the spectator feedback into account for the next episode. It is like a series created by the spectators for the spectators, with the supervision of the producers to make sure common sense is not lost on the way.

This all sounds very much like the Agile Manifesto. And it is not a coincidence that the product name has the word Agile in it: AgileXRM.

Bring Agility to your Dynamics 365/CRM projects with AgileXRM and Happy Implementing!