Using Form Rules and Variables in Resco Mobile CRM

Sometimes just being able to interact with your Dynamics data in the field isn’t enough, there are times when we need to be smarter to get the most out of the user experience. For those occasions there are Form Rules…

Everyone who’s anyone using a mobility solution for Dynamics CRM seems to be turning to Resco Mobile CRM as their weapon of choice. It is easy to see why, especially if you require a ‘configuration over development’ focused solution. One of the key factors with using Resco is the requirement to configure additional mobile forms for your entities outside of the Dynamics application.

In the Dynamics UI it is possible to use business rules out of the box to determine dynamic field behaviour such as;

  • Hide/show fields
  • Set the requirement level of a field
  • Set the value of a field

Business Rules are a great alternative to using JavaScript, however the behaviours defined by a business rule are not mirrored in the Resco application, especially when the record has not yet been saved. Resco does however offer an alternative, Form Rules.

There is a full “Rules Guide” available for download via the Resco website which provides a short tutorial and a table of the Function Types that can be called in a rule; click here

Why Use Form Rules?

Form Rules (or Mobile Workflows) in Resco Mobile CRM allow for the standardisation of form and field behaviours, validation and the use of variables based on user input. The best part is that there is no need for programming (just like business rules in Dynamics CRM).

The feature was first implemented in 2012, so is quite mature and offers additional capability to the customisation of Resco Mobile CRM for your users.

When Do I Use Form Rules?

The answer is; whenever you need to modify or validate your forms or fields based on user input in the Resco Mobile CRM app. The rules can be triggered On Load, On Save and On Change as per the Form/Field Events in Dynamics CRM.

How Do I Use Form Rules?

Simple, once you have an established Mobile Project then you can open one of your entity forms and the Rule Editor is launched on click of either the On Lead, On Change or On Save buttons in the ribbon menu.

  • On Load – means the rule is executed when the Edit Form is opened
  • On Change – means the rule is executed on opening of the Edit Form and also every time a value of one of the form fields changes
  • On Save – means the rule is executed when the Save button is selected

Each rule can have conditions, function steps and variables which together provide the logic required to execute the validation or behaviour change you require.

RescoRules01.PNG

Rules have assigned variables which uses a property to define the scope for the rule to be executed, such as; Entity, Form, Tabs (Views) etc. I have included an example of a simple rule below to illustrate how each component is used, in the example we will throw an error message when there is no data recorded for “Email”.

PLEASE NOTE: This example uses a rule triggered On Change, similar rules can be triggered On Load, but as I want the user to add a value and then the behaviour of the form to change, this is the better option.

  1. So, to get started – open the Woodford tool and open your project, if needed; see my previous posts on setting up a new project in Woodford here. Then navigate to the account edit form.
  2. In the Account edit form click “On Change” to add a rule.

Conditions:

     3. Click “Add Condition” in the rules editor ribbon menu.

A condition allows for us to include “If” statements in order to execute the rule, for example; “IF Entity.IsNew Equals True” – this condition would mean the rule function only applies to new records. Likewise we can create a condition that looks for a field value such as “Email”; ‘If Entity.emailaddress1 Does Not Contain Data”.+

+Addendum 25/4/17 – If you want to limit when the rule is triggered to the load of the form and where the change field is updated you can add a condition at the beginning of your rule; if ChangedItem Equals <fieldname> – this will have a performance benefit as per the comments from Lukas below. So in this example; if ChangedItem Equals emailaddress1. (Thanks Lukas!)

Conditional strings are added using the pop-out Condition Editor.

RescoRules02

After we have defined a condition, we can also add a conditional branch or “Otherwise” statement in the rules editor. You not need to have a condition if the rule will apply to all records in all circumstances.

Functional Steps:

     4. Click “Add Step” in the rule editor ribbon menu

Each functional step allows us to add a variable which requires us to select a “property”, then an “attribute” and a “function”. We can only add a function when the variable has been set.

An example of this could be; “Form.emailaddress1.ErrorMessage” – where Form is the property, emailaddress1 is the attribute and ErrorMessage is the function.

We would then set the action, such as; “Assign” or “Clear” or “Add Suffix” to the function. In this case I am going to use assign – and add a string to display as an error message. So, my complete function is; Form.emailaddress1.ErrorMessage Assign “Email Address is Required” (as per the screen shot below).

RescoRules03

There is currently no way of setting a the requirement level of a field outside of CRM, so the above example is useful when you want to have the users add data via Resco that isn’t always ‘required’ in CRM.

PLEASE NOTE: If you want to modify a value of a field on your form you will need to use the “Entity” property in you rule. “Form” properties can be used for hide/show, disable/enable or set an error message for the field selected.

     6. To round off the rule I have added a conditional branch as per the image below

