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! 🙂

 

 

 

 

Advertisements

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! 🙂

 

 

 

 

 

 

 

 

Dynamics 365 – A view from the Summit

On Wednesday the 12th October the UG Summit ’16 keynote delivered an overview of what is in store when Dynamics 365 is unleashed on the world, and there could be some exciting times ahead.

The Amalie Arena in Tampa Florida played host to the keynote for the 2016 Dynamics UG Summit and delivered, for want of a better word, a dynamic message on what is in store for the future of CRM by Scott Guthrie, with key demos by; Ryan Cunningham, Marko Perisic, Param Kahlon and a very energetic (and funny) demo from Amir Netz.

I was lucky enough to be among those present for what was a sharply delivered keynote interwoven with demos that attempted to highlight the combined power of Dynamics 365, including but exclusive to;

  • Mobile and cross-platform working
  • Power Apps
  • NAV & AX integrations
  • Document view & generation
  • Customer Intelligence
  • Portal Builder

Key Messages

From the information delivered, working in Dynamics ‘silos’ may become a thing of the past where cloud solutions are concerned. The importance of using Dynamics 365 to span the customer interactions and order processing work streams is clear, with much of the demo time featuring a narrative that crossed these platforms.

The flow of the keynote was structured to deliver the message that Dynamics 365 will be;

Purpose-built: with applications that fit roles, industries and businesses – so organizations can start with and pay only for what they need and grow at their pace to run their entire business in the cloud.

Productive: enabling greater productivity where people need it by seamlessly integrating with familiar tools like Outlook and Excel, surfacing them in the context of their business processes, roles and jobs.

Intelligent: delivering built-in Intelligence with business processes that infuses big data, advanced analytics and “internet of things” to proactively guide employees and customers to optimal outcomes.

Adaptable: enabling organizations to transform at the speed of business. Business leaders can change and evolve their processes in real-time using a modern consistent, and extensible platform – so they are not being held back by legacy technology.

summit16_01

New Features

In addition to the key note and demos the preview airlift content is available on Microsoft Connect. Some of the key features that were woven into the demos and from the material made available in the airlift that have stood out for me were changes to; Business Processes and Automation, Editable Sub-Grids and updated Email and Portal functionality.

Business Process & Automation

  • Concurrent Processes
  • Security & Programming
  • Drag an Drop Visual Designer
  • New Out of the Box actions
  • Charting and Reporting

As well as additional SDK support via the ODATA API, it is interesting to see the current list of functions that have been made available, such as; Add Case to Queue, Add User yo Record Team (useful), Apply Routing Rule and Get Sales Order Products from Opportunity (finally!!).

processui_capture

Editable Grids

  • Home Grid
  • Sub-Grid
  • Nested Grids (On Mobile/Tablet app)
  • Support for JS Events

As it stands editable grid features include support for most data types. Though there are exceptions, including; state, customer type, composites, partlists and lookyp entity related fields.

The ability to sort by or group by any column in the view would also be a welcome one. The support of JavaScript events for home grids and sub-grids OnRecordSelect, OnChange and OnSave will also be very interesting. This is a feature much sought after, and sometimes teased at in previous releases.

Email Engagement

A much lamented part of Dynamics CRM functionality for a long time now, which finally seems to have been given a much needed face lift!

There are welcome additions such as; interactions (opened, link clicks, attachment viewed), reminders, delayed send and template analytics. As well as the ability to use relationship insights and email templates in response to items in Outlook using CRM templates.

email_analytics.png

Portals

From Amir’s demo, the use of portals and configuration of portals for Dynamics 365 was perhaps when of the most powerful potential additions. Since the procurement of ADX Studio I have been keen to see the direction taken for a more integrated portal offering with CRM. The next version of portals – or PRM – is centred around increased collaboration, 3rd party service integrations, knowledge management and search enhancements. With a very exciting looking portal builder UI and the use of Excel style expressions instead of code such as ASP.Net.

Relationship Analytics

Dynamics 365 will have configurable functionality (such as KPIs and health indicators) that can enable your organisation to get a better understanding of the relationship between you and your customer or client.

The functionality should enable the capture of signal data from Dynamics and Exchange to determine the health of the relationship, risks and next actions. The idea is to determine where the effort is being spent and where it SHOULD be spent against your customer/client base to cultivate the opportunities available. Identify your top contacts and work across devices and applications to get the best outcome.

