Well today is a day of announcements, and what a day it was to be a Dynamics 365 User, Partner or ISV.
Microsoft have made a few (major) announcements with regards to their Dynamics 365 platform as a whole and there ultimately will be a few posts on this by various members of the Dynamics 365 Community over the next few weeks.
I will briefly summarise these points, Microsoft have announced the Dynamics 365 Spring Release which includes some new functionality/additions and changes to the Dynamics 365 Business Application suite.
The Dynamics 365 Admin Center has also had a small update to accommodate and manage these changes as described in the following Dynamics 365 Blog.
So there is already a lot to digest, consume, collect thoughts and finally discuss (which I will do in a future article or two!) after today’s announcements. But another small announcement also snuck in…
Under the Radar
Microsoft also announced that the Dynamics 365 App for Outlook V9.0 has finally come out of Preview (I have not yet got access to an environment the new version yet).
This means that any Organisations on V9.0 will be able to use the new version of the App for Outlook (assuming they meet the existing requirements and are using Server Side Synchronisation) and will not have to go through the additional steps of enabling the preview.
Microsoft have added a few new useful features, such as the direct link to View the email in Dynamics 365, Pinning the App for Outlook pane and Search!
Turns to (sorry its a bad picture!):
I previously wrote a few articles regarding the App for Outlook and highlighting some of the new features and also how to configure the Preview version. I will not go into these details again as the articles can be found here:
Back in January, Microsoft made an announcement regarding the “Continued support of the Outlook Add-in” (Dynamics 365 for Outlook) which was due to be replaced by the Dynamics 365 App for Outlook. This decision was made after taking on-board the response from the Dynamics 365 Community and Microsoft’s customers who rely on the Outlook client heavily as part of their interaction with Dynamics 365.
Microsoft have stated that they are going to continue to invest in the Outlook Client to improve its performance and stability, but will not be adding an new features. This however, did raise the following question – what is next for the App for Outlook?
Unified User Interface (UUI)
The App for Outlook is based on the UUI, which is the new interface for Dynamics 365 released for version 9 and is the future of the platform (well except now for PowerApps and CDS V2!). Microsoft are working hard at making this the default interface to eventually replace our beloved web client (which also will mean the end of the Outlook Client as they share a common rendering engine), the un-deprecation announcement means that this is someway off yet.
The functionality of the App for Outlook will be brought in-line with the Outlook Client (i.e. Task Synchronisation/Tracking); Organisations currently have to choose between the functionality that the Outlook Client provides vs the compatibility of multiple devices that the App for Outlook supports. Bringing the features in-line will hopefully eliminate that decision (for Exchange customers) and the App for Outlook will become the preferred method (as Microsoft will tell you now!).
I will be giving my two cents regarding the other announcements over the coming weeks!
Welcome back! I am currently revisiting my data integration series where I am highlighting data integration best practices that I have learned since my junior consultant days, these best practices are which I abide by when I am designing and building data migrations/integrations with Dynamics 365.
It took several large Data Migration projects to realise that loading large amount of data from the source data set directly to the target system was not the most practical solution, the size and complexity of the data migration profiles was very inefficient. For data migrations where merging of one or more source data sets was also required, it was clear this should not be completed in CRM and often required numerous clear downs until the logic was correct or post migration clean up activities to remove duplicate data were required. I required a solution that sat in the middle of both the source and target which would have the following properties:
Ability to merge the data sets.
Be a familiar platform which I know and is compatible with the data integration tools I used.
Allow for data transformation to take place before load into CRM.
With discussion with colleagues and reading recommendations from the CRM community, it was clear that a staging area was required. It would have never occurred to me to add another component to a data migration, my thought process regarding data migrations/integrations stemmed around moving data from source to target (with no via option) only.
Location, Location and Location
When I first started out with CRM, most of my projects where On-Premise based; customers had numerous on premise servers (mostly VM’s) but also dedicated SQL instances for various applications they hosted (including CRM).
Additionally, the data integration tools I used where also on premise (i.e. Scribe Insight), so where else better than to host the new Staging database in SQL! CRM is built on top of it, it reports from it and so does Scribe; perfect – a Staging Database.
When I talk about staging databases, I refer to a new database which is independent of any data system I am integrating with. This will be either hosted in an On-Premise Microsoft SQL Server instance or Online in Azure SQL.
Tip if using Azure SQL – locate the Staging Database in the same (or as close to) the data-center/region of your Dynamics 365 instance to reduce the distance the data has to travel.
So, what are Staging Databases?
Staging Databases are used as a temporary storage locations between two (or more systems), they allow integration consultants to:
Merge multiple source (and target) data sets whilst de-duplicating the data.
Perform the standard ETL operations (Extraction of data, Transformation of data and Load of the data into the Staging database tables) so data is in the required format before loading into the target system.
Provide a complete view of all merged and collated data in a single location before it is loaded into the Target (such as row counts, data volumes and size).
Allow loading of transformed data into the target system without impacting on the Source Systems.
Why use them?
Staging Databases should be considered when there is either a large amount of data (high data volume) or multiple data sources need to be merged together and a fair amount of data merging or data transformation is required. Completing these tasks as part of a direct source-target data integration can impact the performance of the integration (and data systems) and data quality of the integrated data sets massively which can be prone to errors and failure.
Performing all the merging and data transformations in the staging database will increase the performance of the data loading into Dynamics 365 (which we all know can take along time); performance will be discussed later on in this series.
Data comes in all shapes, sizes, formats, localisations; throwing this all directly at Dynamics 365 will require significant conversion (e.g. Date Fields, Currencies, related records, Option Set mapping) which will reduce the efficiency of the data load.
Do not under estimate the importance of good quality and timely data, integrations that are very slow and frequently error will never be well received by the customer.
Data Integrations require time and investment, there is importance when designing a good and solid, quality integration. The same applies when designing and planning for Data migrations, these are often under estimated in every project, but these usually lead to the longest delays (time) that a project will experience.
A couple of years ago I attended a Scribe User Conference in Amsterdam, I was talking with one of the European Scribe MVP’s, Martin Buebl, he was discussing his latest data project (which went very well) but coined the phrase “You will never here anyone talk about a good data migration, only bad ones”. But one of the standout reasons (barring his expert knowledge of data integrations and the tool) is that it went very well was that he used a staging database to merge together a few systems (and by a few I mean a lot)!
Not every scenario requires them, for example:
Simple integrations where only one system with a small amount of data is transferred may not warrant the time and investment spent building such an integration. This also may have a Transactional/near real time requirement, where the addition of a staging component may slow down the integration time.
Think about your integration, consider if the design could benefit with a staging database and discuss it with your clients.
Building the Staging Database
Before you can use the staging database, you first need to define the schema of the Tables and Columns required.
When I design an integration which requires a staging database, I try to re-create the schema of the Dynamics 365 Entities and Fields (and data type) inside of the staging database that I will be mapping to. Whilst this may seem overkill and unnecessary to some, there is method to my madness as it actually makes it easier when building up mapping profiles and I find myself rarely having to reach for data mapping document (and this is a future best practice). There is an added bonus if the third party tool has “Auto Map” where similar or identical column names are mapped (Scribe does!).
I also learned how to create (and drop/recreate) database tables with SQL Scripts instead of manually creating these. Re-using scripts between projects can be especially useful for when using the out of the box entities and fields, these will not change and you just need to add the custom columns and datatypes that are bespoke to that customer.
Another benefit to recreating the Dynamics 365 schema in the staging database makes the data mapping profile simpler, you already know the target location and you will be able to reduce the number of target profiles you have (maybe even a single profile!).
Tips when using Staging Databases
Build the tables with a unique Staging Database ID’s which have an index (helps with lookup performance), so you can relate imported data back to source row and will help with Error reporting and row identification if you pass this information to CRM.
Build when you CRM Solution Design (data model and schema) have been completed, signed off and maybe even built so you that have a reference of what the target solution will look like and data mapping can be completed.
Build an Option Set table allowing you to map option set values to target Dynamics 365 Picklist values.
Think about building the error/transaction tables to aid with error reporting and investigation.
Convert the database to Simple Mode (to reduce database white space usage at the beginning).
Backup your Database frequently and immediately after you have finished building (Backup and Restore allows for faster clear downs than dropping all rows/tables).
Build and maintain (rebuild) Indexes across larger tables frequently on key columns that will be searched across (not really required for tables with low volumes of data).
Build useful Views which will join together Tables from a system perspective instead of using a Join in your data queries.
Avoid performing data integrations/ETL profiles during you maintenance jobs on the staging database!
If using an On Premise database, make sure the log files (MDF and LDF) are on separate drives.
Allow more than 4GB Ram!
This concludes my best practices advise around Staging Database best practice and why you may wish to use one, the last article in this series will focus on:
It has been a little over a year and half since my last data integration blog, I had started this blog but never finished it, and now have some time to review and actually finish this series (and to help me prepare for the CRMUG in Reading on March 1st!).
My previous data integration blogs can be found here:
Most of the content in the above posts are still relevant and valid; except Dynamics CRM Online is now Dynamics 365 after the re brand (yes – this was 2016).
I have decided to split out my the content for this topic into several articles, as I was writing the topic I realised that there was a lot to cover; so please be patient!
Replaying back to Part one of this series, I mentioned that Data Integration needed to be defined into the correct terminology, such as Migration, Integration or Replication.
Whilst the term helps define the data integration tools that we can use to meet that scenario, best practices can be applied to all types of data integration to ensure a consistent and uniform approach to all scenarios where integration with Dynamics 365 is required.
Data Integrations Best Practices will help:
Reduce time spent building up successful integrations.
Increase the performance of the integration (highly beneficial with large volume moving data).
Reduce time spent investigating issues and working to a resolution of these issues
Part 1: Error Reporting and Integration Accounts
Types of Error
All types of data integration will at some point cause an error, there are so many working parts to an integration and errors that may arise are:
Source Data – the quality and format maybe incorrect even though the customer the adamant that they have fixed any errors.
String Lengths – too long for the target field.
Decimal/Whole Number data mismatches.
Assigned Owner does not have the correct permissions to own the new record.
Plugins triggering on update and expects a value present.
Target Data/Metadata – a recent change to the system may have changed the metadata of the field that is apart of the integration , the source data no longer maps correctly.
Source or Target availability, the systems have gone offline.
And the list goes on for a whole number of reasons.
The Learning Curve
When I first started learning how to use data integration tools, I often would focus on the core functionality that the tool offered. This would just be to perform the basic operations (such as Read, Create, Update) and to get the sample data to move from A to B.
Any errors that arose, I would ignore and investigate at the end and put it down to my lack of understanding/knowledge of the tool.
In some cases it would take many hours actually figuring what was causing the issue in the first place as there was no meaningful message presented at the outset.
As my exposure to different data migration/integration projects grew over time, if I encountered an error, I would learn new ways (based on the tool I was using) to investigate and identify these errors earlier on in integration picking up hints and tips from online forums and my colleagues. Ultimately, I leaned how to handle and prevent some of these error from ever occurring by building conditional logic and extra validation checks.
When you an encounter an error, there are two actions that need to be completed:
Investigation – The integration is failing and you do not know why – so time will be required to investigate what is causing failure and identifying the error
Resolution – Can you prevent/handle the error as part of your integration or how else will you resolve the error.
If you are using 3rd party data integration tools, error reporting functionality should be provided as standard, and that if used correctly can, be very useful.
Scribe Insight has several tables in its internal database (known as the execution/transaction log) where it stores captured details for every data transaction (row) that it handles, the errors provide some very descriptive detail when an error is encountered (e.g. the length of the value XYZ is greater than the length of field 123). You can also assign messages/output text to Steps/Actions that Scribe takes throughout the DTS package which you can additionally write back to your source data to help you read the errors in more meaningful language to you.
Additionally Scribe has some out of the box SQL SSRS reports which you can view from the application which can provide useful statistics on the import and help you group types of errors or data integration failures.
Whilst KingswaySoft is built on top of SSIS, this can output failed rows along with the errors whilst also parsing some very good error details and description to the failed rows (along with additional row information). This can be outputted to custom Excel spreadsheets and tables or a separate Error Reporting Database and Tables (my preference as I have SQL scripts to recreate tables and schema for me!), then it is just a case of mapping these rows to the respective columns. This will allow you to view these errors in a meaningful way and help you diagnose the issues quicker.
With both tools, you could even have error logging Entities inside of Dynamics 365.
When either tool encounters an error, you can write the record of the transaction to Dynamics 365 for visibility to Users in the Application (unless CRM down is the issue!) and the Users can start the investigation.
Whilst you will not be able to prevent some or all of the data related errors (i.e. the data is the customers and they should be resolving the data issues or instructing you what to do) you can prevent some of the errors you encounter.
Both packages allow you to determine what happens to each transaction if the tool encounters an error (data or system generated) – i.e. error output rows. Whilst the default action is to record these errors into your error capture area and move onto the next row, you could re-process the data with another set of steps the tool must take to try and correct itself.
For example, if you have an integration which imports Accounts, Contacts, Opportunities and Products, and each of these processes are happening at different times such as the Sales Process Load below. What happens if a required record (such as Customer) does not exist if you are loading opportunities? If the Opportunity is created without the Customer value present (a required field), this will cause an error.
Q. How could this scenario be handled as part of the integration?
A. By conditionally checking for the customer record to exist before you set it, instead of making the assumption that this will exist will prevent an error for being generated. This row could then be re-directed for a second attempt in the next Opportunity data load or wait a few minutes for the Account data load to catch up (Send to Retry).
You will not be able to cater for every scenario, additional checks do come with added performance hits which I discuss later on in a follow up article discussing performance and are not always necessary.
Be proactive and think about these scenarios, build the data load logic to handle and prevent these types of errors from occuring.
Learn how to use the error functionality of these tools as part of using the product, they will save you invaluable time further on down the road and allow you to identify the root cause quicker.
Report the Error in a meaningful format
Handling of errors or scenarios to prevent errors
Some of the free tools, such as the OOB import wizard unfortunately do not always present us with a nice detailed error or have the ability to retry, they may even just give us a code! So when choosing a data integration tool, think about the requirement for error handling and whether investing in a 3rd party tool would outweigh the time spent investigating potential errors with Free tools (a consultant spending a day or two on an error may cost the same as a 3rd party tool!).
The use of service accounts with Dynamics 365 is nothing new these days and is common practice with On Premise Dynamics 365 (CRM) installations to run CRM Services or external web services that connect to Dynamic 365 programmatically.
When discussing service accounts with a data integration context, always consider the size and complexity of the integration/migration and whether this would offer real value or not.
For small scale one-off data migrations or using the OOB import Wizard/Configuration Migration Utility tool , service accounts are generally not required; and for the example of the OOB Import Wizard – cannot be used as they cannot be used to access features through the user interface.
For larger data migrations or data integrations (where data will be integrated with one or more external systems over a period of time), a service account should be considered as best practice.
Service Accounts provide:
Tractability of integration: it will be easier to identify data that has been modified by an Service Account especially with Auditing and the Createdon/ModifiedOn fields in Dynamics 365.
Full control of which applications use the service account and can reduce the number of concurrent connections used to the Dynamics 365 server at any one time as to not interfere with connection timeouts
No Front End access, this will stop any one with the credentials from logging into the application and using the product with the Web Client.
Service Account in Dynamics 365 Online are know as Non Interactive users, you are allowed to setup 5 Non interactive user accounts per Office 365 Tenant. I recommend creating these in your first instance so that if you copy the instance, then you will not have to re-configure this User as a non interactive User.
As they are free, there is no reason why you should not use one and are very easy to setup!
Azure AD account (Online Only)
If considering an data integration/migration with Dynamics 365 Online, ask for an account with the default .onmicrosoft.com domain. (e.g. email@example.com). If a company has their on premise AD domain synced with Azure AD and something corrupts/interupts the sync and those Users cannot log into Office 365. The default .onmicrosoft.com would remain unaffected and the data integration would not experience the same issue (unless the source system was affected by the AD issue!!).
Think about the Dynamics Security Role the integration account actually requires to complete its assigned task. At the beginning of a data integration, System Administrator will get over the initial hurdle permission issues (especially in the increase in security requirements are drawn out) and may help reduce the initial build time for the integration. For UAT and Production, the integration account should only require the permissions it actually needs to complete its task.
This would stop this user/integration from being used to update/delete/create other data sets that it was not intended for. Essentially it locks down a potential weak spot in the security architecture.
The account would only see the metadata it requires for the data integration (which would help with metadata refreshes at build level also).
I would generally name an integration account along the lines of “Data-source Integration User” or something that would easily identify the account which is being used to integrate the data-source.
So to summarise the Integration Account:
Think about using a Service Account (or Non Interactive Account) for data integrations.
Use a default .onmicrosoft.com Azure AD account if allowed to. (Online only)
Security Role: Give only the permissions needed to perform the data integration.
Choose a good name!
I have many many for tips, tricks and best practices still to give, such as (not the full list either):
Performance improvements (increase that Rows per Minute counter) and other considerations
Hello, it has been a few weeks since I posted my last blog relating to the new Mobile Apps for Outlook and the Unified User Interface; you can find my previous article here.
For this post, I will explore the following new areas of functionality that have been provided with the UUI and available on the mobile devices using the new Dynamics 365 Mobile Apps:
Custom Controls and the CCF
Controls for Views
The boring bits
With Dynamics CRM 2016, Microsoft released visual controls for the mobile apps as a preview, these were configured through the form customisations area and by setting individual field properties for each form; link to the YouTube video providing an overview is shown here.
With V9.0, Microsoft released the Custom Control Framework (CCF – not this CCF) which builds upon the earlier release of custom visual controls, these have been slightly updated and refined to work inside of the UUI.
I won’t go through the process of adding Custom Controls to your implementation, the Microsoft documentation is excellent in this regard with the link provided here.
What are Custom Controls? Good Question!
To add bespoke UI functionality to forms, previously Microsoft allowed developers to add i-frames/web resources onto the forms which may display some sort of fancy looking HTML object to enhance the user experience for the customer. The bespoke functionality would have been anything to allow users to visualise or enter data in a quicker and easier method than Dynamics CRM allowed using just out of the box methods, such as:
Visual indicators which where dependent on field values (i.e. like a case priority with a red indicator for the serious tickets requiring urgent attention.
SQL/Fetch XML Reports
Custom Buttons – these may have associated N:N records using a checkbox list rather than manually creating the relationships between two records.
Editable Grids – Before Microsoft blessed us with their version of Editable Grids, this functionality was built by many 3rd parties using HTML web resources.
With custom controls, Microsoft provides a way for users to visualise field data which may contain only text or numbers, by providing a visual/presentable format that is more user friendly allowing the user to consume the data in a format which has meaning. Whilst also designed to provide new visualisations to user, custom controls also provide a new method of data entry which are designed to be used with a Mobile device and Touchscreen interface.
What is the Custom Control Framework (CCF)?
In simple terms, it is an extensible layer that sits on top of Dynamics 365 forms which allows partners and 3rd party vendors a framework with which to build custom control such as visual indicators or custom functionality to enter data. Unfortunately, Microsoft have not yet released the SDK and what we do know is currently under closed preview and NDA. The CCF however, will allow partners a new framework in which to design, build and deploy custom functionality in Dynamics 365 as their own IP.
Where do Custom Controls exist?
Microsoft previously provided us with the new custom controls in CRM 2016 to be used on the Mobile Apps, these were originally configured through the Form Customisations area in Dynamics CRM. This is the same place where you can configure them for the UUI, but they are now visible not just on the mobile apps but also on the web browser for UUI.
With Version 9, there are now additional custom controls available for Views too!
Current Form Custom Controls
The following shows a list of the current Custom Controls which are provided out of the box with V9.0, with a brief description and scenarios these controls may be used.
Field Types: Whole Number, Float, Currency, Decimal
When to use: These are really good for adding in numeric values where a defined range is set, i.e. entering a measurement value in.
Field Types: Single Line of Text
When to use: Autocomplete fields are good when you would like to restrict the options available to the user but allowing them to type them. They are similar to option sets but can be configured using an Entity and a particular field value off the records.
Bar Code Scanner
Field Types: Single Line of Text
When to use: Great where Bar codes are used. If the User is using the Mobile Apps, the Bar code Scanner will ask to use the devices camera to scan the Bar Code and enter the scanned information into Dynamics 365. This may be good when issuing scanned bar-code passes at Events when attendees arrives – as this effectively can provide them access to certain areas at your event with their pass.
Field Types: Whole Number, Float, Currency, Decimal
When to use: I personally use these on calculated fields where an average value is required. You can highlight the range and set low, high and good value indicators on the bullet graph.
Flip – Switch
Field Types: Two Options
When to use: of you enjoy a toggle/flip switch Yes or No (Boolean) option!
Field Types: Single Line of Text, Email, URL, Phone
When to use: Input Masks can be used to create a set format for Users entering data into certain field types. Say if you are entering serial numbers for a particular model or product and they all take the form W-X1X-1234-ABC (i.e. starts with a W, then different combinations of number and letters), you can use a Input Mask Control to validate as the data is entered.
Field Types: Whole Number, Float, Currency, Decimal
When to use: Linear Gauges and Sliders are different Controls which allow users to enter numeric values on a mobile device easier based on a set range.
Field Types: Whole Number, Float, Currency, Decimal
When to use: Linear Sliders and Gauges are different Controls which allow users to enter numeric values on a mobile device easier based on a set range.
Field Types: URL
When to use: Along the with the Website Preview fields, you can provide preview panes to websites or media based on data entered into the URL field configured with these particular custom controls. The screenshot shows a link to Chris Huntingfords CCF video on YouTube!
Field Types: Whole Number, Float, Currency, Decimal
When to use: Number Inputs provide the default method of entry along with the + or – buttons to add or subtract values (in step amounts) from the number entered by the User. Good for keeping to a set level of precision. I have used these for small number ranges where 0.25 increments where required from negative to a positive number range. (i.e. -10.50 to +5.75).
Field Types: Option Set
When to use: The only time you should use this is for an Option Set of 3 or less; or you will not see the additional options! Does not work with Multi-Select Option Sets.
Field Types: Multiple Lines of Text
When to use: These are really good for when you would like to capture the the signature of someone and store these digitally in your Dynamics 365 platform. Say your Service Engineers visit customers to perform onsite services or repairs. When the customer is happy that they have completed the task, they can sign using the pen control and this is saved to the work order/record in Dynamics 365. Chris provides a great video walk through of this field type here.
Field Types: Whole Number, Float, Currency, Decimal
When to use: Great for entering larger range of numbers with larger step amounts.
Field Types: Whole Number
When to use: I can see these being used for gaining feedback back from people (i.e. customers receiving a service) whilst onsite and allowing them to enter data in an informed manner.
Field Types: URL
When to use: Along the with the Media Preview fields, you can provide preview panes to websites or media based on data entered into the URL field configured with these particular custom controls.
So there are quite a few of the Custom Controls available with Dynamics 365, these help improve the way Users can enter data into the standard fields/data types than they could previously. Instead of having to just tap and type, the users can interact with the Control (such as swiping or turning a digital dial) to enter data into Dynamics 365.
Custom Controls available for Views
Custom Controls are not just available to Fields, but Microsoft have also provided us some at the View level (and not just in the UUI); Microsoft first introduced the Editable Grid have extended the custom controls for Views even further with the following options:
Read Only Grid – standard out of the box grid for viewing a list of records.
Editable Grid – recently released with Dynamics 365, one of the most requested features by end users where users can amend records line by line in a list view.
Timeline Control – allows data to be represented in a Timeline format where you can see records in a Timeline view based on when the last action occured (such as created on.
Calendar Control – data can be displayed on a Calendar like Appointments in your Outlook Calendar.
Going back in time to the CRM 2011 days, Microsoft provided Users with guided processes through the use of Dialogs (which have now been deprecated with V9.0). And more recently with Business Process Flows [BPF] (which have evolved over the years).
With V9.0, Microsoft have extended the BPF functionality by introducing Task Flows.
Business Process Flows, Workflows and Dialogs are generally executed in the Context of a record (i.e. when you create a new record the or when you are at the record level, or execute against multiple records in the case of a Workflow). Task Flows can be executed from anywhere in the mobile app by clicking the below icon:
Task Flows are defined against a particular entity in the system, but the User will need to first choose which record they wish to execute the Task Flow against, be this selecting an existing record or creating a new record.
They are useful for providing Users a common set guided of actions or tasks that they would normally undertake.
Unlike Business Process Flows, multiple instances of the same process can be executed against the same record; they are unique to the User – not to the record like for Business Process Flows where a single process instance passes through Stages and Steps to completion.
Neil Parkhurst has written a very good walk through/guide article explaining Task Flows and the differences between them vs Business Process Flows here:
Microsoft provide 3 Task Flows out of the box illustrating different ways in which a Task Flow can be used, these are:
Follow up with an Opportunity
Task Flows allow a User to enter data from different entities in a single form view where data is broken up into section by the labels. This should help reduce the navigation between records that a User would normally undertake to complete these steps which is important for the number of clicks/loading of data when accessing Dynamics 365 via mobile devices from a network performance/gains perspective.
I have previously blogged about Activity Timelines when they were first announced here. They are brilliant replacement for the Social Pane in the UUI; they reduce the white space and provide excellent filtering and search capabilities for the type of records the Users wish to see whilst providing you a highlighted list of what has happened since you last accessed that record! They look exactly the same on the Mobile devices except you have the ability to upload media (videos, audio and pictures) directly from your device.
With the new Apps and the new controls available, the way users can interact with their organisations Dynamics 365 implementation is growing and making use of the latest technologies. The new controls should help with users interfacing with their devices whilst reducing the number of clicks or taps that would have to complete with the web client or earlier versions of the Mobile Apps.
Last year, I started writing a couple of blogs for the July 2017 release of Dynamics 365 and the Unified User Interface (UUI) as part of a team testing out the new capabilities in V9. The teams objective was to feedback our findings with the Dynamics 365 community, listing out the new features and any new functionality discovered or if there are findings which may be considered an issue or problem for organisations looking to upgrade to the latest version of Dynamics 365.
My latest series, “Introduction to the Dynamics 365 Mobile Apps for V9.0 ” details our findings using the new mobile applications and the UUI. The first and second blog posts can be found here:
My previous blog (part 2) discussed the different types of Mobile App available for Dynamics 365 Users and how they could install the Dynamics 365 Mobile Applications for a Tablet or Phone device. Installation requires that the users would have a device matching the Hardware Requirements for Tablet or Phone version and also permitted to download the App onto their devices.
Additionally, Users require a Security Role with the correct privilege to access Dynamics 365 via the Mobile App; this point should really have been apart of this blog as it requires a change to Dynamics 365 customisations (i.e. Security Role change which is then granted to the users whom require mobile access).
This main subject for this blog will talk about what configuration items are required to be completed to allow Users to connect to their Dynamics 365 instances using either the Phone or Tablet App and utilising the Customisations which have been enabled for mobile use. I will discuss new features (such as the Custom Controls) in my next blog.
The are two main topics that will be covered (and broken down into smaller components):
Configuring the Mobile App – connecting the app to Dynamics 365 and setting it up for first time use.
Mobile Customisation – making changes to Dynamics 365 to allow items to be used on a mobile device.
Configuring the Mobile App
Installation of the Mobile App (Tablet or Phone) is the first step – the next step is to connect the app to the Dynamics 365 organisation.
My first assumption is that you are using an online organisation and Dynamics 365 V9.0 (at the date of this blog, V9.0 is only available for online instances). The screenshots below are for an online trial org and using the Dynamics 365 app on an iPad.
Connecting to Dynamics 365
To connect the mobile app to Dynamics 365 please follow the following steps:
Open the app on the chosen device.
Wait for the organisation URL page (let’s get set up) to display.
Enter the URL for your organisation in the format https://ORGNAME.crmX.dynamics.com – where ORGNAME is the instance unique name for your CRM organisation and X is the region of your CRM data-center. (i.e. for Europe it is CRM4 or CRM11 for UK).
Click the next button.
Enter your credentials into the Microsoft sign in page and click login.
The Dynamics 365 Welcome page should display.
Once the login has completed, Users will be presented with a list of “Apps” to select which are available in the Organisation. The screenshot below shows the available apps in my trial organisation:
The available Apps are the modular UUI Apps which I have previously mentioned, these will be discussed in the next section.
There are some basic settings that can changed without actually accessing one of the Modular apps and will affect how the Mobile Application is interacted with. The menu can be accessed by clicking the middle cog icon.
These are the same settings as the User can set in the web client (but a cut down version). The last option – Records per page may be a performance hit on slower connections if a greater number of records is returned.
This settings area allows User to define how the Mobile Application will interact with the device.
With Dynamics 2013 – Dynamics 365 V8.2, there were multiple changes needed to CRM from a customisation perspective to allow users to use the mobile applications and what objects they could interact with on their mobile devices (such as entities and fields).
Some of this customisation changes are still needed, but Microsoft have now provided us with greater control on how to complete this task and with greater efficiency through Modular Apps!
There are two main levels of configuration changes that need to be made to Dynamics 365 to allow Users to interact with Dynamics 365 and a chosen set of customisations on their mobile devices:
Security Privileges – discussed in my previous blog; but this allows the Users to connect to Dynamics 365 using the Mobile Applications when the User has a Security Role with the Privilege enabled.
Modular App with UUI
With Dynamics 365 (V8.2) – Microsoft released the App Designer which brought allowed system customisers to build modular apps in CRM – this would collate the following components into a single accessible area of CRM which would not show any areas that are not relevant to the Users, but only the components which are included with the App:
Business Process Flows
Each Modular App has its own Sitemap also – so the Users can have a personalised user experience i.e. not displaying the out of the box sitemap items which may clutter the User Interface.
With Dynamics 365 V9.0 – Microsoft released the new Unified User Interface which is a consistent framework across multiple devices. Any customisations made in the UUI would apply to any device that the Users access the Dynamics 365 instance. The UUI has replaced the MOCA framework which is what the Interactive Service Hub and the Mobile Applications were initially built on.
Modular Apps are now client specific, meaning that they can be created to run through the Web Client or the Unified Interface.
The web client Apps can only be used on a PC using an internet browser such as Edge or Chrome where as the UUI Apps can be used through a browser or across multiple devices through the Dynamics 365 Mobile Applications where set of components included with the modular App look the same across each device.
Creating a Modular App
This blog will not walk through creating a Modular App with the new App designer – the following link (Microsoft guide) will walk you through creating a modular app:
Once you have, saved and published your Modular App (make sure it is set to UUI!), you can then select the App which will then allow you to view your customisations in the mobile application via the App selector.
App Security Roles
Remember to set/allow Security Roles to access the Modular App so Users can access the Modular App on their devices (which you can actually do from the Mobile Clients)!
Navigate to the Modular App on the Mobile Device.
Click the Ellipses (…).
Click Manage Roles.
Select the Roles you wish to allow access to (remember the roles should have the correct permissions for each Entity in the App).
Sitemap with Icons!
When creating a Modular App – the Sitemap can also be configured which is now also visible on the Dynamics 365 in its complete form!
Sitemap in the designer.
Sitemap in the Web UUI.
Sitemap in the Dynamics 365 Mobile Application (the last icon is the default one for comparison).
Looking at the Web UUI and the Dynamics 365 Mobile Application, there are some custom icons which have been added (I have used the Visual Studio Icon library set) to the custom Entities. The formats for these are as follows:
I uploaded mine using Iconator with the XRM Toolbox!
Reading through the mobile app configuration documentation (link here) refers to be mobile customisations that are still aimed at a Dynamics CRM 2013 – Dynamics 365 V8.2 implementation.
Additionally, navigating to the customisation section of the Enterprise Edition which can be found here, this section also describes the “Code once deploy everywhere” but is also based on the old configuration items such as the options which needed to be set to enable the Entities, Dashboards and fields for mobile use.
Through testing, I have gone through and tried all the different settings that used to be required (enabled) for mobile use – and here are my findings:
Entity Settings Level
Entity – Enable for mobile (above).
Entities no longer required to be enabled for mobile, this has no impact if this switch is toggled.
Dashboard – Enable for mobile (above).
Dashboards are no longer required to be enabled for mobile, this also has no impact if this switch is toggled.
Fields, Tabs and Sections
Fields – Available on phone (above).
Fields are no longer required to be flagged for phone availability, but Tabs and Sections visibility (on the mobile device) is still controlled via the flag in the properties to enable them on the Mobile Application.
The Tab (5) and Field (75) restrictions seem to be lifted – I have confirmed this via more than 5 tabs and 75 fields and none are removed on the mobile device!
8 Tabs and more than 75 Fields above on the Registration Form viewed on an iPad
Tab Selection displayed through the Mobile Application on the iPhone.
This completes my brief guide on the configuration items required for allowing Users to access and use the Dynamics 365 Mobile Applications on their devices. I have tested a few of the old customisation items where by you were required to set a flag to enable the component for mobile use.
Most of these flags have been succeeded/replaced by adding the component (i.e. Entity or Dashboard) to the Modular App which are then inherently available through the Mobile Application.
As mentioned previously, my next blog will detail some of the newer features available on the Mobile Application, such as Custom Controls and Task Flows etc.
I am writing a series of blogs that will serve the readers as an introduction to the Dynamics 365 Mobile Apps for the latest version of CRM known as Dynamics 365 July Release (V9.0).
This is part 2 in the series – I hope the (series) blogs can be used as a reference guide for CRM Consultants/Customisers or administrators when deploying Dynamics 365 in their organisation or on behalf of their customers. I will highlight the key functionality of the mobile apps within the UUI framework.
I will assume you have now decided that you intend to use the Dynamics 365 Mobile Apps – so my aim for this blog is to cover the following questions:
What are the mobile apps and types (of app) available with Dynamics 365?
How can you get the mobile apps and what are the prerequisites that need to be met?
How to you install the app to your devices?
I will post links to the official documentation/articles by Microsoft from their new documentation site for Dynamics 365.
Mobile Applications for Dynamics 365
Types of Mobile App
There are several types of mobile applications available to Users for accessing their Dynamics 365 data on their device, these are:
Microsoft Dynamics 365 Mobile Apps
3rd Party integrated – developed externally by 3rd party providers
Microsoft Dynamics 365 – Mobile Apps
Base Phone and Tablet Apps
There are currently 2 offerings of the mobile applications for Dynamics 365, these are:
Dynamics 365 for Phone
Dynamics 365 (for Tablets/Windows 10 Devices)
These two apps are the focus of these articles and the topics will be based around the functionality provided by Microsoft. From a customisation perspective – they are using the same set of Dynamics 365 customisations*, but the content that is displayed will be in a different manner on the smaller phone screens compared with the larger tablet screens.
The next few sections will list out other options available for mobile applications which are linked to Dynamics 365 but are not the focus for this blog series. (There are 1 or 2 I will not be mentioning as they have either been deprecated, like the Project Services Finder App – which has been replaced with the base apps or have been removed from the product).
*depending on which modular app they are using
Before we talk about the additional out of the box app offerings, I need to briefly describe about the concept of modular apps (a set of customisations and sitemap) within the XRM platform in Dynamics 365. These type of ‘Apps’ could be created using the App Designer to build up a particular area of CRM with a distinct set of functionality.
The app then filters the users view of CRM (via Entities/Forms/Views and sitemap) to the areas which are apart of the App allowing to them to stay focused on the key Entities that they interact with to complete their day to day tasks.
These have now been expanded to be configured to use the Unified User Interface (UUI) (more to come in a later blog). These apps will form the framework of a set of customisations that will be used for the base mobile apps for Dynamics 365.
App for Outlook
The new Outlook integration is now based on the UUI and actually runs in the context of a modular app in Dynamics 365. Technically, this is an exchange level mailbox add-in and not a standalone application or client that needs installing to your device, but it can run directly from your mobile Outlook application running the new UUI!
If you would like an introduction into the App for Outlook as a mobile replacement for your Outlook Client (for Dynamics 365) – please read my earlier posts:
Microsoft acquired Field One back in 2015 which had a CRM addon for Field Service Management functionality. The goal of FieldOne is to provide organisations who offer customer services in the field a better way to manage and provides these services to their customers. Field Service engineers would need away to access the data to complete their assigned task in the field (more often than not) remotely through their mobile device.
Microsoft took the opportunity to integrate the FSA capability provided with FieldOne into the Dynamics 365 platform and re-branded the solution as Field Service Automation (FSA) which was built up as a modular app within the XRM platform and can be installed through the Dynamics 365 Admin Center as an addin solution.
The associated mobile application (for phones/tablets) is called “Field Service- Dynamics 365” which is available to Dynamics 365 Users who have been provided the correct License Type. This is one of the Apps that Dynamics 365 Users can use to access their Field Service data but requires some additional installation of a CRM solution from Resco as described here.
I envisage that the base Dynamics 365 Mobile Apps will have their functionality/capabilities expanded over a period of time and will eventually replace the Field Service App.
This may be achieved through the new Custom Control Framework (CCF) which is very hush hush at the moment and most likely under NDA for partners! Jukka Niiranen wrote a very good blog about the prospect and future use of the CCF here.
Additional MS Mobile Applications
The Microsoft stack is growing and growing – new ways to access your Dynamics 365 data are also increasing such as the introduction of PowerBI, the Common Data Service, PowerApps and Flow.
PowerApps and PowerBI are great new ways of interacting with your Dynamics 365 – PowerBI for reporting and PowerApps to build custom “throw-away” apps to perform a particular set of tasks. They both have a mobile offering also!
3rd Party Integrated
Resco purchased CWR a couple of years ago and is now the largest 3rd party add-on provider for mobile solutions which is built on top of Dynamics 365.
As it is a 3rd party addon, there is an additional cost (per user/server) to organisations who wish to use the Resco solution (unless its in-conjunction with FSA – see above!).
Whilst there are still quite a few offerings to access Dynamics 365 data on a mobile apps available to organisations and its users, I will be purely focusing on the base Dynamics 365 mobile apps for this blog series.
How do I get the Apps?
The App Store
Ultimately, you can download the Dynamics 365 mobile apps through your devices App Store. If your mobile device is a part of an enterprise device management policy – you may have a dedicated app store for your organisation where you can only download authorised “Apps” from; you may need to ask your IT department to make this available for your organisation. But before you do, it may be best to check the prerequisites of the mobile apps!
Firstly there are two things to consider before installing the Dynamics 365 Mobile Apps:
I will make the assumption you are using CRM Online (as V9.0 has not yet been announced for on-premise release).
Previously – Microsoft issued a supported device listing for the the mobile apps along with an operating system version. With the latest documentation, Microsoft just list the supported operating systems and recommended device specifications.
For users to be able to access your Dynamics 365 organisation with the Mobile Applications – the following security privilege will need to be assigned to the users (details here) via an assigned Security Role.
Open a Security Role
Navigate to the Business Management Tab
Scroll down to the Privacy Related Privileges
Set Dynamics 365 for Mobile = Organisation
This screen shows the out of the box sales person role which has the privilege enabled by default.
Installing the App
I will show you quickly how to install the app to your device – my screenshots are of the installation being completed on iPhone 6 with iOS 10 to install this through the Apple App store. This assumes that you can download the app through the devices default app store – otherwise you may need to select it through your organisations app store.
Navigate to the App Store and find the app (i.e. search by typing Dynamics 365)
Download the App by clicking “Get” or the Download icon.
Wait for the App to be installed and click open.
Or find the Dynamics 365 for Phones App icon on your home screen
Wait for the App to open and display the Organisation URL page!
The full (its shorter than above) installation guide can be found here:
The Dynamics 365 Mobile should be ready to be configured – I will go through the configuration in my next blog as that will need to cover a few items in CRM.
I hope you have found this article of use – it will probably be my last of 2017, but I may find some time to right the next article before the year is out (assuming my trial has not run out!). I hope you all have a lovely Christmas and I wish you all a happy new year!
Back in June (2017 for those who read this in the new year), I wrote a series of blogs regarding the new Unified User Interface which was announced ‘July Release for Dynamics 365’ (aka V9.0). The series introduced the readers to set of functionality being released as part (or alongside) the new UUI:
We are now in a time where V9.0 has been available for new Dynamics 365 instances (i.e. trials) for a period of time but existing customers could not yet upgrade. It was announced (here) that the customer driven updates (CDU) will shortly be arriving for existing customers (starting in Jan 2018).
To test – or to not test, that is the question
I have been part of a team that has been testing the functionality delivered with the new UUI and the impacts that it would have on our customers.
The testing was split out into the following categories:
App for Outlook
Tablet/Phone Mobile Client
Mobile Web Client (not the “web refresh”)
We decided to share this content with the wider community to help you advise your customers to make the right decision when it comes to scheduling the upgrade and to make you aware of items that may or may not need to be addressed when the upgrade is ready.
My next set of blogs will (re)-introduce to Mobile Client(s) offered with Dynamics 365 (V9.0) and the UUI.
I will aim to cover the following topics:
Why use the mobile apps?
What mobile apps and types are available?
How do you get the mobile apps and what are the prerequisites?
Installing the app
Configuring Dynamics 365 Apps for mobile use
Custom Controls with the new UUI
Factors to consider when customising
Offline Capability (as you know, the App for Outlook cannot do this at present!)
I have been using the mobile apps for Dynamics 365 since CRM 2013 when they first released the MOCA framework with the mobile apps.
Before that, I had worked on projects that used a third party addon called CWR as the mobile offering (which was a direct competitor of the more widely known Resco) as these where the only true mobile solutions available for CRM 2011 that allowed Users to work with CRM data on their mobile devices (and offline).
Over the last 7 years or so, I have seen the mobile platform evolve from the basic Mobile express forms to the current V8 offerings and have implemented the mobile app in some form in nearly all versions of Dynamics since 2011; I could not have done so with out reference guides/manuals/blogs that have been readily available.
Why should you implement a mobile application for CRM?
Technology is evolving at an ever alarming rate – people are also more attached to their mobile devices (such as Tablets or Smartphones) as they go about their day to day activities. Some of these devices are even replacing a lot of tasks that would otherwise be completed on a computer or laptop.
Dynamics 365 is one of these applications that Microsoft has expanded its mobile offering/functionality and now is the one of the primary focuses of Dynamics moving forward with newer versions of CRM. The UUI is prime example where Microsoft are bridging the functionality gap between mobile and the traditional web client interface and introducing a common interface to display CRM data to users across multiple devices in a uniform way.
The request for mobile access is just going to grow and grow and employees will ultimately come to expect an “App for that” (as there is for literally everything else).
Some of the benefits to users are:
Access to CRM data when they are out and about i.e. Sales Team can pull up relevant information about the Opportunity they are meeting the client with
Users can update their meeting notes, create appointments on the fly
Immediate access to relevant dashboard to show key data on their phone
Custom controls which are optimised to a device to aid/assist in data entry:
Here we can see to custom controls for the iPad client – a signature capture and a star rating control.
There will always be some mobile requirements from your users to use Dynamics 365 on their mobile devices; Microsoft have a very powerful (and free) solution available for their customers to use and configure to meet these mobile requirements with the mobile app offerings.
That being said – there are different mobile apps available with Dynamics 365 and I will highlight cover this area my next blog (here) – so stay tuned!
This is part two of my introduction to the preview version of the App for Outlook with the July 2017 release of Dynamics 365 (V 9.0), the first blog can be found here. At a high level, this highlighted how you can configure the preview of the App for Outlook by:
Completing a set of tasks to enable the App for Outlook.
How you can access the App for Outlook across multiple platforms/devices from a single configuration.
What functionality is available over the Outlook Client.
The focus of this blog is to go in greater detail the functionality the App for Outlook provides and any main issues that our testing has raised.
Microsoft have issued a very comprehensive user guide (which starts half way down the page), I highly suggest you read this guide as it is a great introduction to the latest version of the App for Outlook!
Microsoft Known Issues
First off – I found the following Microsoft authored page very helpful to see the latest known issues for the App for Outlook (these have been raised directly with Microsoft):
For this blog – I will not detail these types of issues that we have encountered whilst testing, but I thought I would share the link for all to see!
The App for Outlook – a force awakens.
Microsoft announced the App for Outlook back in Dec 2015 with Dynamics CRM 2016 – this was known as the ‘light-weight’ app for Outlook and was only really useful for tracking emails in Outlook or the OWA (Outlook on the Web). It could not track ACT (Appointments, Contacts and Tasks) like the Outlook Client could, so it was never seen as a viable alternative to the “trusted” way to access and track Emails in CRM through Outlook.
Fast forward to V9.0 – we are almost there! It can track*:
*depending on the device you use – see my last post for more details!
Currently, the App for Outlook cannot yet track Tasks, I am sure it will not be long before Microsoft will add this functionality as the end users/partners have been asking for parity with the Outlook Client functionality.
This is the device I am looking for
Through out my testing, it is clear that whilst you can use the App for Outlook addin across multiple devices – there is still some element of thinking to actually complete the activity you would like to track in Dynamics 365. Say I wanted to track a new Contact, then I must use an Office 2016 installation on my desktop. Where as if I wanted to just track an email, I would be able to use Outlook on an iOS device or OWA etc.
It would be great if Microsoft could provide a similar (if not the same) level functionality across each device that uses the App for Outlook to eliminate this thought process, we are moving to a Unified User Interface after all!
A new hope (with customisation)
Unfortunately, I do not currently have access to an environment to show a comparison in screens of the 2016/365 version compared with the V 9.0. I started customising my environment to test out the other cool stuff with this latest version of Dynamics 365 – like Multi-Select option sets! I do know that one of my main concerns is that the information displayed on the relevant cards (i.e. the Contact information) was often blank because it was showing 2 phone number fields and these could not be changed. In fact, no item of the App for Outlook could be customised in CRM. My colleague, Jason Almeida also asked our team if we were noticing any strange or inconsistent app behavior. Whilst you can configure lots of apps with the app designer, none of them seemed to render in Outlook through the App for Outlook.
Whilst adding components to my solution, I was browsing the Apps area to add to my solution for customisation (I really just wanted to create a demo app purely for the UUI like the Customer Hub app); it was here that I noticed that I could add the “App for Outlook” App and also it’s Sitemap to my solution:
After further investigation, I found that you can actually edit the App and the Sitemap to customise it the way you want it through the App Designer.
Finally – you can change the information that is displayed on the cards shown in the App by finding the “App for Outlook #EntityName# Card” for the out of the box entities (like Account, User, Contact)!
Amend the form with the form designer (keep it to 3 fields – not found out what happens if you increase it):
Publish your changes and go and view your new (and customised) App for Outlook!
This was a good find and was an answer to Jason’s question ultimately! After customisation of the App for Outlook solution items – I did notice it took a few attempts to get the changes to push to the App for Outlook. With the old MOCA Client – you could push “Prepare customisations” or something similar which would speed up the process for the users connecting with the mobile client – this has now disappeared with V9.0!
Entity Forms strike back
So now – we have tracking functionality increasing with this latest version, we have the ability to customise areas of the App for Outlook, what else can we do? Well, the old Outlook Client could be used as an interface to access your CRM data and would be able to open CRM forms and render the records just as if you were in the web client.
The App for Outlook also allows for this – but it does so in the context of its pane in Outlook. So in my screenshot below – I have navigated to the Account Sitemap area in the App for Outlook and opened up the Account record:
This renders the entire Account form in the pane, so if you have a fair few fields like the default Account form does – then there is going to be a fair amount of scrolling to do! But you do have the standard actions in the Command Bar – like the Assign button, execute a process. If you try to click on those – you may get a “pop up blocked” notification which will need to be enabled (add the CRM domain to your trusted sites -https://*.crm11.dynamics.com) and then click an action like “Email a Link” and these should work:
Do not be surprised if some of the actions do not work – there are some known issues (listed in a section above).
We are getting to the stage where we can do some simple level of data entry into Dynamics 365 with Outlook in a very “light weight” way of working.
The one great advantage the Outlook Client had was that you could setup it and configure it to work offline with CRM data. It would install a local SQL Server Express instance and database allowing you to synchronise certain CRM (set up with synchronisation filters) and work with them offline. Unfortunately – to use the App for Outlook, you have to be online with a connection to the Dynamics 365 server.
The App for Outlook has a lot already going for it – you can also:
View Dashboards (which do not work for me currently on this release)
View a list of recent items:
Navigation (some buttons do not work like the Back button!)
I have discussed some of the key items of functionality that the App provides – and some of the items you need to consider/be aware of that could be potentials issues for your customers/users. It is still in its infancy, but it is clear that this is the future Outlook solution and there is still along way to go. I have noticed a complete difference in stability with this latest version of the App over the versions in 2016 and Dynamics 365, I hope this improves even more so!
I cannot wait until General Availability (rumoured end of Jan 2018) for the new App for Outlook, support will be there and Users can finally start making the switch if they are running D365.
Recently, there has been a lot of emphasis around the Dynamics 365 July 2017 or v9.0 as its also known as; Microsoft released the Unified User Interface (or UUI) for Dynamics 365 with this released for new Office 365 tenants. This built upon the design concepts of the MOCA client with the philosophy:
Code once, deploy everywhere.
I have previously written an article regarding the UUI when V9.0 was first announced to the world here:
Fast forward until now – you can finally provision trials with Dynamics 365 V 9.0. A few of my colleagues and I have been putting a lot of effort into testing the new UUI in earnest to try and help with our customers come up with a clear upgrade strategy to upgrade to the next version of Dynamics 365.
Our testing for the UUI has been broken down the testing into the following topics:
My colleague, Chris Huntingford had already written an brilliant introductory blog (link above or here) into our initial findings of the Web UUI, which lists a few “Awesome” features and a few of the issues we have encountered so far which we have shared for all to read.
This article received some really good feedback from the Dynamics Community which highlighted some cool items that we needed to consider or had missed, so thank you!
Additionally – I would like to thank Jason Almeida and Rob Dawson for assisting us on the continued path of testing the UUI!
The “App for Outlook” – a Consultants Story.
So moving on to business – I have been testing out the new App for Outlook on my trial demo environment with two main objectives:
How do we install the preview version of the App for Outlook?
What can we do with the App for Outlook?
This blog will serve as an introduction and will aim to help you understand how the App for Outlook can be deployed and installed (point 1) and a high level overview of what it can and cannot do functionally; my next blog will cover point 2 in more detail.
Firstly, you may be asking yourself – “why are we talking about this when there is the Outlook Client”?
I would like STOP you right there – this article is in reference to the new cloud based App for Outlook addin which was first released with Dynamics 2016; the Outlook Client (installed to the Users machine) has been deprecated (RIP) and will be removed from support at some point in the future.
As part of Microsoft UUI release with Microsoft Dynamics 365 July Release (V9.0) – the App for Outlook is only released in preview; which means:
Dynamics 365 (online), version 9.0 or later only.
Not supported – Microsoft will not provide full product support until General Availability (GA)
Not complete product/functionality
Full details can be found here.
So whilst this is great for the Partner to get their hands dirty and do some testing for Microsoft – for new customers, they would be stuck in a scenario where the recommended email synchronisation method is not actually officially supported by Microsoft yet. They may need to go back to the Outlook Client as an interim solution until support is offered/general availability.
Ok – what do I need to get the App for Outlook running for my Users?
Good question – there are several pre-requisites to get the App for Outlook running, I will provide the basics with the necessary links for these as separately, these can be quite a detailed process to complete.
Switch to server side synchronisation (SSS) for all Email and Activities in your V9.0 instance – reference here.
Have a supported version of Exchange (Exchange 2013, 2016 or Exchange Online).
Have a supported version of Outlook (through Office) (2013/2016/Outlook for iOS/Android/Mac or Outlook on the Web OWA).
Previously, with the Outlook client you were restricted to the following:
Supported versions of Outlook/Exchange (still the case with the App for Outlook).
Installation of the Outlook client on each device you wanted to use (Windows only)
One synchronising client if accessing with multiple devices.
For the App for Outlook, you can use a single installation (addin to your Exchange Mailbox completed at the server level) across a multitude of devices and platforms where you access your mailbox through an supported Outlook App (i.e. Outlook for iOS). You can use the App for Outlook on the following devices:
Outlook on the Web
Outlook for Desktop
What can I do with the App?
There are some major functionality differences between the App for Outlook and the Outlook Client (taken from here):
Dynamics 365 App for Outlook
Dynamics 365 for Outlook
Track and set regarding for email
Track and set regarding for appointments
Track and set regarding for contacts
Track and set regarding for tasks
One click set regarding
Shows recipients’ summary
Shows the regarding record summary in the email/appointment
Works with Outlook on the web
Works with Outlook desktop
Works with Outlook for the Mac
Works with phones
Open and create Microsoft Dynamics 365 record directly
Apply custom forms and business logic
Apply email templates
Apply sales literature
Apply knowledge articles
Ability to monitor emails after sending
Sort, filter, format, group, and categorize views
Create Word mail-merge documents
A lot of people will focus on the negatives – so neither Task synchronisation or Offline ability will be available (with this release) of the App for Outlook.
However – Tasks would synchronise via server side synchronisation as they normally would – you just will not be able to set the regarding or access the CRM fields in Outlook for Tasks.
Whilst you will not have the ability to work offline, you now can with the mobile apps!. The new functionality (in my opinion) far outweighs the functionality missing with the ability to work on the move with your mobile device – though however, this does depend on which device you are using as shown below:
Understanding the above items is crucial when deciding whether the App for Outlook is a good fit for your customers/organisation as it will help identify whether your current Dynamic/Exchange deployment are supported* moving forwards.
As I had previously stated – my next blog will talk about the functionality of the App for Outlook – what’s cool and what’s not so cool!
The below link highlights some already known issues of the App for Outlook – and will be kept up to date by Microsoft.
You can find the second part to this article here.
Please note any pictures are taken from the Dynamics 365 Preview Executive Briefing which can be found at the following link (by CRM Innovation). All information contained in this blog is a summary of the Mobile Experience presentation on the first (of three) days of the briefing – there are still a lot of unknowns at this point so please bear with me!
This blog follows on nicely from Blog 2 as the Mobile App is based on the new Unified Interface
Dynamics 365 – A mobile history of time
The Mobile App for Dynamics CRM has come along way since 2012; previously – Dynamics CRM 2011 only had the Mobile Express forms for Mobiles/Tablets which would eventually be replaced with the Dynamics 365 for Phones/Mobile that we use today. There are third party add-on products such as Recsco or CWR (which has now been acquired by Resco) which were primarily chosen (at additional cost) for mobile access to Dynamics CRM data.
The Mobile Express Client provided by Microsoft for Dynamics CRM allowed licensed users to access their Dynamics CRM data on the move. To set up the Entities for Mobile Express use – the Mobile Express forms would have to be customized (separately to the main forms) and you where generally limited to what you could achieve on them:
Read Only/Create/Edit records
Few buttons (Create/Edit/Delete/Save) with no ribbon
All Views where shown (but just the first two columns of each View)
No JS/Web resources on forms
Cannot execute On Demand Workflows or Dialogues
No Offline availability
Poor Lookup functionality
No Dedicated App – just a different page would be displayed on the devices browser (m.orgname.crm.dynamics.com)
Dedicated Apps for Phones/Tablet
Microsoft finally announced dedicated Mobile Apps with the release of Microsoft Dynamics CRM 2013. There were separate apps for the following device types:
If you had Dynamics CRM online or an IFD configuration – then you could use the Apps.
The Apps provided a more streamlined way for Users to view, edit and create new data in Dynamics CRM. They could look at the Sales Dashboard and interact with the Business Process Flows on the Case/Opportunity and Custom entities.
The early version of the MOCA framework appears here and the development principle was coined:
Design once and deploy across clients.
The introduction of the Tablet/Phone Forms was separated out from the layout of the Web Client Forms by re-rendering Form components for a Mobile device based on a set layout.
New functionality was added to the Mobile App:
Business Process Flows could be progressed
Views could be shown (with more than two columns
Charts could be displayed
Lookups could search for records
There were how ever some limitations imposed (some of which still exist today)
Form Controls where limited to 5 tabs (or 75 fields and 10 lists). This limit includes hidden fields.
Activity Feeds (Social Pane) and Yammer were not supported
No true Offline Capability (just cached data)
The layout for the Tablet app was defined and separated from the updated Form layouts in the web client.
Today – Dynamics 365
The Dynamics 365 Apps (Phone and Tablet) have been enhanced with CRM 2015 and CRM 2016 and now offer Offline capabilities with Mobile Offline Synchronization Profiles – but this needs to be enabled by a system administrator! Otherwise – you have Offline drafts.
With the new Apps – you can now use Dynamics 365 exclusively from these Apps as they are feature rich, and in some case provide enhanced functionality over the web client (like Task Flows and Mobile only Controls (i.e. Scan Barcodes or Form Controls)
There is great integration with the other Office 365 Apps – for example:
You generate a Word (or Excel) Document Template from within the D365 App for Phone
Open it in the App version of Word (or Excel)
Make changes to it, Save it to SharePoint
Send it as an Attachment in Outlook (App)
Track the Email with the App for Outlook and related it back to the record you generated it from
Over the past 5-6 years, Microsoft has slowly improved the Mobile App into a very productive tool which could ultimately be used by a set of Users instead of the Web Client.
Dynamics 365 – Spring Release, the new Mobile Experience
With the Spring Release – the Unified Interface was announced with the true aim of providing a common platform to deploy a single set of customisations across multiple devices at the same time.
A major part of the Unified Interface is the inclusion of the Dynamics 365 Mobile Apps for Phone and Tablets.
It has been built with Accessibility in mind from the ground up – meaning multiple devices can access the same interface. Also – with the Phone App, you will now be able to swipe Right-to-Left which was commonly highlighted!
Microsoft has target productivity features to make the experience on the device more delightful.
Dashboards have received an overhaul on mobile devices,
You now have pinch to zoom charts
Charts and Views are combined into a section with new additional chart types
Interactive Dashboards (from Interactive Service Hub) will now be available
The Activity Timeline replaces the Social Pane (from the Web Client) in the Unified Interface – and this will be available on the Mobile Apps also.
Business Process/Task Flows
Business Process Flows have been improved drastically (I will be writing a blog on the improvements in time – execute MS Flows?!) and the look and feel on the Unified Interface has changed with a linear stage view.
Optimized Navigation and search
One of the main draw backs of the Dynamics 365 App for Phone/Tablet was the way the Navigation was not consistent with the Sitemap defined in the Web Client. Now the Modular Apps you can create in Dynamics 365 are now available in the Unified Interface and Mobile Apps with FULL Sitemap now available.
You also have the Quick Navigation bar and access to favorites and recent items like in the Web Client. This should hopefully save you some time navigating through Views to find your last opened Opportunity or Case!
Tabs are now stacked side by side (Tabbed navigation) – hooray for swipe Right to Left support (RTL)! Quick View Forms and Card Forms are now available.
There is also a Birds eye view (known as Semantic View) allowing you visually see the Tabs and Sections; this allows you to jump to the Tab or Section easier without having to Tab/Scroll though.
Relevance Search is enabled in the Unified Interface and extensive filtering (i.e. Visual Filters) are available also.
Accessing the devices hardware like the Camera and Microphone are already present – but with the new capabilities in the Activity Timeline (you can create Notes and Attachments) – you can now capture location information at the point of capture!
Enhancements to Mobile Offline
This deserves its own blog – as the Azure layer will take some explaining; there is now added support for Create/Update and Deletes to your Dynamics 365 data!
Extension to existing functionality
Whilst there are many new areas of functionality – the Product Team have done an excellent job at enhancing the existing functionality:
Document Interaction and suggestions (boost up with Azure ML)
Office 365 Integration (i.e. with the other device apps)
Efficient Metadata Synchronisation for better performance
Upgrades to Apps/Customisations
Microsoft have added the ability to allow you create your own Custom Controls (rich visualizations). More to come on this as it will be a separate preview and I cannot speculate anymore on this!
The Unified Interface will certainly change the way the Dynamics 365 App for Phones and Tablets will be used moving forward – perhaps we can soon start to think about the scenario where the Web Client is redundant for everything except customisation! I will be writing about the Mobile Offline capabilities next – but this will have to wait until next week as I am having a short break away with my family this weekend!