RescoRules04

The Result:

Once you have validated your rule using the “Syntax Check” option in the toolbar, save and close the rule and then publish the changes to your project. Then load and sync your device app, the result should be similar to that in the image below. Note that the “Email” field is red, this means the form with expect a value for nay new record added via Resco, if a user attempts to save the record the Resco app throws our error message.

RescoRules05

 

 

Using Variables

One very useful part of the Form Rule toolkit is the ability to add variables. You can define a variable that is added to the “property selector” in the current rule. This is particularly useful when looking to use more complex conditions or data from a related entity in your rule definition.

Once created, we can call variables in our rule when we are adding conditions and steps.

In this example I will create a variable used on the Email form (edit form) in Resco to pull in the Primary Contact (primarycontactid) value from the regarding account into the description for my greeting. I will use the Concat function to create a text string in the email body;

Step 1 – Open the Email edit form in Woodford and click the “On Change” button in the ribbon

Step 2 – Select “Add Variable” in the rules editor ribbon menu, then define your variable; in this case the property is “Entity”

Step 3 – give your variable a name, here I have used; “RelatedAccount”

Step 4 – In the next option set, select; “Load Reference” (as we are looking to find data on an associated record) and then choose “account” form the list of associated entities and then click “Ok”. The variable is ready to use.

PLEASE NOTE: The related entities in this list also need to be sync’d with Resco for selection.

Step 5 – Select “Add a Condition” then; select your variable from the list and the field, in this case “primarycontactid” then select “Contains Data”

Step 6 – Add a new Step; Entity.description Concat (this gives two arguments)

Step 7 – Add the salutation to the first text area (in this example “Dear”), then in the second click the side button to “choose variable” and then; RelatedAccount.primarycontactid

The resulting variable and rule steps should look like this;

RescoRules06

Step 8 – Save and Close then Publish your changes to your project.

The Result:

Synchronise the Resco app on your device and then navigate to accounts and open a record with a primary contact associated. Open the create email dialog in the activities list, the concatenated values from our rule will be added to the email body.

The same principle applies to adding name strings or text in other fields, Concat3 allows you to use another value or variable when creating a string. You can also use; Add Suffix and Add Prefix to add to an existing text string.

PLEASE NOTE: It is also possible to create Shared Variables in Woodford, the example provided is using rule specific variables. For more complex calculations or logic you may need to look at the JavaScript bridge for Resco.

This is a brief intro to the art of the possible with Resco Form Rules, but this post just scratches the surface. If you don’t have access to Resco and Woodford you can download a full trial from Resco.net

Thanks to Jo for the prompt on this post – hope it is useful to some of you and happy mobile CRM’ing! 🙂

 

 

 

 

Dynamics 365 Portals: A brief introduction to a brave new world

With the advent of Dynamics 365 and the acquisition of ADX Portals, Microsoft have introduced Dynamics Portals to the already bulging feature set, but what can you currently achieve using the release version?

Firstly, a very Happy New Year to you. As we enter the new year the world of Dynamics 365 has begun to open up new opportunities and also a whole stack of new questions for clients and partners alike as to what the new capabilities can bring to the table, one of which is Dynamics 365 Portals.

Dynamics 365 Portals allows external users access to CRM/Dynamics 365 content via a contact record and allows specific content to be accessed based on their web role(s). The solution enables the CRM Administrator to use CMS style functionality from with the Dynamics application.

In the course of investigating the suitability of the solution for a proposed client delivery I have collated some information on a number of key areas, which I have detailed below;

Supported Deployments

Dynamics 365 Portals should be available for organisations with subscriptions to Dynamics 365 (Fall Wave) and MS Dynamics CRM 2016 Online Update 1 (Spring Wave).

Dynamics 365 Portals is not compatible with MS Dynamics CRM 2013 or 2015 (on premise or online) or Microsoft Dynamics CRM 2016 (on premise and online).

Though it should be possible to add Dynamics 365 Portals as a subscription for MS Dynamics CRM 2016 Online Update 1, you may have a little difficulty – i.e. the solution is not displayed as a preferred solution, especially when working with a licensing provider/enterprise licensing. If so contact your CSP or MS Support.

For more information on preferred solutions see; https://technet.microsoft.com/library/dn878909.aspx

Dynamics 365 comes with 1 portal and you can purchase more portals as an when needed.

What Can I Achieve Using a Trial?

If you have not upgraded to the latest release (Dynamics 365) and still want to check out the Dynamics 365 Portal solution then you can add the preferred solution to a D365 Trial with access to the full product suite. I added this to a non-customised version so I was able to work with configuration items easily.

