3

Want to add a little sizzle to your demo? How about showing Windows Phone 7 and Microsoft Dynamics CRM?

by benvollmer 18. May 2010 04:40

I am preparing for a demo next week and walking a partner through a bunch of different options to show the prospect CRM on a Mobile Device. The problem is we will be doing a LiveMeeting, so showing the demo on a live client isn’t going to work.

So enter Windows Phone 7. We have a great emulator for the device. If you want to get it, you can download it from here.

It includes Visual Studio 2010 Express for Windows Phone, which is overkill for what we need, but it is included in our download.

Once we get the emulator downloaded and installed. (It will take a few minutes and may involve a reboot.) the following steps are all that is required:

Browse to C:\Program Files (x86)\Microsoft XDE\1.0.

Hold right shift key and then click on right mouse button.

Now click on “open command windows here” option from the menu.

Type this in the command window. (Or Copy if you are lazy like I am.)

xde.exe “C:\Program Files (x86)\Microsoft SDKs\WindowsPhone\v7.0\Emulation\Images\WM70C1.bin”

You now will have the complete emulator up. Now just browse to your favorite mobile CRM site and you now have CRM running on your Windows Phone 7 Emulator.

The Main Screen

image

Selecting from the list of available views.

image

Adding a new account:

image

An extra Kudo to the first person to tell me what car is in the background of photo #3.

 

Happy Demo’ing!

Tags:

Demo Tools

1

Update: Inserting City and State Automatically into Microsoft Dynamics CRM

by BenVollmer 7. May 2010 00:21

It is really hard to believe that I have been blogging for this long. And it is funny how things change. And some things stay the same. So about 4 years ago, I wrote a blog article on using Yahoo’s Web Services to get the City and State based upon a Zip Code Entry.

In talking with one of my co-workers about a demo she was doing, I recommended she look at it as a way to show how we can interface with external systems. Well guess what, Yahoo changed their API’s all around.

So now you need to get an application key for Yahoo and change your URL’s.  So if you want to use this code:

1. Visit https://developer.apps.yahoo.com/

2. Create a Anonymous Project.

3. Get your Key

4. Insert your key in the first line of code below.

5. Place this on the OnChange Event for the Zip Code Field for either the contact or account entity.

 

Enjoy!

 

Ben

var sUrl = http://local.yahooapis.com/MapsService/V1/geocode?appid=INSERT YOUR APP ID HERE!!!;
sUrl += "&zip=" + crmForm.all.address1_postalcode.DataValue;
var oXmlHTTP = new ActiveXObject("Msxml2.XMLHTTP");
oXmlHTTP.Open("GET", sUrl, false);
oXmlHTTP.Send();
var oXmlDoc = oXmlHTTP.responseXML;
crmForm.all.address1_line1.DataValue = oXmlDoc.selectSingleNode("ResultSet/Result/Address").text
crmForm.all.address1_city.DataValue = oXmlDoc.selectSingleNode("ResultSet/Result/City").text
crmForm.all.address1_stateorprovince.DataValue = oXmlDoc.selectSingleNode("ResultSet/Result/State").text
crmForm.all.address1_country.DataValue = oXmlDoc.selectSingleNode("ResultSet/Result/Country").text

Tags: , , ,

Demo Tools

0

Integration using iFrames

by benvollmer 30. April 2010 20:18

image

Have you ever wanted Data in CRM, but you wanted to leverage business logic found in another system you already have in place?

With very little work, you are able to move data from a HTML Page or ASPX page in an iFrame to the main CRM form. This allows for some interesting data integration scenarios.

The scenario here is there is an internal credit application that assigned a score based upon a number of different items in other internal systems. It then posted a credit score to each account. That data needs to be imported into the CRM system, but doing a traditional data import would be difficult and time consuming. And wouldn’t allow for the end user to make changes to the form and have the reflected in the other system until you saved the record.

So we render the credit score for each account in an iFrame in CRM and have the value from the HTML Page put back on the CRM form.