rel_analytics_capture

I am very interested in the use of apps and cross-device working. With demos paying particular attention to using a mobile device (phone or tablet), Outlook and the Dynamics web UI.

Not to mention the use of Financials (NAV light?) and Operations (AX Online) as an integrated extension of the Dynamics application. A similar look and feel for both Operations and Financials allude to a ‘seamless’ user transition between common CRM sales functionality and Order fulfilment.

An interesting note from the speech delivered by Scott Guthrie was the use of the term; “xRM” – remember that? Those of you who have been around CRM long enough will remember xRM was all the rage but then the landscape and the messaging from Microsoft in particular changed. Well it is back, and I would expect to be hearing it again. It appears it will be focused around making Dynamics 365 ‘yours’, whatever you are doing.

Some Questions

As with any glimpse of new functionality or a change in direction, the information conveyed at the UG Summit did leave some pertinent questions, such as;

“How will I transition my CRM Online organisation to Dynamics 365 as an existing customer?” and “Is a migration required or is Dynamics 365 going to be supported on the same online infrastructure with processes and additional links to Azure?” and of course; “How much of this will be available On Premise for the initial release and when?”

Other questions would likely include; “How easy is it to configure integration between sales, financials and operations in Dynamics 365 and are custom entities supported?”

Unfortunately at the time of writing those are answers that I don’t have, however if you have registered for access to the Dynamics 365 Beta, there are downloads available for On Premise versions of Dynamics CRM from Connect (https://connect.microsoft.com) as well as the airlift content.

One thing I am convinced of is that I and few others will have a decent amount of upskilling to do, and as always the future looks to be exciting.

Happy CRM’ing.

 

 

 

Using Queues in Microsoft Dynamics CRM

Queues can be instrumental in helping to organise, prioritise, and monitor the progress of your work, such as Cases while you are using Microsoft Dynamics CRM.

If used properly they can act as a centralised location for users to manage case progress, respond to service calls or work with prospects in your sales pipeline. There is often times when the feature is overlooked or misunderstood, however as the functionality was updated around the use of queues in MS Dynamics CRM 2013 SP1 and 2015 there is a lot more to do with queues and it is not as difficult as you may think.

Recently I published a blog post on the use of Routing Rules in CRM 2015 and CRM Online and during the process referenced the Queue entity. So I thought I would expand a little. At a high level what you may or may not know is that queues;

  • Can be used with any custom entity
  • Can be made “Public” or “Private” (with Private queues making the queue items only available to members)
  • Private queues are auto-created for new users or teams when they are created
  • Queues can actually contain multiple entity types, (e.g. tasks, emails, cases)
  • Users can work on Queue Items to prevent task duplication
  • Queues can be workflow enabled
  • Queues cam ne enabled for auditing

Public or Private? In CRM there is an attribute called “QueueViewType” which is used to define if a queue is public or private. Private uses have individual members (users) which are used to allow/remove access to the queue. You can add a team to a private queue and this will add all the team members as members of the private queue. Some other things to remember about queues are that;

  • All user queues are private, so only the user will be able to see queue items in this queue
  • Team queues are marked as private by default, the team owner and all its members have access to the queue
  • All other queues are considered public, anyone with ‘read’ access to queues can see them

For information on CRM queues in previous versions check this MSDN article; https://msdn.microsoft.com/en-us/library/gg328459(v=crm.5).aspx

Creating a Public Queue:

Creating queues are simple enough in CRM, as mentioned above each user account has it’s own private queue created automatically. The ability to create a queue will be based on the users security role, out of the box the following roles can create a queue;

  • Customer Service Manager
  • System Customizer
  • System Administrator

If you have an applicable role with create permissions then you are good to go – if you are not sure you can check your role by using the steps in this Customer Centre article; http://www.microsoft.com/en-us/dynamics/crm-customer-center/view-your-user-profile.aspx

Next go to; Settings > Service Management/Business Management* > Queues, then choose New. You will then need to complete the required fields in the Queue form, out of the box these fields will be;

  • Name
  • Type (Public or Private)
  • Owner (Lookup to System User)
  • Convert Incoming Email To Activities

The “Incoming Email” field is for exactly that purpose, here you can enter the email address that receives all messages for this queue, for example; ‘info@myorganisation.com’.

In the “Convert Incoming Email to Activities” field you will need to make sure you choose the appropriate action, by default this will likely be populated with “All email messages“, this will not be suitable for everyone. Depending on the purpose of the queue you may want to only covert emails that are “Email messages in response to a CRM email” or only emails from Leads, Accounts and Contacts.

The locked field referring to “Mailbox” will be automatically populated with a new mailbox record when you have created the Queue, once this has occurred you can update the mailbox details using the link.

Finally, click Save.

*Service Management will be visible in the Settings area of CRM based on the version you are using.

Queue_Create

Queue Items:

Queue items are displayed in the associated sub-grid within the Queue form. If you are using Cases for your solution then all cases that are either; (a) routed to this queue (using routing rules) or (b) manually assigned cases will be displayed.

It is worth noting that a queue item is automatically deactivated if the associated record is updated from Active to Inactive, which applies as you’d expect to all queue enabled entity records that have Active or Inactive states in CRM.

Create an Automatic Case Creation Rule;

Automatically creating cases from incoming email can be awesome for reducing the amount of manually created cases in CRM and increasing the actual contact time of a support desk and your agents for both internal and external channels. Case creation rules use conditions similar to those found in Advanced Find to automatically convert emails into support cases.

Please Note; This functionality applies to MS Dynamics CRM Online that were either updated to CRM 2013 SP1 (or Spring ’14 release as it is known) or the CRM 2015 product update. If your deployment is On Premise you will also need to have updated to CRM 2013 Sp1 or CRM 2015.

Step 1 – Create a New Record

To create a new Case Creation Rule in CRM 2015 click the “Email to Case Settings” button in the ribbon from your Queue (as created in the above steps). The create window will pop a new Case Creation Rule form, complete the required fields, which include;

  • Name
  • Source Type (Email)
  • Queue (Lookup to your Queue)
  • Owner

Now, you can only associate one rule per source type, so in this example once we have selected the “Source Type” as “Email” in a rule for this queue, we cannot have another active rule associated unless it is used for Social Monitoring. Also, make sure your queue has an email address as per the previous section.

Case_Creation_Rule1

Step 2 – Specify Conditions

Next you will need to go to the “Specify Conditions for Case Creation area in the next section of the form and choose your condition or conditions (as you can add multiple). These include;

  • Create cases for email from unknown senders+
  • Create case if a valid entitlement exists
  • Create cases for activities associated with a resolved case
  • Create case when the case associated with the activity is resolved since

Create Cases for email from unknown senders – if you select this option all emails from unknown senders (i.e. a sender that cannot be associated with an email in a CRM record) are converted to a case, be default this will also create a contact record. However this does work in conjunction with the personal options for “Automatically Create Records” set by the user that owns the rule.

+If this option is not selected cases will only be created automatically for email senders that are attributed to an Account or Contact in CRM, (those email addresses associated to other records will not create a case).

Create case if a valid entitlement exists – if you select this option then the rule will do exactly that, to read more on entitlements see; https://msdn.microsoft.com/en-us/library/dn689025.aspx. If the sender of the email is a contact that has a parent account with a valid entitlement and the contact is associated using the sub-grid on the entitlement, then a case is created, this is also true if the entitlement sub-grid is empty as the entitlement can be applied to all contacts for that account.

Create cases for activities associated with a resolved case – a case will be created if the email is related to a resolved case if it references an active case then no case is created. If you select this option then the option for Create case when the case associated with the activity is resolved since appears which allows you to select/define a duration. This will mean that a new case will be created only if it is resolved earlier than the specified duration. If it is later then it is associated with the existing resolved case.

When you are done click “Save”.

Step 3 – Specify Case Details

Now we need to add conditions for the creation rule, for those users familiar with Advanced Find it is as easy as that. We also need to add the case properties for the records we are going to work with once created, such as the priority etc.

In this step you can define how to treat cases based on their customer category or the contact type, a good tip is to be sure that you use the correct reference in the conditions, for example, for Contacts it is; “Sender (Contact)”, for Accounts the reference is; “Senders Account(Account)”. You add conditions by clicking the “+” icon near for “Condition”.

Case_condtitions

Once you are done click “Save” and if you are happy click “Activate”.

Please Note; Once a case is created the incoming email is removed for your Queue. If there are no routing rules to apply to the newly created case to a user or Queue then the case owner will be set to the user that owns the case creation rule.

Hope this helps, if you need to dig deeper check out the CRM Customer Centre, or for technical information such as case creation from a web service see MSDN. Happy CRM’ing!