By default your portal is made available against the “microsoftcrmportals.com” domain.

Authentication for Dynamics 365 Portals

D365 Portals provides authentication built on the ASP.Net Identity API. Users will require a username and password to sign-in and it is possible to have two-factor authentication using email or SMS. Non-D365 users are associated with a Contact and it is possible to send an invitation to contacts previously created in the system to allow them to register.

dyn365portals_access

Tiered Access for Customer Users

Not all users are created equal, and nor should they be. As part of the security access configuration for Dynamics 365 Portals you can set up different web roles. These web roles are applied to a Contact (the primary record for your portal user) and can allow them to perform specific actions or access restricted content. Default web roles can be created. You can get more details on web roles in the link; https://community.adxstudio.com/products/adxstudio-portals/documentation/configuration-guide/content-authorization/web-roles/

A Rose by Any Other Name; Differences in Features

It is important to remember that as things stand Dynamics 365 Portals is not ADXstudio Portals, though they are built on a similar framework there are differences in the features and deployment methods.

This means we cannot assume that because a feature was supported using ADX v7 that it will be supported by Dynamics 365 Portals (v8.x). Adoxio Business Solutions (which continues to function after the Microsoft purchase of ADXstudio) published a feature comparison table here; https://www.adoxio.com/crm-portals-and-crm-portals-feature-comparison/

Some of the notable omissions from Dynamics 365 Portals are; Issues from the “Communities” feature set, Conference/Events management from the “Marketing” features and E-commerce – when compared to ADX v7. Which leads me on to the next point…

SharePoint Integration

The comparison table provided by Adoxio includes the item “SharePoint Integration” under integrations, and then supplements this with “leverage SharePoint’s secure document management”.

After unsuccessfully attempting to get this up an running in a trial version of Dynamics 365 and using this walk-through; https://community.dynamics.com/crm/b/microsoftdynamicscrmsolutions/archive/2016/08/17/crm-portal-and-sharepoint-integration

I encountered this alert when accessing my portal page;

dyn365portals_sperror

So, I put the question to a Senior Partner Consultant over at Microsoft and the response I received was that the product team confirmed that the SharePoint integration does not work with CRM Portals (v8.x).

They did mention that it’s in the roadmap for a future release, but there is no confirmed release date yet. It is tentatively expected in the Spring Release in 2017, but not firmed up at this point in time.

So it would appear that for now there is no SharePoint capability, if this is important, especially for external parties such as customers or partners then you may be able to implement a custom web component to handle the display of documents in the portal.

However, for your specific deal requirements involve just uploading files, Dynamics 365 Portals also supports Azure storage, which can be a better alternate solution to SharePoint for file storage (upload etc.).

Templates

There is no need to start your portal adventure with a blank canvas, you can leverage some of the ready made templates to act as the basic structure for your portal – including pages and page templates, for instance the Customer Service Portal.

They key benefits of starting with the Customer Service Portal are that by default you can access the following features;

  • Portal Dependencies
  • Portal Base
  • Portal Workflows
  • Web Notifications
  • Microsoft Identity
  • Identity Workflows
  • Web Forms
  • Feedback
  • Blogs
  • Forums
  • Forums Workflows
  • Portal Timeline
  • Customer Service
  • Knowledge Management
  • Microsoft Get Record ID Workflow Helper
  • Bing Maps Helper

After that you can configure the additional elements you need, or disable items as you see fit by creating supplemental web roles, pages and web files. Access to elements such as “Contact Us” and “Submit a Case” are already provided.

Migrating a Portal Instance

It is possible to migrate the configuration made in sandbox instance to production instance using Configuration Migration Utility which comes with Dynamics 365 SDK.

Custom Domains

As mentioned earlier Dynamics 365 Portals can be hosted in the MS domain, however it is also possible to use a custom Domain Name for your portal, for example; “myaccount.company.com”. To do so you will need enter the domain and provide an SSL certificate for the HOSTNAME in the settings/admin area for the portal solution which is accessed via Applications associated with your D365 instance in Office 365.

On Brand; Customise the “Look and Feel”

Your D365 Portal can be tailored to meet your branding requirements using CSS/Bootstrap added as a web file.

It is pretty impressive what can be achieved with the first iteration of Dynamics 365 Portals, users of the existing ADX product may decide to wait for a future release to migrate. It is also unclear at this point how easy it will be to move to D365 Portals for existing ADX customers – if you have any information to share please enter a comment and let me know. It appears to me that these are the first steps into a brave new world. and I will keenly await the announcements for the coming releases and to see how the functionality is dove-tailed by Power Apps.