Here is the original form before anything is clicked.

Here it is after clicking on the Save Credit Score and Approve Credit Buttons.

 

The example below contains an entire html page that can be used as an iFrame target. The example contains three methods.

The first function is taking the value from a text field and putting it back into a field new_iframeresponse on the CRM Form.

function Button1_onclick() {

var oCrmForm = parent.document.forms[0];

if (oCrmForm) {

oCrmForm.all.new_iframeresponse.DataValue = document.all["Text1"].value;

oCrmForm.Save();

}

}

The second function is toggling the selected value of a drop down field new_iframeresponsecode on the CRM Form.

function Button2_onclick() {

var oCrmForm = parent.document.forms[0];

if (oCrmForm) {

if(oCrmForm.all.new_iframeresponsecode.DataValue == 1) {

oCrmForm.all.new_iframeresponsecode.DataValue = 2;

}

else {

oCrmForm.all.new_iframeresponsecode.DataValue = 1;

}

}

}

The third function simply reloads the CRM Form.

function Button3_onclick() {

parent.window.location.reload();

}

The coolest part of this code to me is:

var oCrmForm = parent.document.forms[0];

Which is how we would address the CRM Form. So with out the variable, which would look like:

parent.document.forms[0].all.new_iframeresponse.DataValue =

As opposed to method inside the CRM Form itself:

crmForm.all.new_iframeresponse.DataValue =

So if you want to play with this yourself, you can download the attachment here and install on your DEMO box. To install:

  1. Create Two Field – One Called iFrameResponseCode and make it a Picklist. Add Two Items to it, Approved and Deadbeat. The second field is called iFrameResponse which is used to store the credit score.
  2. Copy the HTML File into the ISV directory
  3. Point the iFrame to the HTML File.

Enjoy!

Click Here to Download the Source Code

Tags:

Demo Tools

1

Selecting Account Address for a Contact

by benvollmer 29. April 2010 18:50

How often have you had an account that has had a number of different addresses and you want to be able to use that address at the contact record?

image

image

 

This little HTML File written by Pierre-Adrien Forestier from Microsoft France. It is really as simple as copying this to an iFrame and unchecking “Restrict Cross Frame Scripting.”

 

image

 

And again the trick here is to have the iFrame refresh when you change the Parent Account. So on the Parent Account Field, put the following as an OnChange Event:

crmForm.all.IFRAME_MoreAddresses.src = crmForm.all.IFRAME_MoreAddresses.src;

That of course assumes that your iFrame is called MoreAddresses and it is in the ISV Directory.

Happy Demo’ing.

Download the Source Code here.

Tags:

Demo Tools

8

Getting Customer Temperature

by benvollmer 26. April 2010 19:23

How often have you pulled open a CRM Record and wanted to VERY quickly see the temperature of the customer? For a customer the other day, I did a quick mock up of how you could do this. I have seen it done a number of ways over the years, but all of them have been less than ideal from a support perspective. (They either modify the DHTML of CRM’s Forms in a section or where embedded into the header of CRM, both of which would be unsupported.)

image

In order to accomplish this magic, you only need to do two things. One is copy the enclosed file to the ISV Directory and point an iFrame to it. In this example, we are using the customer satisfaction picklist in the Case Entity.

image

 

On the Customer Satisfaction Entity, we want to put the following in the OnChange Event. Using this allows the iFrame to be refreshed anytime the customer satisfaction field is changed. (The other option would be to put a refresh inside the CaseUpdate.HTML file.) 

crmForm.all.IFRAME_tempature.src = crmForm.all.IFRAME_tempature.src;

image 

 

Happy Demo’ing!

Download the Source Code Here.

Tags:

Demo Tools

2

xRM and ICC VPC Released to Partners

by benvollmer 4. November 2009 22:47

You can find your copy on PartnerSource. Login to PartnerSource, Click on Sales, Under Demo Tools and then Click on VPC. In that list, you will find the Integrated Call Center Demo VPC and the xRM Demo VPC.

