Monday, December 6, 2010

Using Dialogs for More Than Just the Call Centre

A lot of the marketing about Dynamics CRM 2011 dialogs describes them as being like a call script and, while they can be used for this, they are a lot more powerful than simply a way to guide users through a call.

In this example I’ll show how we can use dialogs for an internal process such as timesheet capture.

So What Are Dialogs?

Dialogs can be thought of as a new kind of workflow. In this case, there is scope for user input. Another difference is that, while workflows are generally triggered off an event in the system e.g. the creation of a record, dialogs can only be run ‘On Demand’ from a record. Similarly, while a dialog can spawn a child dialog or a workflow, a workflow cannot spawn a dialog.

Creation of a Timesheet Record

In this case I’ve made the record reasonably simple:

image

We have the obligatory Name field, compulsory for all entities, we have an owner, in this case the administration account creating the record, the Consultant who is doing the work, the customer (an account in the system), the consulting hours, travel time, a description field and a processed tickbox to show when a timesheet has been invoiced.

The Dialog

image

The dialog is going to spawn from the user’s record and it is available as a child process. Making it available as a child process means I can call it again to enter multiple timesheets at once. Everything else you see, I’ll explain below.

Querying My Customers

The first thing I do is query the database. This is a new feature of dialogs, sadly unavailable in workflows. In this case I’ve created a many to many relationship between users and accounts so I can track who a given user’s accounts are.

image

The query then retrieves these accounts so we can assign the timesheet to the right account.

image

Here the query looks for accounts where the many to many relationship is with the current user. My initial design was to query based on the user record the dialog was spawned from. However, while you can add dynamic parameters (slugs) via the ‘Define fetch XML query text’ tab, for user queries you need to feed it the user name and GUID. I can get the user name from the user record, but I could not find the GUID and therefore settled with the current user.

Displaying the Dialog Page

Now we have our query we can display the results and ask the questions we need to fill out a timesheet.

In the case of the customer selection, we add a prompt and response, referencing our query.

image

This will provide a list of accounts, associated to the user with a radio button selection next to them. It will then be up to the user to select the right company. Rather than account, this could easily be opportunities or a custom project entity. The difference is in the CRM Query used in the previous section.

The next two prompt and response boxes simply ask for user input, in this case totals for the consulting hours and travel time. Here is an example of the first one.

image

The data type field will only accept Text, Integer or Float. You cannot enter a date, for example. This is unfortunate and hopefully will be adjusted when the full version is released.

Finally, we have a question as to whether there is another timesheet to enter.

image

Creating the Timesheet

Once we glean all of this information from the user, we can create our timesheet entry under the user record. This works just like it did in version 4 workflows.

image

Respawning

Our final step is a conditional which looks at the value given for the ‘Another Timesheet?’ question. If the answer was ‘Yes’, the dialog is called again so a new timesheet can be entered. If the response was ‘No’, the dialog simply ends. One thing that tripped me up here is that the default is to compare against the response Value and not the response Label. Therefore you need to be careful you are comparing ‘Yes’ to ‘Yes’/’No’ and not to ‘1’/‘0’.

The End Result

What results is a dialog that can be called from a user record and allows the user to enter timesheets quickly and efficiently.

image

image

Have fun!

Tuesday, November 30, 2010

What WikiLeaks Can Tell Us About the Cloud and IT Risk?

WikiLeaks has just posted 250,000 American diplomatic cables for all to read.

http://www.nytimes.com/2010/11/29/world/29cables.html?_r=1

Imagine trying to do this 20 years ago, you know, before the internet was mainstream? We’d get our 250,000 manila folders. We get our list of major media outlets and fax each page, one at a time and hope the receivers don’t run out of paper and that they have the time to review 250,000 missives. Let’s say each cable was one page long and the fax gobbled it up in 10 seconds. It would someone a month working non-stop to send the lot (or you could run 30 fax machines non-stop for a day)

The internet, and computers in general, have removed the barrier of transporting massive amounts of information and manipulating it. The internet truly is the information superhighway. Unfortunately, in the case of WikiLeaks, some of the goods being transported are contraband.