There is an intro to the configuration of D365 Portals here. Give it a read and spin up a trial, it is well worth a play.

Happy CRM’ing.

 

 

 

 

 

 

Voice of the Customer for Dynamics CRM Online: Getting Started

Those of you who have been working with Microsoft Dynamics CRM Online in Office 365 will have noticed the ability to install “solutions” form the CRM Online Administration Center. One of which is “Voice of the Customer”, whereby you can add some pretty darn useful Survey functionality to CRM:

What is “Voice of the Customer”? For those of you that haven’t already played with this functionality, VOTC is additional functionality for instances using the MS Dynamics CRM 2016 Update to enable users to create and send surveys to gain feedback from your customers/clients on your products and/or services. The feedback can be used in your sales process or in relation to a case (how well did you do?). Previously you may have needed to implement one of the main ISV solutions such as Survey Monkey or ClickDimensions to do this, but with a few simple configuration steps you can enable the functionality directly inside CRM.

Voice of the Customer can be enabled as one of the new preferred solutions in Office 365 (along with Fantasy Sales Team and Company News Timeline). The official overview of the functionality is below.

“When a customer completes a survey, you can use rules to trigger follow-up actions that occur immediately. For example, if a customer answers a survey question that indicates an interest in one of your products, the system can generate a quote request and assign it to a salesperson. Or, if a customer replies with a complaint, the system can create a new service case and route it to the right queue for prompt handling. You can also send a survey automatically when a service case closes, to track how satisfied your customer is with the service they received.”

Enable Voice of the Customer

It is simple enough to enable VOTC for Dynamics CRM Online from the Administration Center in O365, just follow these steps;

  1. Log in to Office 365 as and administrator and select the Admin tile
  2. From the Admin Center home page expand “Admin Centers” in the left hand navigation pane and then select; CRM
  3. Once the CRM Admin’ Center has loaded select the instance you want to enable VOTC against in the instance picker and click on “Solutions”
  4. From the list of “preferred solutions” select “Voice of the Customer” and then click the “Install” button on the right – the solution will be installed, this may take a few minutes to completePlease Note: You may need to agree to the terms of service in a pop-out, you can do so by clicking “Install” again in this window and the installation will start.
  5. Once completed you will be able to see the additional entities created as part of the solution in the “Settings” area of CRM as well as an additional tile in the navigation bar.
  6. The next thing you will need to do is open the newly installed solution in CRM; Settings > Solutions > VoiceOfTheCustomer.
  7. Once you have opened the solution check the “I agree to the terms and conditions” check box, and then click the enable button.
  8. Close the solution.

    Votc_Entities_Capture.PNG

Once you have installed the solution you are ready to roll.

By enabling VOTC you can create and publish a Survey from within MS Dynamics CRM, when you publish the survey definition is sent to Azure and stored there (Azure Storage). When a respondent submits a survey, the responses are stored temporarily in Azure Service Bus and are then retrieved and stored in MS Dynamics CRM. Upon storing the responses in CRM, they are deleted from Azure.

It is possible to include CRM data such as customer name, product name, case number, etc. in a survey (within survey elements such as questions, answers, etc.) when rendering a survey for a respondent. When a survey invitation link is generated, this CRM data would be sent out of CRM and stored in Azure SQL Database in exchange for an identifier that is used within the survey invitation link.

This identifier is used to show the CRM data within the survey after the survey is opened using the survey invitation link. The identifiers within the survey link that is sent over email to a respondent is stored in the respondents’ email system.

For more information see the Microsoft Azure Trust Centre; https://azure.microsoft.com/en-us/support/trust-center/.

Create a New Survey

VOTC has a user friendly ‘drag and drop’ interface inside of the Dynamics CRM web UI that makes creating a new survey easy.

To do so navigate to; Voice of the Customer > Surveys > then click “New“.

You will presented with a new record screen. Complete the required fields and click save.

survey_capture

You can add your own themes, logo, redirect text, redirect URL, survey completed text, next text, previous text and whole host of other items.

Upon adding the solution you may see a Default Survey Template in the Surveys area.

When you are ready, navigate up to the form selector and click the drop down arrow, here you can select the designer.

Survey_designer_select.PNG

Survey Designer

The next step is to design your survey, and the drag and drop designer makes this easy for end users. By default the user will be presented with three “pages” for the survey;

  • Welcome
  • Page 1
  • Complete

The user can add pages using the rather discrete “Add” button to the bottom left of the window. The elements available for survey configuration are listed on the right, simply drag and element to the page to add.

survey_designer_select