The Microsoft Dynamics CRM Integrated Contact Center Demonstration VPC has been released for Dynamics Partners to use. This VPC is built upon the April 2009 VPC and has significant features around a Contact Center including CTI Bar and Ribbon for Contact Agent.

The xRM Demo VPC is built upon the Microsoft Dynamics CRM April 2009 VPC and contains three applications, Vendor Management, Facilities Management and Employee Management. These three applications demonstrate the capability of the Microsoft Dynamics CRM platform to serve the needs of more than Sales, Service and Marketing. It also includes Contoso, which makes demo’ing xRM and CRM at the same time much easier.

Tags:

Demo Tools

4

Creating a Summary with Microsoft CRM Workflow

by benvollmer 16. June 2009 18:47

The workflow engine in Microsoft Dynamics CRM is an area I personally spend a ton of time playing with. It is like Jscript was in Version 1.x and 3.0 for me. It has A TON of potential that many people have barely scratched the surface of.

So in working with a customer over the past month, they wanted to track the number of widgets each one of their accounts have at each location. Which works awesome, until they want to be able to run some queries, and there is no way to be able to get the total number of widgets per account. How many accounts have brand A of widgets in a quantity of over 200? How many have Brand B?

So that is where workflow comes in. In talking with Jon Goodwin from Microsoft Consulting Services, he showed me a quick and easy way to have workflow create a summary number on a parent entity. So he showed me a quick trick to be able to take quantities from a child entity and using workflow, create a summary of the number of widgets owned.

Step 1. Create Widget Entity. Add a Quantity Owned to Widget Entity. In addition, I also wanted to track by competitor, but that step isn’t used in this example. Then create a field to track number of widgets and type of widget.

Step 2: Create N:1 Relationship Between Widget and Account Entities. (So the Widgets are a Child Record of an Account)

Step 3: Create Summary Field on Account. (To hold how many widgets total you have!)

Step 3: Create Workflow on Widget Entity. You will want the workflow to fire on the create of a Widget as well as the change of the number of widgets.

clip_image002

Add An Step with the type of Update Record. Select Account as the Entity to update.

If you are anything like me, you generally close the form assistant. But in this case, we want to leave the form assistant open. We should click on the Total Number of Widgets, Make the Operator Increment By, and Look for Widget and Number of Widgets. In the Default Value, we put a 0 so that if the user creates the entity and doesn’t fill it in, it doesn’t inflate the total count.

clip_image004

Save and Close the Workflow and Publish it.

So here is the finished product:

clip_image006

And if I browse to Widgets, you can see that we do in fact have 1011 widgets in this location for this customer.

clip_image007

So there is one more way that Workflow can make CRM work better for your customers. Attached is the workflow rule if you want to play with in your demo or testing environment.

Happy Workflowing!

Tags:

Demo Tools

0

Process Diagrams for Demos – Finding Weebles

by benvollmer 23. March 2009 19:38

  Since I changed jobs last year, I was still able to do some Demo2Win Training classes, which if you haven’t attend yet, you really should. One of my favorite parts of the Demo2Win methodology is the creatign of a repeatable process so your customer see exactly where you are going. (And goes there with you!)

The idea of creating movie scenes in demos is now a huge part of my demos. I won’t demo with out incorporating some business process flows into the demo. We just did a demo last week, where use used the process slides to break up an ungodly number of slides to keep the customer’s interest and make sure our ideas where presented in a concrete manner.

We have also used this method when we where given an RFP and asked to present our solution according to the RFP. We slightly re-arranged the RFP materials and presented them visually to the customer and as a result, we where able to better position ourselves than the competition who tried to follow the script 100%.

These also make killer hand out to leave with your customers to show them what your solution actually does for them.

In creating the process slides, we want to emulate the icons in CRM around people. And to me they look like Weebles. (yes, I used to play with Weebles as a kid…)

