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

ClickDimensions error after importing customisations

If you work with ClickDimensions with Microsoft Dynamics CRM you may or may not have discovered that there is an issue caused by exporting a solution for use in another instance.

ClickDimensions is a wonderful tool that is still one of the best ways to extend the Marketing Module in Dynamics CRM. If you haven’t already investigated the product offering take a look here; http://clickdimensions.com/

ClickDimensions is delivered as a managed solution in CRM, with a unique key given to the specific organisation it is purchased for, this key is saved to the CRM sitemap when it is installed. If you haven’t edited the sitemap for your CRM instance then this itself isn’t an issue. But what if you have?

Typically customisation of the sitemap isn’t  uncommon, i.e. when you need to create additional navigation areas outside of Sales, Service, Marketing etc. and when this has taken place in a sandbox, you would simply add the sitemap to a solution in the “Client Extensions” area and export it for use in a test or production system.

In this scenario, if you had for instance a sandbox with s licensed version of ClickDimensions, then it would include the account key embedded in the sitemap and it would be imported into the target CRM instance with the rest of the customisations. The resulting error when trying to navigate to your ClickDimensions settings would be something like this;

crmerror

If you get this error and don’t have a backup of the original sitemap with the correct key, then you can contact the excellent ClickDimensions support team by logging a case here; http://help.clickdimensions.com/ or if you have made a backup (as you should), you can import the old sitemap back into CRM.

For future updates you then need to make note of the correct account key in the sitemap – you can use a find/search in the customisations.xml file and look for; accountKey=.

Publishing the customisations will update the sitemap and you should be able to navigate to Settings> Extensions > ClickDimensions Settings as normal.

Once you have the unique ID for the organisation used ClickDimensions, you can then and this back in each time you need to export the sitemap from one instance to another by updating the tags in the customisation.xml file prior to import.

Happy CRM’ing.

 

 

Delving into the Benefits of Resco CRM Lesson 1: E-mail integration

How to configure email in Resco CRM – check out this handy walk-through from their blog…

resco.net

People are essential to the business. That’s the plain fact. They all play a particular role to boost up your company’s performance. Most likely, they are well organized, divided into groups, they share some data…

The same applies to all your resources. Note that resources and systems your company relies on, have a defined role just like your employees. And as much as your employees, it is necessary for them to communicate to bring greater and faster results.

E-mail integration is one of the most useful features every CRM system should have. And guess what, one of the things that make Resco CRM so dazzling is the way it blends with other smart tools.

View original post 1,135 more words

Dynamics CRM Activity Timeline via xRM Consultancy

Since the upgrade to Microsoft Dynamics CRM 2013 administrators have been able to use the conversations tab to allow users to view related activities, notes and posts against their associated records, essentially replacing the activity and history tabs from previous versions. The conversations tab displays a chronological list of the activities that are either open or completed using the current CRM look and feel, however scrolling through this list for records such as accounts with a high volume of activities to those that are yet to be completed is not very user friendly.

One solution is to use the Timeline for Microsoft Dynamics CRM from xRM Consultancy to provide a visual representation of the future and historical interactions related to the entity in your CRM instance. Recently I have found this a useful addition to clients’ CRM deployments.

The solution can be applied to CRM Online and On Premise deployments and is compatible with CRM 2015 as well as 2013 and 2011, the solution is free if you are looking to apply it to the following entities:

  • Account
  • Contact
  • Opportunity

The timeline is pre-configured to use the following default entities to display:

  • Appointment
  • Email
  • Fax
  • Letter
  • Case
  • Phone Call
  • Task
  • Service Task
  • Opportunity
  • Campaign Response

As part of the free version you can manage which of these entities are displayed too, I will cover that later on.

For the walkthrough we will use the free version, you can purchase the full version to enable against custom entities from their website, (pricing at the time of writing is “Less than 50 active users” = 995.00 GBP/ $1935.65 NZ or “More than 50 active users” = 1995.00 GBP/ $3881.03 NZ).

Step 1 – Download & Import the Solution

You can download the managed solution from the xRM Consultancy website, or by using the following link: http://www.xrmconsultancy.com/what-we-do/microsoft-dynamics-crm-timeline/

xrm_download

You will be required to enter your name and email address and select the version of CRM you want the solution to be compatible with (in this examples CRM 203/2015) and then click “Send”. You will then see an alert asking you to click on the newly presented link. Click the link and the download will begin.