The different elements available out of the box include;

  • Short AnswerA question with one line input
  • Long AnswerA question with multi-line input
  • RatingRating input using; stars, smiles or flags
  • Single ResponseAllows respondents to select a single answer
  • Multiple ResponsesAllows respondents to multi-select answers
  • DateWell, it allows respondents to select a date for their answer
  • Numerical ResponseA question that only allows a numerical response
  • RankingAllows the respondent to rank their answers in preference order
  • Net Promoter ScoreA customer satisfaction metric
  • Customer Effective Score – A customer satisfaction rating on a 5 point scale

The next thing to do is add your survey elements;

  1. Add your welcome text to the pre-created element at the top of the page by clicking on the text box marked “Put your welcome text here”

    Survey_Designer01.PNG

  2. When you have entered your text click the “save” icon. If you need to edit what you have entered you can do so by clicking either the “inline edit” or “edit” icon on the right hand side

    Survey_Designer02.PNG

  3. You can choose another page by selecting the page thumbnail in the left hand navigation pane, you can edit the section header by clicking on it and drag questions to configure from the right.

    Survey_Designer03.PNG

  4. You can drag elements from the right and change the question text, tooltip, requirement level, layout and scoring;

    Survey_Designer04.PNG

  5. You can drag more questions onto the page in the same way as you would fields on the CRM form editor, just drag them to the position you wish them to appear;

    survey_designer05

  6. Update the text on the “Complete” page if required and click “Save” and then click “Publish” in the ribbon – once successful a banner notification will appear with; “Published to server.”
  7. You can then “Preview” a published survey, you can choose “Survey” in the form selector to return to the survey record, the notes and fields should have been updated similar to those in the screen shot below;

    survey_designer06

  8. You can use the “Copy Snippet” function to add a survey link to a CRM Email or Email Template – this could be sent automatically when a case is closed/resolved. Alternatively the string can be found in the Email Snippet field with an Anonymous Link under “Invitations and Actions” in the Survey record.

    Survey_Designer07.PNG

Hopefully this brief intro has been useful, there is far more to the survey functionality including conditions and analytics dashboards to alerts for responses. Have a play around in a sandbox and you’ll soon see the value.

Check out the Dynamics Community for more information.

Enjoy! 🙂

 

 

 

 

 

 

 

 

Resco Mobile CRM with CRM o365 – Action Required

If you use or have clients that use Resco MobileCRM for Dynamics CRM Office 365 (CRM Online) then you may have received and email informing you of a critical issue due to a change in authentication;

The email from Resco consists of the following;

Critical issue: Resco Mobile CRM is unable to connect and synchronize with Microsoft Dynamics CRM Online (Office 365) organization. The On Premise installations of Microsoft Dynamics CRM are NOT affected.

Cause: Microsoft changed the authentication mechanism that causes a critical issue. The bug in the authentication policy parser was uncovered by the removal of a deprecated authentication policy.

Affected versions: All Microsoft Dynamics CRM Online organizations. All Resco Mobile CRM apps version 9.1.3 and older.

Dates: The change will be deployed by Microsoft automatically, starting on October 14th.

Fix: Update your Resco Mobile CRM app to version 9.1.4 by downloading the latest version from the app stores. No additional action is required at this time.

If you have any questions, feel free to contact us at mobilecrm@resco.net

The steps to take are easy, you can get the latest version of Woodford using the “Update” button in the Silverlight application or navigate to; https://www.resco.net/mobilecrm/woodford.html and grab the related managed solution (at the time of writing 9.2.0).

I applied the changes in test first, ensuring that test users update the local mobile app and test prior to Production updates, and found the following steps below apply to ensure a smooth transition.

Navigation Steps;

  1. Open the current version of Resco in CRMwoodfordlaunch
  2. When the Silverlight app’ loads select your project(s) and click “Export” and then “Yes” to the dialog messagewoodfordhome
  3. Close the Woodford Application and navigate to the Solutions area of CRM
  4. Click to Import a solution and select the previously downloaded Woodford updatewoodfordimport.png
  5. Click to “Maintain” customisations and import the solution
  6. Check for alerts/errors then click “OK”.Please Note; at this point is may be a good idea to refresh your browser/clear the browser cache so you see the updated version of Resco Woodford in CRM.woodfordsitemap
  7. Launch the Woodford tool again (metadata will reload), check your build version has been updated
  8. Attempt to open the Mobile Project, if the project loads check for errors using the “validate” button, if all is well – click “Publish”Please Note; if the project should fail to load, click “Import” then select the backup of the Mobile Project taken earlier and “Ok”. Once the project has been imported, check for errors using the “validate” button, if all is well – click “Publish”.woodfordproject.png
  9. The final step is to get your Resco Mobile CRM users to download the latest compatible app version from their app store.