As an aside, I would link you directly to the 250,000 documents but the Australian government is apparently fining people who link to WikiLeaks

http://www.timeslive.co.za/scitech/article788606.ece/Australian-Government-adds-Wikileaks-to-banned-website-list

(Whirlpool, use a bit.ly link, then they can’t fine you)

The US Government Move to the Cloud?

Imagine if the US Government announced they are moving all of their embassies to BPOS, or as it will soon be known Office 365? (http://office365.microsoft.com/en-US/online-services.aspx) They have the benefit of online Exchange to manage email, online SharePoint for document management, Lync for IM and knowing if a diplomat is available in an instant in times of crisis. Later on they will also have access to Dynamics CRM, when that gets folded in (http://finance.yahoo.com/news/Microsoft-Announces-Office-prnews-2648833826.html?x=0), allowing their daily processes to be managed with ease.

All for a few dollars per month per user, fantastic. Not only that but all of the benefits of the cloud come to the fore. Geo-redundancy of data, guaranteed uptime, no infrastructure to manage, no servers to constantly patch etc.

So What’s Wrong With Cloud Services?

Would the move ‘to the cloud’ be embraced? Despite the potential upside, I doubt it. People would cry outrage over security issues. Geo-redundancy of data? Do we want valuable US data being pinged around the world potentially landing on the servers in a ‘rogue state’?

There is no doubt that whether an organisation goes to a public or private cloud there has to be a level of trust with the people administering the cloud. My thinking is the larger the company managing the cloud, the better.

As an analogy, a friend of mine works for a large Australian agricultural supply company. I was speaking to him about “farmer’s markets” and his thoughts. He was very clear on the subject: “I never buy from farmer’s markets, only major supermarket chains”. When I asked why he explained that farmer’s markets are populated with small operations. With the products my friend supplies there are often strict rules on when the products can be used. For example, in some cases, they cannot be used close to harvest time as this will introduce undesirable residues in the crop.

“I am always on the phone talking to the smaller suppliers explaining the rules, they never read the instructions on the bag” he explained. “At the farmer’s market you never know which farmers are following the rules. The major chains have it written in their contracts that their suppliers will follow the rules. Neither the supermarket chain nor the supplier can afford for a mistake to be made.” he concluded.

This logic is also started to be employed to fight issues such as deforestation and child labour.

http://www.ted.com/talks/jason_clay_how_big_brands_can_save_biodiversity.html

http://www.ted.com/talks/auret_van_heerden_making_global_labor_fair.html

While there are, without doubt, small operations running world-class cloud services, the larger organisations cannot afford a mistake. The reason we know? Because when mistakes are made, the effects are devastating.

http://www.eweek.com/c/a/Security/Salesforcecom-Employee-Hands-Customer-List-to-Phisher/

So What Does WikiLeaks Have to do With the Fear of the Cloud?

In the case of WikiLeaks and, to a lesser extent, the Salesforce gaffe of three years ago, the issue was not some inherent insecurity in the computer systems, whether they are on-premise or in the cloud, but the issue was one factor that is still the hardest to control: people.

Kevin Mitnick, arguably the world’s most famous hacker, considered social engineering (http://en.wikipedia.org/wiki/Social_engineering_(security)) to be his most effective tool. While you can convince people to willingly hand over their password to a stranger, the strength of your systems to resist ‘traditional’ hacking is irrelevant. Similarly if someone with legitimate access is going to hand over sensitive information to a third party, you can have all the security measures in the world and it won’t matter.

What the latest WikiLeaks episode shows us is that even one of the (presumably) most secure computer systems in the world, that of the US government, is susceptible to attack because the enemy is often within, not outside.

Conclusion

There is no doubt that organisations should do a risk assessment when outsourcing any process to a third party, including IT administration, as warned by APRA (http://www.itnews.com.au/News/238817,regulator-warns-australias-finance-industry-on-cloud-risks.aspx). However, the fear of data being compromised simply because it is being housed outside of the firewall is a nonsense. Security is a relative measure, not an absolute one, and an organisation really needs to look inward before pointing the finger outside. If an organisation is following good practices such as regular patching and have a well managed firewall then they are in a position to scrutinise cloud offerings. Even then, it is likely that what they will find is the cloud offering of a major organisation introduces no additional risk compared to their own internal systems.

Finally, the focus of an organisation, in regards to IT security risk, should be in training users to be smart about how they use the technology and be responsible with the data they hold. Whether it’s leaving a next-generation iPhone in a bar, leaving a laptop unsecured or having a weak password, IT departments need to realise their biggest risk is uninformed users, not the cloud.

Wednesday, November 17, 2010

A Cheap Way to Integrate Twitter and CRM

As you may know there is a Social Networking Accelerator for CRM which integrates Twitter and Dynamics CRM 4.0:

http://crmaccelerators.codeplex.com/releases/view/29979

However, since Twitter changed their authentication method to OAuth a few months ago, the accelerator has been broken. This is a shame because it is quite a powerful little beast.

Wanting to bring tweets into CRM, for various reasons, I’ve devised this workaround.

TwInbox

TwInbox is a great add-on to Outlook. When my Twitter rss feeds in Outlook died (because of the shift to OAuth) I needed to find an alternative way of getting my tweets into Outlook. While there are twitter clients out there, if it isn’t in my pst file, I don’t get a chance to read it. This is where TwInbox came in.

You can download TwInbox here:

http://www.techhit.com/TwInbox/twitter_plugin_outlook.html

Once installed, you can basically add as many Twitter accounts as you like to it and they will come into folders in a location you specify:

TwInbox_folder_layout

You can then use Outlook to manage them as you wish.

Leveraging Outlook

What would be ideal would be to use CRM Outlook tracking to bring the tweets into Dynamics CRM. Unfortunately the tweets are of a type ‘Post’ and tracking won’t work with Posts.

However, we can forward a Post, which turns it into an email. Armed with this knowledge, there are a few options:

  1. Forward the tweet to a queue in CRM for processing
  2. Forward the tweet to a dummy account/contact record so that it tracks into the history of that account/contact

Going down the second path, I set up an account in CRM called ‘Twitters’. I also gave it a bogus email address. Now when I forward the tweet, marking the resulting email as tracked, it appears in the history of the Account. I’ll get a bounce but I can manage this through outlook rules, for example.

image

From here, I can open the email and, using the convert buttons, turn this into a Lead, Case or Opportunity.

If you went down the first path, the email would end up in the queue where someone could accept it and also convert it into a Lead, Case or Opportunity.

Will this Work in the IE Client?

No, this trick relies on the power of Outlook add-ons to bridge the gap between Twitter and CRM. However, given the deeper hooks CRM has into Outlook in the next version, I can see Outlook add-ons becoming more and more powerful at providing functionality indirectly to Dynamics CRM.

Enjoy!

Saturday, November 6, 2010

Dynamics CRM Resources for the Rest Of Us

There is a lot of information out there for Dynamics CRM but it is sometimes hard to find good information aimed at users or non-technical administrators. I wrote an article of resources a little over a year ago (http://leontribe.blogspot.com/2009/08/handy-links-for-non-technical-crm.html) and thought it was time to give it a bit of an update.

Within Dynamics CRM

For this section, I’ll use screenshots from Dynamics CRM 2011 beta (http://www.crm2011beta.com ) but you can find the same resources in the same places in Dynamics CRM 4 (except for the first one which is only available in CRM 4 Online). One thing to consider with the resources within Dynamics is that they only refer to features found in CRM out-of-the-box. Other than the “Help on This Page” which is customisable, the rest will not refer to any configurations or customisations done to your instance of CRM.

Getting Started

image

The getting started area is available at the top of most list view screens in CRM. For a user starting out it gives lots of handy tips and tricks. If you are a little more experienced with CRM you can hide this with the little up-arrow at the bottom of the getting started pane.

“Help On This Page”

Every out-of-the-box page in CRM has a ‘Help on This Page’ feature. To access this look for the white question mark in a blue circle in the top right of the screen image

In CRM 4, once you click this you need to specifically select ‘Help on this Page’. In CRM 2011 it goes there by default.

image

As can be seen, this is a little more comprehensive than the Getting Started pane and worth a browse if you’re not sure about a feature or want to know what a field is for.

Resource Center (http://rc.crm.dynamics.com/rc/regcont/en_us/ophighlights.aspx )

One of the best and least utilised features of Dynamics CRM. I have taught ‘refresher training’ to classes of CRM veterans before and asked them the question “Where can you find the Resource Center?” and been overwhelmed with silence. I have even been accused of adding it just before the training session as users insist it was not there before. For those that still are unsure, the Resource Center can be found at the web address above, or by clicking the button, just below Settings, clearly marked “Resource Center”.

image

This is the “Google”, sorry I mean the “Bing”, of CRM resources. Open up the page and you are greeted with all sorts of online resources.

image

Type something into the search box and you’ll be given help sections, videos, forum discussions and all sorts of things.

The Forums

If you have questions which you cannot answer using the resources within CRM, my next port of call would be ‘The Forums’. These are online discussion areas full of people who use, make money implementing or design Dynamics CRM (yes, the teams at Microsoft involved with Dynamics CRM are active participants on the forums). This is as good as it gets in terms of free, professional support for Dynamics CRM.

The forums are also one of the measures used in determining whether a Microsoft MVP is actively engaged in the community so us MVPs have a vested interest to ensure we are active in the forums and providing good answers in a timely fashion (because if we don’t someone else will).

Activity in the forums is so good that if you are asking a non-technical user kind of question e.g. “How can I add an attachment to an email?” you are likely to get a response within hours, if not minutes, not days.

The CRM Forum (http://social.msdn.microsoft.com/Forums/en-US/crm/threads )

This is arguably the most popular and most active of the forums. There are actual three main forums (CRM, Deployment and Development) therefore CRM tends to get more user-type questions than the other two, although the rule is not hard and fast and you will sometimes get dev-type questions posted.

Dynamics ‘Ask the Community’ page (http://community.dynamics.com/product/crm/f/117.aspx )

This is not as active as the main forum but does still get some activity and worthy of a search if the main forum does not come through with the goods. There is talk of this being rolled into the main forum but nothing has happened as of yet.

CRM Online Forum (http://social.msdn.microsoft.com/Forums/en-US/crmonline/threads )

I did not mention this before as I am mentioning it here. The main CRM forum is for any question on Dynamics CRM regardless of deployment, the CRM Online forum is specifically for online deployments of Dynamics CRM 4, although questions do arise on there which apply to CRM in general. If your question is online-specific, this is a good place to go.

CRM 2011 Beta Forum (http://social.microsoft.com/Forums/en-US/crm2011beta/threads )

This is similar in purpose to the CRM Online Forum, except specifically for Dynamics CRM 2011 beta. If the new version is of interest, I strongly encourage you to sign up for the online beta at http://www.crm2011beta.com .

CRM Public Forum (http://groups.google.com/group/microsoft.public.crm/topics?hl=en )

Microsoft have made it clear that they no longer are active in the public forums and encourage people to go to the main CRM forum. Certainly the main activity on the public forums these days are non-CRM related advertisements. However, as a historical resource for Dynamics CRM it is worth a search if others have failed you.

Blogs and Twitters

There are many, many blogs and twitters out there dedicated to Dynamics CRM. Here are a couple whose content is often not as technical as others.

Dynamics CRM Team Blog (http://blogs.msdn.com/b/crm/) and Twitter (http://twitter.com/MSDynamicsCRM)

Yes, this is the blog and twitter of THE Dynamics CRM Team at Microsoft HQ in Redmond. While technical articles do appear, there are also plenty of ‘how to’ and ‘here is a feature you may not know about’ type of articles which can keep you using Dynamics CRM to its full potential.

Leon Tribe’s Blog (http://leontribe.blogspot.com) and Twitter (http://twitter.com/leontribe)

It would be remiss of me not to mention my own blog and twitter. While I was a developer a long time ago, my focus these days is on the functional aspects of CRM. Therefore my blog generally has articles on codeless solutions to common problems or general CRM-related articles of interest. It is rare to see code or discussions on things like plugins on my blog.

My tweets are again designed for broad-audience appeal. Often they are links to interesting videos (I have many links at the moment on CRM 2011), the latest service pack or industry analysis on the CRM market. Check them out and if they’re not to your liking, there are many, many others out there, some of which got plugged in my blog post from last year.

Conclusion

There are plenty of resources out there to help you work with and administer Dynamics CRM. If all else fails, reach out to an MVP. We love the opportunity to help people realise their full potential with Dynamics CRM and as long as we can answer your question in an email or 15 minute conversation, you’re almost certainly not going to get an invoice for it.  

Wednesday, November 3, 2010

Dynamics CRM Statement of Direction September 2010

First of all, I have no idea why a statement of direction for September is being released in November, but there it is. But enough of such quibbles, what are the nuggets of gold?

If you want to read the document itself, here is the link:

http://cid-4d66c5ae1389f5d8.office.live.com/self.aspx/Public/Dynamics%20CRM%204.0%20information/CRM%5E_StatementOfDirection%5E_September%202010%5E_final.pdf#resId/4D66C5AE1389F5D8!1695

Release Dates

The release has stretched to Q1 2011. While the previous noise has been Q4 2010 i.e. before December, the statement of direction is clear.

Deployment Options

The three we know about are stated (online with Microsoft, online with a hosting partner, on-premise). They also say you can move from online to on-premise. They don’t promise the other way around though.

Features of Dynamics CRM 2011

There is a bunch of pages on the features of Dynamics CRM 2011. I won’t rehash them here but if you want to know what is in the new version, look at my twitter feed for some excellent information.

http://www.twitter.com/leontribe

For a comprehensive look, I can recommend Eric Boocock’s two-hour run through.

http://bit.ly/ahpRMo

System Requirements

Client requirements:

  • IE 7 or above (sorry no support for other web browsers)
  • Office 2007 or above if using the Outlook client (trust me, you want to be using the Outlook client with the new version)

Server requirements:

  • 64-bit ONLY (no 32-bit server support here) for the OS and SQL server

The Accelerators

Microsoft has been reasonably tight-lipped on the story with the accelerators. The Statement of Direction gives some guidance.

The following accelerators have been made part of the standard product:

  • Extended Sales Forecasting (the excellent sales goals stuff in the new version)
  • Workflow Tools (really? I’ve seen no difference in the 2011 beta)
  • Business Data Auditing
  • Analytics (They are probably referring to the sock-blowing visualisations and dashboarding functionality of CRM 2011)

The following will be released as Solutions for the new version:

  • Event Management
  • eService
  • Notifications
  • Newsfeed
  • Social Networking (hopefully they will fix Twitter integration which is currently broken)
  • Partner Relationship Management
  • Customer Case Accelerator
  • Non-Profit Accelerator

I’m very excited about these being released as Solutions as the v4 accelerators have varying degrees of difficulty to install. The Solution packaging should remove a lot of those headaches.

NO MORE CODEPLEX!

Traditionally, Codeplex has been the home of the CRM accelerators. This will change with the new versions which will be located on the CRM marketplace:

http://www.microsoft.com/dynamics/marketplace

Solutions and the Marketplace

Reading the Statement of Direction there will be two categories of solutions offered:

  • Free and not officially supported (community solutions)
  • Free or charged supported solutions (certified solutions)

Before there is an outcry that Microsoft are feathering their nest through the ‘Certified for Microsoft Dynamics’ program, there are tools available such as this (http://bit.ly/9ptJho ) which should help.

ERP Integration

The GP integration tool will be updated for CRM 2011 around the time CRM 2011 is released i.e. the start of next year.

The AX6 and NAV 2009 R2 adapters will be out in the second half of next year.

Conclusion

The last bit of the document advertises the international availability of CRM 2011 Online and the Solutions Marketplace.

Overall, the document repeats a lot of what is already out there regarding CRM 2011. conversely, if you are not across what is happening with CRM 2011, this is a good place to start and will be quicker than listening to Eric B. for two hours.

Thursday, October 14, 2010

World First Exclusive: Dynamics CRM 2011 as a Games Platform

You heard it here first, XNA is dead, long live Dynamics CRM 2011. Dynamics CRM 2011 is so powerful you can design games on it. Admittedly the game is hangman in this case but it is possible using the new dialogs feature. As a further testament, this took me about an hour to put together starting from a very low knowledge base of dialogs.

The Structure

First of all I created a new solution in case the boss feels a hangman game is not appropriate for our demo server

image

This way it is really easy for me to remove my work by simply deleting the solution.

Within Hangman there is a new entity called Word and two Dialogs (Hangman Dialog and Hangman!)

The Word Entity

image

The bits of interest are in the Word section (by the way to add a new section, go to insert and look for the column formatting).

Letter 1-6 defines the word of interest, Guess 1-6 stores the state of guessing and Guesses stores the number of incorrect guesses.

The Hangman Dialog

I’ve got multiple screenshots because of the limited scrolling capability within the dialog configuration form.

image

So this Dialog is On-Demand and a Child Process. This works the same way as Workflows. This means I can manually call the Dialog and have it loop.

I did not use the Input Arguments and Variables. To be honest I’m not sure what they do.

First there are a couple of conditional statements. The first sets the Guesses field to zero. The next checks if there have been 10 incorrect guesses and if so it spawns the Hangman! Dialog whose only function is to display the word ‘Hangman!’ and finish the Dialog.

To get a popup, we now create a ‘Page’ step.

image

We prompt for a letter and in the prompt add dynamic information such as the letters correctly guessed so far and the number of Incorrect Guesses. This was really hard to set up because the dynamic fields, just like in version 4 do not always get placed at the cursor. To make matters worse, if I tried to cut and paste a dynamic field it worked but on exiting, the whole text got converted to broken html and I had to start again. My tip for beta: add the dynamic fields first in the order you want them and then type the text around them.

image

After the page prompt a set of if statements checks whether the input value matches any of the letter values and if it does it populates the corresponding Guess field. You can access the user’s input for the conditional pretty much the same way as you access workflow attributes in workflows now i.e. through the form assistant and dropping down the referencing entity to, in this case, Dialog.

image

If the input matches none of the letters, the Guesses field is incremented by one (you can do this in workflows in version 4 but it is a relatively unknown feature. Click on the field and again play with the form assistant. You’ll need to use the default field and set it to one to get the increment working.

Finally I call the Dialog to loop it.

CRM Hangman in Action

First we create a word.

image

We only need to fill in the letter values. The name is not used but is the default attribute for the entity. If desired, the compulsory status could be removed and the field taken off the form.

You then save the record and click the Start Dialog button on the ribbon, selecting the Hangman Dialog

image

You then enter the letter in the text field in the blue area and hit next. The Dialog loops until you have made 10 guesses or until you give up/guess all the letters.

image

Things I Learned

  • You can’t spawn a Dialog from an event, like Workflows. For example, it would have been great to kick off the Dialog on the creation of the Word record. I could not figure out how to do this
  • You cannot spawn a Dialog from a Workflow but you can start a Workflow from a Dialog. I’m guessing this has to do with the asynchronous nature of Workflows
  • Given enough time it should be possible to create an Infocom-style adventure game (http://en.wikipedia.org/wiki/Infocom). I’ll leave that as an exercise for the reader. You’re in a room with exits to the North, South and West…

Wednesday, August 25, 2010

Industry Verticals for Dynamics CRM

I got an email last week from Lauren Carlson of Software Advice (http://www.softwareadvice.com/crm/) referencing an article she wrote about some of the ‘field-tested’ add-ons for Dynamics CRM targeted at specific industries.

http://www.softwareadvice.com/articles/crm/microsoft-dynamics-crm-industry-solutions-our-20-favorites-1082010/

Initially is was 20 but it now appears to have dropped down to 15. I knew about a couple of these solutions but being situated on the bottom of the world there were a whole bunch of them I was not aware of.

If you are in one of the 15 verticals mentioned and wondering how Dynamics CRM can be extended to meet your needs, check out the solutions. Even if you are not based in the USA, these are excellent examples of the flexibility of the Dynamic CRM platform to meet the diverse business needs out in the world.