Once the download has completed navigate to your CRM instance and import the solution via; Settings > Solutions > Import. And follow the usual steps to complete.

Please Note: As this is a managed solution once you have imported into CRM removing the solution will remove all installed components, however you will still want to use a non-production instance first to assess the suitability of the customisations for your deployment.

Step 2 – Timeline Configuration

Once you have imported the solution you’ll need to open it in CRM and accept the terms& conditions of use as per below. You will then see a link to “Open Timeline Configuration”, click the link to launch the pop-up window.

xrm_config1

In the Timeline Configuration window you will see the “Timeline Entities” displayed in a sub-grid, here you can remove entities that you do not want to display in the timeline, (if you have entities in this list that are not in use or viewable to users you may encounter errors so it is best to check). Additionally you can open one of the associated entities to view/amend the settings and the query used (amendments are via the paid version only).

xrm_entity

Step 3 – Entity Configuration

Next you will need to add the timeline to your entity, for this you can use a new or existing unmanaged solution. Open the entities form (in this example I am using Account) and insert a new tab or section.

Then in the form editor go to; Insert > Web Resource > search for and select “xrmc_Timeline.html” > Add a Name > Add a Label > Ok, this will add the HTML component from the managed solution. You can then alter the amount of space you require for the timeline using the formatting options.

xrm_webres

If you have added the timeline to a new tab, you may want to collapse the tab as default depending on the amount of processing required for your form OnLoad. Then save and publish your changes.

Step 4 – Assign Custom Security Roles

In order for users to view or work with the timeline you will need to assign them one of the custom roles imported as part of the managed solution. “Timeline Writer” allows users to add the timelines to forms and change the configuration (version permitting), the other role “Timeline Reader” will enable them to view the HTML component we have just added to the Account record.

xrm_roles

Navigate to the “Administration” or “Security” area of CRM, depending on your version and assign the security role to your users and/or teams as required.

Once you have completed your set up navigate to see your changes. You can click on activities in the timeline to view the details or scroll up and down the timeline with your mouse/finger.

xrm_account

This can be a great addition to your configuration and add to the overall user experience in CRM. Enjoy!

Gamification in CRM

Lately one of the areas I am hearing more about and getting asked more questions around has been “Gamification” in CRM, something that is especially useful to Sales and Service driven organisations (such as contact centres for example).

What is gamification you might ask? Well in short is the a term given to the use of game mechanics or ‘thinking’ in a non-game context to engage users of staff in problem solving or to help increase contribution. The idea is that you can align user output with a particular set of goals and rules in a structured way, whilst motivating the user or users to get involved.

Gamification has been widely applied in marketing too for example over 70% of Forbes Global 2000 companies surveyed in 2013 said they planned to use gamification for the purposes of marketing and/or customer retention.

Techniques:

Gamification techniques strive to leverage people’s natural desires for socialising, learning, mastery, competition, achievement, status, self-expression or closure. Early gamification strategies used rewards for players who accomplish desired tasks or completion to engage players. The same principles can be applied to a corporate CRM instances as that of a leisure activity such as running/jogging – see Zombies, Run! https://www.zombiesrungame.com/

Examples of the application of this concept can be found in the typical contact centre environment by using targeted KPIs (key performance indicators) such as inbound calls taken (volume), average call waiting, average call time etc. and applying gameful experience to achieving those targets, supplemented by elements such as leader boards and/or incentives.

For an insight into engaging people by introducing fun, check out this video on YouTube by Mario Herger: http://youtu.be/v2PIsksNLPk

Dynamics CRM:

In Dynamics CRM gamification could be promoted using Sales and Service Dashboards to render “Top 5 Performers” etc. but there is greater scope with an organisations CRM dataset to widen the parameters of what can be achieved and the user experience involved by using additional ISV solutions such as; “Hurrah!” and “Motivation Engine” by CRM Gamified: http://crmgamified.com/motivation-engine/

You can use gamification to drive areas such as:

  • Improved case resolution times
  • Improved sales performance
  • Increase system user adoption
  • Improve the standards of data captured in CRM
  • Activity tracking

A simple, practical example could be to use gamification in CRM to drive an improvement in the quality of data captured by the customer service team around customer contact details, such as email addresses – this could then directly benefit your marketing team as they have an increases pool of accurate email address to send marketing emails to.

It’s a concept that is well worth considering from an employee and customer perspective, if you are heading to Convergence 2015 in Atlanta, you can find CRM gamified at exhibitor booth 169.

Gamified1

CRMGamified – Motivation Engine