If you have any problems that cannot be addressed using these steps in test contact the helpful Resco support team.

Happy CRM’ing!

 

Get Data: Error Connecting PowerBI to the CRM Online OData Service

PowerBI in Office 365 can be a really useful tool, however many users may have come up against an issue with using the MS Dynamics CRM Online OData Service to “Get Data”.

You can easily register to use Power BI for your Office 365 tenant and download PowerBI Desktop, however it doesn’t appear to be as easy to use the “Get Data” function or register CRM as a data source using the OData Service for CRM Online.

If you a looking for a walkthrough on the set up of PowerBI, then this blog post from Steve Ivie is a useful place to start; https://www.packtpub.com/books/content/getting-dynamics-crm-2015-data-power-bi

The Problem

If like me you attempt to connect to CRM using the OData Service URL found in CRM Online then you might have used the following steps;

  1. Download and Open Power BI, from the pop-up menu select Get Data
  2. Select Dynamics CRM Online for the list and then click Connect
    GetData
  3. You are then prompted for the OData Service URL in the following dialog
  4. Now you would expect to enter the URL for the OData Service from CRM Online right? The format should be something like this; https://<your org>.crm5.dynamics.com/XRMServices/2011/OrganizationData.svcPlease Note: the URL ‘crm5’ section will vary depending on your datacentre. To find the OData Service URL navigate to; Settings > Customizations > Developer Resources in CRM.
  5. Once you have entered the URL click OK, the organisations available data sets should begin to load
    Odataentered
  6. In the Navigator menu select a data set or data sets from the CRM list and then click Load, (in the example AccountSet and ContactSet have been selected)
    powerbinavigator
  7. This is where the frustration starts! The load process is triggered and I receive the following message; OLE DB or ODBC error: [DataSource NotFound] OData Request failed (404) Not Found.At this point you cannot apply any changes and you have not data to work with. Close the message box.
    powerbierror

The Work Around*

Now, I researched the problem and couldn’t find a resolution for CRM 2015 Online, however if you have Microsoft Dynamics CRM 2016 Online your PowerBi dreams are but a URL away for fulfillment – *note I didn’t call this a “solution”, I will take answers on a postcard (or comment) from anyone who managed to get the OData Service working.

  1. In CRM Online 2016 navigate to; Settings > Customizations > Developer Resources
  2. Grab the Instance Web API from the field;
    crmapis.jpg
  3. Repeat steps 1-3 from the previous section
  4. Instead of the OData URL, enter the Instance Web API from CRM Online and click OK
  5. Once you have connected to CRM select the entity tables you want to work with in the Navigator menu and click Load
    powerbiload
  6. The data sets should now load and the glorious world of CRM with PowerBI is yours to explore at last!

Hopefully this will save some people from trawling support threads, if there is a better way or a way you have managed to use the OData Service for CRM Online 2015 or 2016 please get in touch!

Happy CRM’ing for now. 🙂

 

Add Custom Controls in CRM Online

System Administrators can add Custom Controls in MS Dynamics CRM Online with Update 1 for 2016. There a 15 new controls available to use for the CRM Phone and Tablet App.

In my previous post I talked briefly about the ability to add Custom Controls for use with the MS Dynamics CRM Phone and Tablet app’. In this post I will quickly show you how to locate and use these controls.

Before we get started, if you are working in solutions, you may want to create a new one, if so navigate to; Settings > Solutions > and click “New” to add a solution in CRM. Then add the Lead entity as used in this example (or the entity you wish to work with).

Please Note: With CRM 2016 you will need to select the assets to include in your solution, you can choose to “include all assets” if you wish to.

To add a custom control for an option set in the Lead form, please use the following navigation steps;

  1. Navigate to the lead entity in your solution (see above).
  2. Open the main “Lead” form, or alternatively navigate to the field list associated to the entity.
  3. Double-click the field or list you want to add the controls to; in this example we have used the “Preferred” field (preferredcontactmethodcode).

    Leadform1

  4. Click the Controls tab, then Add Control.

    leadfiedlproperties.jpg

  5. Select the control you want to use, (in this example – option set) and then click Add.

    leadoscontrols.jpg

    Please Note: Different controls are available depending on the field or list type. For example, slider controls might only be available for numerical or money fields.

  6. Select the devices you want the control to appear on (i.e. phone, tablet or both), then click “OK”. Alternatively you can choose to “Cancel” the configuration changes.

    leadaddcontrols.jpg

    Please Note: Controls are not available for the phone header at this time. There may be additional steps to configure values based on the type of control.

  7. Save the form and click Publish.
  8. You should now be able to check your changes in the CRM Mobile App.  Sign in to the app on your device , there should be a notification when you connect to your organisation, (like the one below). Then click Download.

    synccontrols

