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

 

 

 

 

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!

 

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

Working with Resco Mobile CRM: Part 3 – Designing Forms

Previously I have written about installing the Woodford App’ for Resco Mobile CRM and setting up a new “Mobile Project” – which you can find here: http://wp.me/p3wxxT-1a. In this part I will attempt to walk through some of the basic design functions that can be used to configure the content accessed by users.

Three of the main areas you will likely consider for configuration in Woodford are:

  • Fields
  • Views
  • Forms
  • The Home Screen

Creating Forms: In my last post we identified entities and fields from our CRM instance and added them to a Mobile Project, once you have done so you can either configure a form or create a new one. As in CRM the forms you create will be used to add and edit records when they access the application, you can also view related records and show additional tabs such as; I-Frames, Maps and other special media, (in Woodford these could provide functionality like photo or signature capture, particularly useful for users working in the field).

There are 2 types of forms: Contact Information Forms and Edit Forms. Contact Information Forms allow you to display fields and associated records. An Edit Form is where you can enter and edit data. In my recent work with Woodford I removed the existing Contact Information Forms for out of the box entities as they weren’t required, but this will largely depend on your requirements. If you don’t want to use these forms you can select the form an click “Delete”.

To create a new form navigate to; Settings > Woodford > Mobile CRM Woodford in your CRM instance, once the Silverlight application launches open your mobile project and scroll down to Entities > Select your Entity > Expand the Entity > Click Forms, (in this example I will be using Contacts) > navigate to the toolbar > Click New. You will then need to give the form a Name and a Type, here you can choose “Contact Information Form” or “Edit Form” – depending on the functionality you want to deliver.

new_form

Once the “Designer” form has loaded, (for new forms this will be blank) you can navigate to “Add Fields” from the toolbar, upon clicking the button you will see a drop down list of the fields you enabled previously. Once you have clicked to select your first field the “field explorer” list will be populated with all other available fields which can be added to the form by double-clicking the field name. You can drag and drop fields around the form for placement as well as from the “field explorer” list on the right of the screen.

Note: You can remove fields by either dragging them away from the form, or clicking “delete” in the toolbar. You can also edit the form properties on the left of the designer area once a field is selected.

new_contact_form1

In the form designer there are some key functions that you may want to re-use in addition to “Add Fields”: Add Detail – adds a ‘Tab’ as in CRM, Add List – adds an associated entity view. Add Spacer – useful to enter a break between fields as in CRM itself.

To Add a List you can either select a Detail or a List element in the designer, available lists are then visible in the “field explorer”, or by selecting from the toolbar. You can add lists that use related and unrelated entities, lists can display associated Activities, Notes, Opportunities etc. in your form.

When you have added your fields, detail tabs and lists don’t forget to hit “save”, or “save and close”. Once you have closed the form you can click “Publish” in the toolbar, you can also choose to “Validate” your mobile project – this will check for any errors in your configuration.

Note: You can also check for errors in the “About” sections of the Woodford app’ and the client version on the user’s device or laptop.

For more detailed information you can download the Woodford Guide from www.resco.net

new_contact_form

new_contact_form To Whenlick on ̍Newˈ.