Finding those icons has been a complete pain in the neck for me. Until, I was searching the Microsoft Clip Art Gallery for something totally unrelated… And low and behold, if you search for “Avatar”, you will come up with some awesome looking “Weebles” to enhance your presentation.

image

image

One of my first attempts…. With the new Weebles, they got alot more colorful and meaningful. :)

clip_image002

Here is a brief sample of the Avatars from the Clip Art Gallery:

clip_image002[6]clip_image004clip_image006clip_image008clip_image010clip_image012clip_image014clip_image016clip_image018clip_image020clip_image022clip_image024clip_image026clip_image028clip_image030

Tags:

Demo Tools

1

Round Robin Lead Assignment using Workflow

by benvollmer 10. February 2009 03:14

Some of my customers over the years have used a Round Robin way. So the first lead that comes in goes to Sales Rep A, second lead goes to Sales Rep B, etc. It works well with smaller sales teams that occupy the same geographic territory.  I haven’t encountered one of these customers in quite some time. Fast forward 6-8 or more years, and I got a call from Paul. Paul asked me about the easiest way to assign leads as they come in to sales reps in a Round Robin mechanism.

Back in my early days of consulting, I used to use a product that had a feature called lookup.ini. It was an awesome little utility. One of the hand uses for it was doing round robin lead assignment. My initial thought was to use the lookup.ini… But wrong product for that. So with Microsoft CRM’s powerful workflow engine, we created a very simple engine to assign leads to reps one at a time.

The basics of this are pretty easy. This sample is for inspiration and I would make sure you modified it before you put it in your production servers. :)

1. Create A Lead Round Robin Entity.  On that entity, create an integer with the name of Lead Assignment. Make the entity visible in the settings area of CRM.  Make a 1:N Relationship with Leads. Don’t make the link visible so you don’t have a bunch of things hanging off the left Navigation area. :)

image

image

2. – Create The “Main Workflow”

image

In the main workflow, you want to update the lead to relate the Lead Round Robin to the Lead. And then you want to do a number of If Statements. If Lead Round Robin = 2, then apply Workflow #2. Do that for each of your sales reps. (So in my example, we have 5 sales reps, so all of the workflows will be identical for each of the reps minus the 5th one.) 

image

All of the IF statements will end up firing off workflows that we will create. All of the workflows are identical, minus the last one. The last one will in turn reset the counter back to 1 and start the process over again.

 

image

image

image

 

This sample will work with CRM Online or CRM on Premise.

You can download the sample here.

Enjoy!

Tags:

Demo Tools

8

Inline Grids for Sales Orders in Microsoft Dynamics CRM

by benvollmer 14. November 2008 23:39

In every CRM application I have ever played with there have been areas I have never been proud to show off to customers or prospects. And adding products to CRM's Sales Orders has been one of those areas for me in CRM since the products inception.

While it works well in high dollar low transaction environments, it doesn't work so well in high transaction, low dollar transactions. One of my most recent demos was to a company that did over 50,000 sales orders a day and so working with Daren from Microsoft Consulting Services, he build a REALLY cool too to help them VERY quickly insert items into Microsoft CRM without the normal number of clicks.

The coolest thing to me is that this is 100% HTML and JScript. No C# or VB.NET here at all. (If you look at the code, Daren built a Service that allows him to call CRM's web services easily from JScript. Check out his blog for more details.)

In the left grid, we enter new products and in the right grid we have a list of all of the products that they have ordered for the past three completed sales orders.

So below you can see a screen shot of what the grid looks like installed.

image

Once you have inserted all of your products, you can quickly  click the recalculate button to be able to have all of the totals created as well as have the items inserted into the Sales Order.

 image

Here are all of the files to make this magic happen. You will need to copy the contents of the custom.zip file to your CRM Demo Server and drop it off in a directory called custom. The order customizations will need to be applied to your CRM server as well.

This is DEMO WARE. Happy Demos! And Thanks Daren! This rocks!

Tags:

Demo Tools

Powered by BlogEngine.NET 1.6.1.0
Original Design by Laptop Geek, Adapted by onesoft