Navigate to a lead record and you should see the field displayed using the new custom control selected as per the example from the mobile app’ below.

leadcontrolsmob

Dynamics CRM Online – things to consider before moving to the cloud

More and more organisations are considering a move to the ‘cloud’ for their IT systems, including Dynamics CRM. But what things do you need to look out for?

Anyone who works for a Microsoft Partner will likely know that most engagements for Dynamics CRM commence with the ideology of “leading with the cloud”, and there are many reasons why a move to the cloud can be advantageous to an organisation. But not everything is unicorns and rainbows, so what should you look out for when making the decision on switching from On Premise or Partner Hosted CRM deployments to CRM Online? In this post I will attempt to use my personal experiences to date to provide some insight along with the facts.

The Compelling Reason

In order to lead with a ‘cloud first’ approach organisations will likely need a ‘compelling reason’ to consider a deployment online, this is especially important when this involves a migration away from CRM deployed on premise. In most cases this can be directly translated into a cost saving – will it cost less to have CRM and other associated applications available in the cloud vs. managing on premise or with via a hosting partner? But the cost analysis is not the only consideration – so your Microsoft Partner should encourage due-diligence prior to making a decision.

Cost to Manage and Licensing

It is here that Microsoft Dynamics CRM Online can come into it’s own, due to the scale of Microsoft’s infrastructure they can operate at a much lower cost a benefit that can be passed on to the customer. Organisations can reduce their overall cost to manage and maintain multiple CRM servers, the savings can be augmented by the use of Exchange, Office and SharePoint through Office 365. If servers and software/applications are aging and a refresh is required this can be an opportunity to consider the cost and effort required against a move to the cloud.

One of the other areas that could prove attractive is the flexibility of licensing compared to purchasing through Software Assurance – licenses can be purchases and then cancelled (given the set notice period) when no longer required.