Type: select ̍Public ViewˈChoose a template (shows the number of fields on the view, you can add more fields later on when designing the vie

Working with Resco Mobile CRM: Part 2 – Mobile Projects

In part one of this post I wrote about the installation of Resco Mobile CRM for MS Dynamics CRM for a client using the latest version of the Woodford solution (at the time of writing 7.4). For details on that post you can use the following link: http://wp.me/p3wxxT-13

Step 1 – Launch MobileCRM Woodford: Once you have installed Woodford as per the previous steps you will need to create a new “Mobile Project”. To launch the console app’ navigate to; Settings > MobileCRM > Woodford in your CRM instance, the Silverlight app’ may launch automatically depending on your browser – if not click the “MobileCRM Woodford” icon in the CRM UX.

CRM_app_launch1

Within the app window you will see a number of different options in the left hand navigation pane by default, from here you can manage different app’ settings and features (as per Fig. 2 below), these include:

  • Mobile Projects (this is where we create and manage of projects)
  • Security (displays the devices currently accessing Woodford and the attached user IDs)
  • Mobile Users (add, enable, disable users access)
  • Localisations (languages)
  • Geocoding (used for translating addresses to GPS data)
  • Plugins
  • Maintenance
  • Settings
  • Profile
  • Logs
  • About (find the build number and download updates)

To explore the administration in more detail you can download the Woodford Guide here: http://www.resco.net/MobileCRM/customizations.aspx

nav_pane1

Fig. 2

Step 2 – Create a Mobile Project: To start configuring Woodford, in the administration menu select; Mobile Projects > New, in the “Add Mobile Project” dialog as in the previous post you will need to select the “Type” of project you are going to be working with, you can choose between the following:

  • Standard User
  • External (Portal) User
  • Anonymous External User

Note: we will be using “Standard User” as we will authenticate our users using their CRM credentials and security roles.

Once you have chosen a “Type” give your project a name so it can be identified from others that you may create, in this example I have used “MobileCRM Project”, you will then need to set the “Priority” used for the project, the higher the number set the higher the priority (as I understand the documentation), so ‘1’ would supersede ‘0’ etc. and finally choose the roles that will be able to access the content for the project once published. You can select one or multiple roles and you may have different projects created for different role sets so that different content is displayed, such as a Sales project and a Service project. Click “OK” so you can start to edit the project.

Note: the roles you can select should reflect those you have in CRM, including custom roles.

new_project

Now when you open the main menu for Woodford you can select the “Activate” or “Deactivate” commands or choose “Edit” to work with the project.

Step 3 – Working with CRM Entities: Once you have created and opened your Mobile Project you can begin to configure the entities from you MS Dynamics CRM instance that you will use as part of the project. You should now have a list of all available entities from your Dynamics CRM server in the left hand navigation area.

The type of entities you will want to service through the app’ will vary depending on your organisation, for example if the project has a sales focus then you typically will be looking to add; Leads, Opportunities, Accounts, Contacts and Competitors, for those with a focus on customer service you may want to work with Accounts, Contacts, Cases etc.

Note: It is worth mentioning that unless you have purchased the licensed version of Resco MobileCRM you will not be able include custom entities in your mobile project, the free version only allows configuration using out of the box entities and fields.

To select an entity to add to the project you will need to navigate to; Entities > Select Your Entity > Click Enable (in the toolbar). Once you have done this don’t forget to click “Save” to save the change. The entity will now be visible as a bold item rather than with a ‘fade’ in the left hand navigation pane, the example below is for the Lead entity. Now that we have added the entity to the project we have the option to expand it, and should be able to see the five items that will roll down: Forms, Views, Charts, Fields and Indexes.

new_entity

As well as the entities display name, schema and description from CRM, there are a number of parameters visible for the entity:

Mode
If set to Online only, the data for the entity will only be available in the app’s Online Mode. If set to Online & Offline – the data of course will be available for both modes

Conflict Strategy – this is for cases when there the server and the mobile app want to modify data at the same time. Either you can set it to that the Server always wins this conflict or Device wins or it let’s the user decide (User Action).

Permissions – you can set the Read, Write, Create and Delete permission for the whole entity.

Advanced Properties – when the Include Lookup Labels is checked, the app will no longer show related data to that entity as “Unknown” in the offline mode. This often happened with Owner ID’s of records as the data with User names is stored in the User entity (by default the Owner entity is not enabled in Woodford).

Step 4 – Adding Fields: Once you have enabled your entity you can start to add fields that you want to add to your forms in Woodford, this interface is very easy to use, you can navigate through the fields associated with your entity and simply use the check box to add fields. Once you select and highlight a field you will be able to view the field “properties” on the right hand side of the app’ window.

field_properties

Some of the properties displayed are ‘read only’ in this area, the field properties available include:

  • Permissions
  • Requirement Level
  • Formatting (depending on field type)
  • Constraints (depending on field type)
  • Lookup Targets
  • Description

You can amend the formatting of certain fields from your chosen entity, the formatting is changed for the fields display in Woodford only, the types of formatting include:

Single line – field is formatted to have the appearance of a single line field in the mobile app

Multiline – field will have the appearance of a multiline field

Email the field in the mobile app will have an action button that after activating will give the user an opportunity to immediately create an email

Phone number the field will have an action button that will activate the phone call function on the device (the device will dial the number contained in the field)

URL an action button to open the URL in the native browser of the device will be available

Barcode action button activates a camera so user can scan Barcodes and QR codes. Function will only work on devices that have a camera with Autofocus.

HTML will format the text field into a HTML type (bodies of email, signatures and etc.).

Once you are done make sure to save your changes. When you are ready you can also click “Publish” to roll-out your changes, this however will largely depend on you having updated your forms, which I will try and walk through next time.

Until then, happy CRM’ing!

Working with Resco Mobile CRM: Part 1 – Installation

Recently I have been asked to implement Resco Mobile CRM for MS Dynamics CRM for a client. For those of you that haven’t worked with Resco, the advantage as I see it is that you can offer a tailored CRM solution across multiple devices using either out of the box or custom configuration for users with offline capability.

You can get a full overview of the features provided by Resco MobileCRM, take a look at their website http://www.resco.net/mobilecrm/app.aspx.

Resco is ridiculously easy to install and configure for most CRM’ers without the need for additional training, though it has to be said the downloadable PDF material can walk you through most configuration tasks step by step. In order to utilise MobileCRM you need to download the Woodford application solution from the website, the solution is free for organisations that wish to use Woodford for out of the box entities without the use of custom fields, if you do like my client want to use custom configuration then you will need the licensed version purchased fro Resco (for more information see the website or speak to your Microsoft Dynamics Partner).

Woodford is an application that enables you to create customizations of the app, manage licenses and mobile devices. The solution is imported into your CRM organisation and is compatible with both Online and On Premise deployments, (providing they are IFD enabled).

Prerequisites:

  • Resco Mobile CRM Woodford
  • Resco Mobile CRM App, which minimum version is indicated on the right upper corner of Woodford’s window—available for each of the supported platforms on Resco web (http://www.resco.net/mobilecrm/app.aspx)
  • Compatible version of MS Dynamics CRM

Please Note: Minimum Resco Mobile CRM version required for customisation is indicated on the right upper corner of Woodford’s window.

Step 1 – Download or Install Woodford: You can find the Woodford solution from by using the following link: http://www.resco.net/mobilecrm/woodford.html, you will then need to choose to download or install the solution, (you will need to be a System Administrator in CRM in order to sync’ with the server later on).

Please Note; Woodford integration by importing the managed solution file is not available for Dynamics CRM 4.0. Imported solution or standalone Woodford application is available for CRM 2011 and CRM 2013.

Step 2 – Import the solution:

You will need to import the solution into your CRM organization, and you will be able to run Woodford directly from CRM Settings section. In some cases this option helps overcome some authentication problems that you may encounter running the desktop version of Woodford which is also available.

Navigate to your CRM server or CRM Online instance and then; Settings >Solutions select the Woodford solution and hit the Import button. Once the import has completed don’t forget to publish the solution. The solution will then be available in the MS Dynamics CRM application by navigating to; Settings > Mobile CRM.

CRM_settings

Step 3 – Create your Mobile Project:

Once you have the Woodford solution installed you will need to create a new “mobile project” bu using the navigation steps in the previous section, if Silverlight app’ doesn’t launch automatically, you can click the “MobileCRM Woodford” icon in the UI.  A mobile project contains all customizations of the Mobile CRM application. This is where you can add/remove/change fields, entities, views, forms, etc.

To create a new project once the app’ is open by selecting; Mobile Projects > New. For internal users select the project type as “Standard” and give it a “Name”, the “Priority” attribute is used when multiple projects are created, the higher the priority number is used first for synchronisation. Finally select the “Security Roles” which will use the project forms in the client app. Then click “Ok”.

There you go! Resco MobileCRM is installed and you are ready to configure your project.

CRM_app_launch1