Another excellent selling point for Office 365 in this area is the price of an Enterprise E3 subscription with CRM Online (check out the details of the E3 Plan here: https://products.office.com/en-us/business/office-365-enterprise-e3-business-software), with a direct comparison to a Professional CRM license the slight increase in cost makes them an attractive proposition.

The E3 plan is more suited to larger organisations but the cost can reduce further based on discounts for certain sectors such as; charities and educational establishments, so investigate through your licensing supplier. There are also promos running in some regions that include Unified Service Desk and Parature – check the Microsoft website.

Please Note: The prices below were accurate at the time of writing but are subject to change.

Item Description Cost (NZD) Cost (GBP)
Dynamics CRM Online Professional + O365 Enterprise E3 Plan Per User/Month, includes O365 E3, PowerBI and SharePoint 84.17 42.79
Dynamics CRM Online Professional Per User/Month CRM Online 79.60 40.50

Managing Multiple Instances

Any solid CRM deployment is based on multiple instances – Production, Testing and Development environments are at the very least best practice, so how does that work with CRM Online? Well the answer is quite simple; one non-production instance is included when you purchase 25 or more licenses (USLs) that are Professional or above. The instance is added to O365 as a subscription and is managed as such, additional instances can be purchased as subscriptions too, there is no ‘double up’ on licensing, users who have active CRM licenses can be given access to any of your instances.

Upgrades can be applied to your CRM instances in a staggered schedule using the management console in the O365 portal. Usually these are initially scheduled at increments before Production is updated and the updates can be deferred or rescheduled.

You can copy instances (Production to Non-production) in the O365 portal too, the steps to do so can be found on TechNet here: https://technet.microsoft.com/en-us/library/dn659832.aspx

Backups are a key area to consider when moving to O365, managing servers and databases on premise means the organisation are the masters of their own destiny, with CRM Online this changes. With CRM Online you have no access to SQL server or the database other than through the application layer, backup copies can be requested through Microsoft Support as can the restoration of a backup here; www.microsoft.com/…/contact-technical-support.aspx.

What about Data Sovereignty? Where is my data?

Depending on the region you select your organisations data will be held in the nearest Microsoft Data Centre, this can be important when considering data sovereignty – different sectors have different rules as to where data can be stored as do different countries (it is best to check this for each organisation). You can check out the various locations here; Online Legal Bits, there is also a brief FAQ section here that can be useful. It is important to note that for the UK, the nearest data centre at the time of writing is Dublin (Eire) which could pose issues for some potential customers. For CRM Online customers in New Zealand and Australia the nearest location was Singapore, but this has been improved by the use of the newer sites in New South Wales and Victoria, though this would still be an issue for those organisations needing to store data within New Zealand for example.

Microsoft Dynamics CRM Online uses service logs, rather than direct access to customer data, for purposes of providing, maintaining, and troubleshooting the online services. Service logs record errors and performance issues, and may contain limited customer data such as email addresses, subject lines of emails, file names, and site URLs to identify the source of the error or performance issue being recorded. Service logs do not contain customer-authored data such as customer documents, email message bodies or attachments, website content, or IM/voice conversations. Service logs that contain customer data are stored in the datacentres identified

Failover/Disaster recovery is managed between sites.

Database Size -Storage Limits

The default size is 5GB (not huge), after that you may have to purchase additional storage space, depending upon the number of user licenses purchased there is addtional storage given for each user licensed in O365, which is approx. 2.5GB per user.

There was a maximum size limit of 50GB however, I believe this no longer applies. The storage is also shared across instances, you can keep up with the current storage use in the CRM Application (under Settings > Administration > Resource Use). So, if moving from on Premise to the cloud, it is time to cut some of the deadwood!

*Update* – It is also a good idea to consider if Auditing is applied to entities and fields in CRM. A high volume of audit records stored in CRM Online can directly affect performance and storage availability.

Archiving or deletion of Audit Logs should be considered and factored into CRM maintenance to ensure the volume of records does not adversely affect CRM Online. – RedCRM July 2016.

Reporting In CRM Online

Without effective reporting on your CRM data to gain insight it can be argued that there is no real point at all investing in a CRM Application. Being able to retrieve and display data for the Sales Pipeline, KPIs and ROI can be vital to the success of the implementation. Organisations who are currently using CRM on premise may have complex reporting through SSRS (SQL Server Reporting Services) which can use the MSCRM database as a data source, schedule snapshots, set up subscriptions and use the reports .RDL file to surface the report in CRM through the Reporting Wizard.

Out of the box in CRM Online this is not possible to set up SSRS reporting, you can use the CRM Wizard Reporting tool as well as Advanced Find (as you can on premise), but you cannot currently schedule snapshots nor do you have access to a dedicated Reports Serve to create SSRS reports. Though this can be achieved using Fetch XML and/or SQL replication, (check out this post on Code Project).

If this is not a desirable workaround, it may well be worth considering Power BI. Power BI for Office 365 cloud service works together with Microsoft Office Excel and Microsoft Dynamics CRM to extend the reporting capability of CRM Online. (Power BI now supports data refresh with Microsoft Dynamics CRM Online.) And as per the earlier section on licensing Power BI can be purchased as part of the E3 plan for O365.

There are also some handy Analytics Templates for CRM Online and Power BI available via Pinpoint;

Sales Analytics Templates; https://pinpoint.microsoft.com/en-GB/Applications/12884985960
Service Analytics Templates; https://pinpoint.microsoft.com/en-GB/Applications/12884985963

It is important to establish the level and complexity of reporting prior to recommending a move to the cloud and what that might mean as an impact for delivery or the CRM project. What about data warehousing or big data? – you may ask, well that actually leads me on to the next topic.

Data Integration with CRM Online

Recently I have been engaged with clients that are considering CRM Online with data integrated from others sources, such as AX, GP and/or Data Warehouses. My tip – do not underestimate the importance of this step, it is a huge ask for CRM Online to replicate larger organisations current data integration compared to CRM on premise.

Some of you may or may not know that typically the number of parallel connections allowed to CRM Online is 2, though this can be expanded using manipulation of XML to 4 this could potentially be throttled back to 2  so is not exactly stable. I recommend calculating the volumes of data being transferred and testing performance using a proof of concept and the use of batches, ExecuteMultiple and BDD (balanced data distributor) to enhance integration performance. Using ISV solutions such as KingswaySoft may allow for smoother integration.

Some colleagues of mine tested the indicative transfer rates based on tests conducted against a vanilla instance of MSCRM Online hosted in the Australian datacentre. Tests include both singular requests and the execute-multiple approach, simultaneous execute-multiple connections were also tested:

Data Transfer

CRM Online Vs. On Premise

There are other areas to consider, and to reduce the risk of turning this post into a novel, there is a quick reference table below:

CRMOnlinevOnPrem

In Closing

A move into the cloud doesn’t have to be terrifying, but it does need careful consideration and may be more suitable to some organisations than others. Make sure the requirements are well defined and that wherever possible performance and scalability is tested fully prior to making a commitment. A trial instance usually lasts for 30 days, but can be extended through Microsoft Support.

So – do your homework, assess and cleanse your CRM data, stress test your integrations, compare your costs and happy CRM’ing. 🙂