<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Richard Knudson&#039;s Dynamics CRM Trick Bag &#187; mashup</title>
	<atom:link href="http://www.dynamicscrmtrickbag.com/tag/mashup/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dynamicscrmtrickbag.com</link>
	<description>Building business value on Dynamics CRM</description>
	<lastBuildDate>Fri, 27 Jan 2012 14:42:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Inside View: The Ultimate CRM Mashup?</title>
		<link>http://www.dynamicscrmtrickbag.com/2009/05/08/inside-view/</link>
		<comments>http://www.dynamicscrmtrickbag.com/2009/05/08/inside-view/#comments</comments>
		<pubDate>Fri, 08 May 2009 16:59:47 +0000</pubDate>
		<dc:creator>Richard Knudson</dc:creator>
				<category><![CDATA[Integration and SharePoint]]></category>
		<category><![CDATA[mashup]]></category>

		<guid isPermaLink="false">http://www.dynamicscrmtrickbag.com/?p=1010</guid>
		<description><![CDATA[May 8 -- InsideView is an amazingly useful tool for prospecting accounts, and contacts at those accounts. They've got a great pricing model, the tool can sit inside an IFRAME on your Account or Lead forms, and if you need to prospect, I highly recommend you check it out. In this article I explain why it just might be the "ultimate CRM mashup".]]></description>
			<content:encoded><![CDATA[<h2>Summary</h2>
<p>Inside View is an amazingly useful tool. It&#8217;s a subscription web site that aggregates up a number of marketing/prospecting databases (jigsaw, hoovers, D&amp;B, zoominfo). They&#8217;ve got a great pricing model, the tool can sit inside an IFRAME on your Account or Lead forms, and if you need to prospect, I highly recommend you check it out. (And if you don&#8217;t need to prospect, please tell me  how you do it!). In a minute I&#8217;ll tell you the funny story about how I learned to use it, but first, why it&#8217;s the ultimate CRM mashup.</p>
<p>Here&#8217;s how it looks embedded in an IFRAME on an Account form:</p>
<p><img class="alignnone size-full wp-image-1019" title="insideviewperfect1" src="http://www.dynamicscrmtrickbag.com/wp-content/uploads/2009/05/insideviewperfect1.png" alt="insideviewperfect1" width="447" height="153" /></p>
<p>It&#8217;s got seven tabs. &#8220;Analysis&#8221; and &#8220;Key Info&#8221; (showing) provide basic account information, and the other five aggregate information from <strong>lots</strong> of different databases to show them in context. Inside View has deals with all of those databases (some of which I mentioned above but there are lots more), so as long as you subscribe to Inside View, you don&#8217;t have to individually subscribe to all of the other ones.</p>
<p>You can probably guess what the other tabs expose, but I&#8217;ll show you the &#8220;Buzz&#8221; tab since it&#8217;s one of my favorites:</p>
<p><img class="alignnone size-full wp-image-1021" title="insideviewperfect3" src="http://www.dynamicscrmtrickbag.com/wp-content/uploads/2009/05/insideviewperfect3.png" alt="insideviewperfect3" width="497" height="136" /></p>
<p>It might be a little hard to see, but the Buzz tab is a search on the account name exposed as a Twitter feed. To test it, I loaded up one of my favorite account records, switched to a Twitter session and tweeted something about the account, then switched back to the account form, refreshed, and there it was &#8211;  pretty cool! You can even see the account&#8217;s web site traffic courtesy of Compete.com. (the numbers are in thousands of unique visitors &#8212; <a href="http://www.kraftfoodscompany.com">www.kraftfoodscompany.com</a> gets a view more visitors than the Trick Bag!) </p>
<h2>Prospecting with Inside View</h2>
<p>There&#8217;s a free version I&#8217;ll tell you about below. I tried it, liked it, and purchased a subscription. A single seat subscription is $99/month, which might sound like a lot until you realize you get unlimited exports from Inside View&#8217;s account and contact/lead database. Most of the other prospecting databases I&#8217;ve subscribed to have a pay-per-lead model, or an unlimited subscription that&#8217;s much more expensive than $99/month.</p>
<p>You can search in lots of different ways to identify prospects; for me the best option has been to identify people with specific job titles (e.g., CRM Project Manager) at specific accounts. After identifying the records, you can export them to a CSV then import into CRM.</p>
<p><em>I&#8217;m jealous of the SalesForce.com integration, since they can do an automagic import, no CSV file required! The Inside View people tell me this is coming soon to the Dynamics CRM version &#8212; I hope so!</em>   </p>
<h2>How it Works</h2>
<p>One of my sales reps received an email from a rep at Inside View a couple weeks ago. I copied and pasted the following text from it:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p> <span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black; font-size: 11pt;">Customize Account Entity</span> </p>
<ul type="disc">
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Double-click &#8220;Account&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Click &#8220;Forms and Views&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Double-click &#8220;Form&#8221; (The main application form)</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Click &#8220;Add an IFRAME&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span>
<ul type="circle">
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Name: INSIDEVIEW_ACCOUNT_CONNECTOR</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">URL: javascript:false</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Check the box for &#8220;Pass record object-type code&#8230;&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Label: InsideView</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Check the box for &#8220;Display label on the form&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Uncheck the box for &#8220;Restrict cross-frame scripting&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Section: Account Information</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Click &#8220;Formatting&#8221; tab</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Scrolling: Never</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Uncheck the box for &#8220;Display border&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Leave all other default values and click &#8220;OK&#8221;</span></li>
</ul>
</li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Click &#8220;Form Properties&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Select &#8220;OnLoad&#8221; event and click &#8220;Edit&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Check the box for &#8220;Event is enabled&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 11pt; mso-fareast-font-family: 'Times New Roman';"> </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Copy and paste the code provided for the Account connector (<strong>I&#8217;ll email you the code if you fill out the form I link to at the end of this article</strong>)</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; mso-fareast-font-family: 'Times New Roman';"><span style="font-size: small;"> </span></span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; color: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; font-size: 10pt; mso-fareast-font-family: 'Times New Roman';">Click &#8220;Save and Close&#8221;</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; mso-fareast-font-family: 'Times New Roman';"><span style="font-size: small;"> </span></span></li>
</ul>
<p><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">From the &#8220;Customize Entities&#8221; view, select &#8220;Account&#8221; and click &#8220;Publish</span></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>In the normal course of events, I&#8217;m not able to lift perfectly good blog copy from an email, and I have to admit, seeing these perfectly good instructions on how to customize the Account entity in an email to Kim prompted me to check her security role and make sure she wouldn&#8217;t actually be able to DO this. She can&#8217;t, and anyway she has the good sense not to try it, but I thought it was interesting that somebody would send a sales rep instructions like that!</p>
<p>Anyway, those are your step-by-step instructions if you want to try the free version out on your own CRM &#8212; works with both CRM Online and on-premise. The free version gives you the same sweet integration, but you don&#8217;t get to pull contacts &amp; some other things you&#8217;d expect to have to pay for. All you need to get it to work is the jscript code that goes into the Load event of your account form. The Inside View people will send it to you, but I checked with them and they said it was OK if I did also.</p>
<p>So, <strong>to get the Account form Load Event code</strong> for my current pick as the Ultimate CRM Mashup,<a title="Request Information" href="http://www.dynamicscrmtrickbag.com/request-content" target="_self"> click here and fill out the form</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dynamicscrmtrickbag.com/2009/05/08/inside-view/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mashing up CRM and Twitter, Part 2</title>
		<link>http://www.dynamicscrmtrickbag.com/2009/03/16/crm-twitter-mashup2/</link>
		<comments>http://www.dynamicscrmtrickbag.com/2009/03/16/crm-twitter-mashup2/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 17:42:36 +0000</pubDate>
		<dc:creator>Richard Knudson</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Integration and SharePoint]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.dynamicscrmtrickbag.com/?p=231</guid>
		<description><![CDATA[Learn how to do dynamic searches of Twitter Tweets based on information from a Dynamics CRM record.]]></description>
			<content:encoded><![CDATA[<h2>The Truth is Out There (in 140 Characters or less!)</h2>
<p>If you didn&#8217;t read the first part of this &#8220;series&#8221;, here&#8217;s a link to <a title="Part 1" href="http://www.dynamicscrmtrickbag.com/?p=124" target="_self">Mashing up CRM and Twitter, Part 1</a>. That article provides a high-level overview of three topics:</p>
<ol>
<li>What the heck Twitter is, in case you&#8217;re new to it</li>
<li>Why you might want to integrate it with Dynamics CRM</li>
<li>Some basics of Twitter Search</li>
</ol>
<p>To follow up on part 1, I want to cover two main topics here:</p>
<ol>
<li>How you can implement a managed Twitter search from a Dynamics CRM record</li>
<li>Discuss some of the interesting extensions of the simple example I&#8217;ll show, and argue a little more why Twitter search is so important</li>
</ol>
<h2>Implementing a Managed Twitter Search from Dynamics CRM</h2>
<p>What I&#8217;ll show here is some of the mechanics of doing a contextual Twitter search from a CRM record. These will be similar no matter what entity you&#8217;re searching from, so I&#8217;m going to show how to customize the Dynamics CRM &#8220;Competitor&#8221; entity. (In the example I show it will be not for my competitors, but for a group of companies that compete against <em>each other</em>. Same techniques, either way.)</p>
<p>The general technique is to use an IFRAME control on a customized CRM form, and dynamically update the &#8220;src&#8221; property of the IFRAME with information from the current record. Here&#8217;s what the user experience looks like, starting with the Competitor form opened to a specific record, in this case my favorite food company, Kraft:</p>
<div id="attachment_240" class="wp-caption alignnone" style="width: 451px"><img class="size-full wp-image-240  " title="comp_form1" src="http://www.dynamicscrmtrickbag.com/wp-content/uploads/2009/03/comp_form1.bmp" alt="&quot;Competitor&quot; form open with record selected" width="441" height="368" /><p class="wp-caption-text">Figure 1: Competitor form open with a record selected</p></div>
<p>This shows a standard Dynamics CRM form, in this case having double-clicked on the &#8220;Kraft&#8221; record from the Competitors grid. When a user clicks on the Twitter Search tab, what they see is an IFRAME that exposes the results of a Twitter search. What that might look like is shown here:</p>
<div id="attachment_241" class="wp-caption alignnone" style="width: 484px">
<h2><img class="size-full wp-image-241  " title="comp_form2" src="http://www.dynamicscrmtrickbag.com/wp-content/uploads/2009/03/comp_form2.bmp" alt="comp_form2" width="474" height="359" /></h2>
<p> </p>
<p><p class="wp-caption-text">Figure 2: Twitter search results based on CRM data</p></div></p>
<h2>How to Build it</h2>
<p>That&#8217;s the user experience. What I&#8217;ll show you next is how to build a customization like this &#8212; essentially, how to update the &#8220;src&#8221; property of an IFRAME like that with information from the current record. The idea here is to provide a managed search experience from within CRM, so my brand managers or whoever else might be using this don&#8217;t need to worry about Twitter search syntax. To save a little time, I&#8217;ll give you a &#8220;heuristic&#8221; step by step. I&#8217;ll post a video shortly where you can see all of the detailed steps, but for now&#8230;</p>
<p>&#8230;follow these steps:</p>
<ol>
<li>Customize the Competitors entity, by adding a tab, a section, and an IFRAME; call them all Twitter Search or something like that.</li>
<li>To start out, set the IFRAME&#8217;s URL property to <a href="http://search.twitter.com">http://search.twitter.com</a> . Turn off the &#8220;prevent cross-frame scripting&#8221; property by unchecking it.</li>
<li>Navigate to the form&#8217;s OnLoad event, and add the following  jscript code:</li>
</ol>
<p><em>code starts here:</em></p>
<p>var CRM_FORM_TYPE_CREATE = 1;<br />
var CRM_FORM_TYPE_UPDATE = 2;</p>
<p>var twittersearchURL = &#8220;&#8221;;</p>
<p>switch (crmForm.FormType)<br />
{<br />
 case CRM_FORM_TYPE_CREATE:<br />
    twittersearchURL = &#8220;<a href="http://search.twitter.com">http://search.twitter.com</a>&#8220;;  <br />
   break;</p>
<p> case CRM_FORM_TYPE_UPDATE:<br />
       // Use Twitter search with this account&#8217;s name when updating account<br />
  twittersearchURL = &#8220;<a href="http://search.twitter.com/search.atom?q">http://search.twitter.com/search.atom?q</a>=&#8221;;<br />
  // Encode the account name and add it to the search string<br />
  twittersearchURL += encodeURIComponent(crmForm.all.name.DataValue)+&#8221;&amp;rpp=100&amp;lang=en&amp;tude=:)&#8221;; <br />
  break;<br />
}</p>
<p>// Set the respective IFRAME&#8217;s URL<br />
//alert (twittersearchURL);</p>
<p>crmForm.all.IFRAME_twittersearch.src = twittersearchURL; </p>
<p><em>end of code </em></p>
<p>Let me make a couple of comments about this code, in case you want to try it or some variation on it:</p>
<ul>
<li>Notice that the twitter search url uses the &#8220;atom&#8221; qualifier. This is the way twitter search lets you return results in an RSS format. This is a lot more convenient in many ways than search results returned to an HTML page. In part 1 of this article I discussed Twitter search basics, and included a link to the Twitter search API, which I highly recommend you read if you want to do things like this.</li>
<li>Notice the encodeURIComponent function call. In this example, I pass  &#8220;crmForm.all.name.DataValue&#8221; into that function &#8212; this is the value of the &#8220;name&#8221; field on the Competitor form. If you were doing this for the Account or most other entities, it would be identical, but you might need to change the field name depending on what you want to do. EncodeURIComponent does things like replace spaces with the &#8220;%20&#8243; strings you see in URLs; it basically takes text strings and formats them properly as URLs, so get used to this function if you want to do things like this.</li>
<li>Also: notice the &#8220;&amp;tude=:)&#8221; and the other strings I tacked on to the end of the url. If I hadn&#8217;t commented out the alert, I&#8217;d see a URL like this just before the last line of this OnLoad event code gets run: <a href="http://search.twitter.com/search.atom?q=Kraft&amp;rpp=100&amp;lang=en&amp;tude">http://search.twitter.com/search.atom?q=Kraft&amp;rpp=100&amp;lang=en&amp;tude</a>=:) This search query looks for Kraft, then tells Twitter to return up to 100 results per page, then says to only look for English results, and finally says to look for &#8220;results with a positive attitude&#8221;. Obviously, if I&#8217;m a Kraft brand manager and I&#8217;m looking at search results for &#8220;Oreo Cakesters&#8221;, or &#8220;mac &#8216;n cheese&#8221;, I&#8217;d probably want to look at both &#8220;tude=:)&#8221; and &#8220;tude =:(&#8221; results, if you know what I mean!</li>
</ul>
<p>Refer back to Figure 2 for a second and notice the &#8220;Results mood&#8221; pulldown list. With very little additional effort (similar jscript to the above, only behind the Change event of the picklist attribute that gets selected) you can build in some flexibility along these lines.</p>
<h2>Extensions and the Importance of Twitter Search</h2>
<p>Here are some of the more obvious ways this could be extended. (You can probably think of a lot more &#8212; let me know if you have some good ones!)</p>
<ul>
<li>If I&#8217;m a Kraft brand manager, I&#8217;d want to use the Product entity, and add a bunch of my products (see above), and search on them with both <img src='http://www.dynamicscrmtrickbag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  and <img src='http://www.dynamicscrmtrickbag.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  tude qualifiers, and maybe stack up how I&#8217;m doing against my competition.</li>
<li>If I really did want to keep track of my competitors, the Competitor entity would work well, but you might want to do this for their products as opposed to just the company name.</li>
<li>I think where it really starts to get cool is to store the results and start doing some analysis over time on the search results. You could store off these RSS data, say to a database, and really start to crunch some interesting numbers. For example, suppose you&#8217;re launching a new ad campaign for an existing product, and you want to see how it impacts the buzz about your product over time. Or suppose you&#8217;re watching to see how your competitors&#8217; campaigns are doing over time. Or suppose you&#8217;re managing a product recall or something along those lines and how that impacts discussion of your product over time&#8230;</li>
</ul>
<p>I could go on and on, but you probably get the point by now (if you&#8217;ve read this far! in which case, thank you very much). People who dismiss Twitter as a narcissistic time-suck are missing the point. If you&#8217;ve got 6 million+ people out there tweeting away about almost any topic you can think of, the chances are good they&#8217;re talking about things that matter to you. And if you can aggregate up all those tweets, you can actually learn some interesting things you might not already know.</p>
<p>The Truth is Out There&#8230;in the form of millions and millions of 140 character tweets.    </p>
<p>Cheers &#8211;</p>
<p>Richard</p>
<p><a href="mailto:richardk@imginc.com">richardk@imginc.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dynamicscrmtrickbag.com/2009/03/16/crm-twitter-mashup2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mashing up CRM and Twitter, Part 1</title>
		<link>http://www.dynamicscrmtrickbag.com/2009/03/09/mashing-up-crm-and-twitter-part-1/</link>
		<comments>http://www.dynamicscrmtrickbag.com/2009/03/09/mashing-up-crm-and-twitter-part-1/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 04:29:54 +0000</pubDate>
		<dc:creator>Richard Knudson</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Integration and SharePoint]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.dynamicscrmtrickbag.com/?p=124</guid>
		<description><![CDATA[In my (apparently) ongoing series of articles on mashing up Dynamics CRM with various web applications, here’s the latest installment: Twitter. You might be familiar with the technique: using a little client-side scripting to update the src property of an IFRAME. I’ve illustrated it before in a some  different contexts – here are three:
·         Search [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="PADDING-LEFT: 30px; MARGIN: 0in 0in 10pt"><span style="font-size: small; font-family: Calibri;">In my (apparently) ongoing series of articles on mashing up Dynamics CRM with various web applications, here’s the latest installment: Twitter. You might be familiar with the technique: using a little client-side scripting to update the src property of an IFRAME. I’ve illustrated it before in a some<span style="mso-spacerun: yes;">  </span>different contexts – here are three:</span></p>
<p class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; mso-list: l1 level1 lfo1;"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">·</span><span style="font: 7pt &quot;Times New Roman&quot;;">         </span></span></span><span style="font-size: small; font-family: Calibri;"><a title="MOSS Search" href="http://www.dynamicscrmtrickbag.com/?p=66" target="_self">Search SharePoint 2007</a> for information related to a CRM Account record</span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; mso-list: l1 level1 lfo1;"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">·</span><span style="font: 7pt &quot;Times New Roman&quot;;">         </span></span></span><span style="font-size: small; font-family: Calibri;">Display a <a title="Google Map" href="http://www.dynamicscrmtrickbag.com/?p=50" target="_self">Google map for a CRM Contact or Account</a> record</span></p>
<p class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; text-indent: -0.25in; mso-list: l1 level1 lfo1;"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">·</span><span style="font: 7pt &quot;Times New Roman&quot;;">         </span></span></span><span style="font-size: small; font-family: Calibri;">For one of your Account records, <a title="Who's LinkedIn?" href="http://www.dynamicscrmtrickbag.com/?p=62" target="_self">which of their associated Contacts are on LinkedIn</a> and where are their profile pages? </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">Here’s a brief backgrounder on Twitter, and why you might want to extend your Dynamics CRM with Twitter search results. </span></p>
<h1 style="margin: 24pt 0in 0pt;"><span style="font-size: large; color: #365f91; font-family: Cambria;">What’s all this Twitter stuff, anyway?</span></h1>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">Twitter is one of the fastest growing of the so-called Web 2.0 applications. If you haven’t used it, it’s easy to characterize it as a narcissistic exercise in time wasting. Who but my Mom would really care to know what I’m doing at random times throughout the day, anyway, especially if I’m always tweeting (a Twitter version of a post) “just got back from a movie”, or “going into the kitchen to get some OJ”? There are a lot of people on Twitter. Just how many is open to debate, so </span><a href="http://www.daynw.com/how-many-people-use-twitter/"><span style="font-size: small; color: #800080; font-family: Calibri;">visit this site</span></a><span style="font-size: small; font-family: Calibri;"> if you’re interested. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">In any case, once you start using it, you start to appreciate the real business value it can have. Twitter is essentially a broadcast medium. Any tweet can be searched, and if I find an interesting tweeter (twitterer?) I can “follow” that person. Someone else can follow me. When I follow someone, I can see a history of their tweets from my Twitter home page, and I can (optionally) configure it so that for certain people I’m following, their tweets get sent to my phone or mobile device. So how can you use it for your business? </span></p>
<p class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 47.45pt; text-indent: -0.25in; mso-list: l0 level1 lfo2; mso-add-space: auto;"><span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">1.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span style="font-size: small; font-family: Calibri;">Think of who might be following you, and push out an announcement to all of them at the same time. People who follow me might be interested in CRM training, so when I got locked in dates for an upcoming CRM training roadshow I’m doing with United Training, I tweeted out with a link to the landing and registration pages.</span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 47.45pt; text-indent: -0.25in; mso-list: l0 level1 lfo2; mso-add-space: auto;"><span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">2.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span style="font-size: small; font-family: Calibri;">If you have a blog, Twitter’s a great way to announce a new post to your network. The 140 character maximum tweet length includes the URL, so you’re forced to be brief. For me, at least, this makes me feel a little less like I’m wasting peoples’ time, so I’ll always tweet out a new post. </span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 47.45pt; text-indent: -0.25in; mso-list: l0 level1 lfo2; mso-add-space: auto;"><span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">3.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span style="font-size: small; font-family: Calibri;">Tweet a question to your network. OK, I haven’t actually done this very much, but anecdotal evidence tells me it’s effective. </span></p>
<p class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 47.45pt; text-indent: -0.25in; mso-list: l0 level1 lfo2; mso-add-space: auto;"><span style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-size: small; font-family: Calibri;">4.</span><span style="font: 7pt &quot;Times New Roman&quot;;">       </span></span></span><span style="font-size: small; font-family: Calibri;">Find people who have valuable things to say on topics you care about, and follow them. From what I can tell so far, about 90% of the people I’m interested in following include links to <em style="mso-bidi-font-style: normal;">their</em> recent blog posts and other more detailed content in their tweets, so don’t make the mistake of thinking what you can learn from Twitter must be expressible in 140 characters. And just think: there’s always a chance, however slim, that you really will learn something that will change your life within the 140 character limit! How awesome would that be? </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">These are just some specific examples, but for me so far, the two most compelling Big Reasons to use Twitter are that I can promote myself and my company’s services in an efficient, opt-in format; and that I can learn things from people who have interesting things to say.</span></p>
<h1 style="margin: 24pt 0in 0pt;"><span style="font-size: large; color: #365f91; font-family: Cambria;">Searching Twitter</span></h1>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">Before we get to the mashing up part, we have to talk about Twitter search. I don’t claim to be the Twitter Search Zen Master, but I’ve started to appreciate its huge potential. If you’ve ever wanted to know “what everybody’s thinking” about some topic or another, think about Twitter: millions of people, entering 140-character thought-snippets on any topic you can think of … and all of it nice, searchable data! If there really is wisdom in crowds, we should be able to find some of it here. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">Here’s your Twitter search primer: </span><a href="http://search.twitter.com/about"><span style="font-size: small; color: #800080; font-family: Calibri;">http://search.twitter.com/about</span></a></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">The two most important resources linked to from that page are for </span><a href="http://search.twitter.com/operators"><span style="font-size: small; color: #800080; font-family: Calibri;">Twitter search operators</span></a><span style="font-size: small; font-family: Calibri;"> and for the </span><a href="http://apiwiki.twitter.com/Search+API+Documentation"><span style="font-size: small; color: #800080; font-family: Calibri;">Twitter search API</span></a><span style="font-size: small; font-family: Calibri;">. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">I’ll summarize them by way of a few examples. To see how these work go to </span><a href="http://search.twitter.com/"><span style="font-size: small; color: #800080; font-family: Calibri;">http://search.twitter.com/</span></a><span style="font-size: small; font-family: Calibri;"> and enter the search phrase, verbatim, in the search box. </span></p>
<p class="MsoNormal" style="PADDING-LEFT: 30px; MARGIN: 0in 0in 10pt">
<table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto -0.3in; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-table-layout-alt: fixed; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt" border="1" cellspacing="0" cellpadding="0" width="732">
<tbody>
<tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 103.5pt; padding-top: 0in; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; border: black 1pt solid;" width="138" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">Search phrase</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 130.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1;" width="174" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">What it returns</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 315pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1;" width="420" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">The search URL</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 1">
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 103.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1;" width="138" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">oreos</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 130.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="174" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">Tweets containing the word “oreo”</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 315pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="420" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">http://search.twitter.com/search?q=oreos</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 2">
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 103.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1;" width="138" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">oreo cakesters</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 130.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="174" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">Tweets containing both “oreo”, and “cakesters”</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 315pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="420" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">http://search.twitter.com/search?q=oreo+cakesters</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 3">
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 103.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1;" width="138" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">“oreo cakesters”</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 130.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="174" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">Tweets containing the exact phrase “oreo cakesters”</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 315pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="420" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><a href="http://search.twitter.com/search?q=%22oreo+cakesters%22"><span style="font-size: small; color: #800080; font-family: Calibri;">http://search.twitter.com/search?q=%22oreo+cakesters%22</span></a></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">&#8211; the %22’s are the quotation marks</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 4">
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 103.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1;" width="138" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">from:richardknudson</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 130.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="174" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">All Tweets from me (richardknudson’s my twitter name)</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 315pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="420" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><a href="http://search.twitter.com/search?q=from%3Arichardknudson"><span style="font-size: small; color: #800080; font-family: Calibri;">http://search.twitter.com/search?q=from%3Arichardknudson</span></a><span style="font-size: small;"><span style="font-family: Calibri;"> </span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">&#8211; %3A is the colon</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 5">
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 103.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1;" width="138" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">@richardknudson</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 130.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="174" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">All Tweets about me</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 315pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="420" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><a href="http://search.twitter.com/search?q=@richardknudson"><span style="font-size: small; color: #800080; font-family: Calibri;">http://search.twitter.com/search?q=@richardknudson</span></a><span style="font-size: small;"><span style="font-family: Calibri;"> </span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">&#8211; CRMGuy: you are my Mom’s second favorite micro-blogger!</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes">
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 103.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1;" width="138" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">dynamics crm from:richardknudson</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 130.5pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="174" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">All Tweets from me containing both “dynamics” and “crm”</span></span></p>
</td>
<td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #ece9d8; width: 315pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1;" width="420" valign="top">
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><a href="http://search.twitter.com/search?q=dynamics+crm+from%3Arichardknudson"><span style="font-size: small; color: #800080; font-family: Calibri;">http://search.twitter.com/search?q=dynamics+crm+from%3Arichardknudson</span></a><span style="font-size: small;"><span style="font-family: Calibri;"> </span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><span style="font-size: small;"><span style="font-family: Calibri;">&#8211; you can combine search conditions</span></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">Then you can extend this a little bit by turning the URL into an RSS feed. Add the text “atom” (a popular RSS feed format) after the second “search”, and you can turn any of these into an RSS feed. RSS feeds are XML data, so you can extract useful things like how many posts are returned, and other <strong style="mso-bidi-font-weight: normal;">very interesting aggregate data</strong>. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">So, this URL: </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><a href="http://search.twitter.com/search.atom?q=%22oreo+cakesters%22"><span style="font-size: small; color: #800080; font-family: Calibri;">http://search.twitter.com/search.atom?q=%22oreo+cakesters%22</span></a><span style="font-size: small; font-family: Calibri;"> starts to return some data a Kraft product manager should be interested in! </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">Oh, and don’t forget to add a smiley-face <img src='http://www.dynamicscrmtrickbag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  on the end of a search to return only positive tweets and a <img src='http://www.dynamicscrmtrickbag.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  to return negatives. So if you want to know whether they like your cakesters or not, and to what extent, compare </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><a href="http://search.twitter.com/search.atom?q=oreos%20"><span style="font-size: small; font-family: Calibri;">http://search.twitter.com/search.atom?q=oreos%20</span></a><span style="font-size: small; font-family: Calibri;"> <img src='http://www.dynamicscrmtrickbag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">with</span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><a href="http://search.twitter.com/search.atom?q=oreos%20"><span style="font-size: small; font-family: Calibri;">http://search.twitter.com/search.atom?q=oreos%20</span></a><span style="font-size: small; font-family: Calibri;"> <img src='http://www.dynamicscrmtrickbag.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;">Now that we&#8217;ve covered the basics of Twitter search, here&#8217;s what&#8217;s coming up in part 2: how to extend Dynamics CRM with Twitter search results.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dynamicscrmtrickbag.com/2009/03/09/mashing-up-crm-and-twitter-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Display a Google Map for an Account</title>
		<link>http://www.dynamicscrmtrickbag.com/2009/01/15/display-a-google-map-for-an-account/</link>
		<comments>http://www.dynamicscrmtrickbag.com/2009/01/15/display-a-google-map-for-an-account/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 23:49:57 +0000</pubDate>
		<dc:creator>Richard Knudson</dc:creator>
				<category><![CDATA[Integration and SharePoint]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[mashup]]></category>

		<guid isPermaLink="false">http://www.dynamicscrmtrickbag.com/?p=50</guid>
		<description><![CDATA[Recently I delivered a private bootcamp for a consulting firm, and one of the students in that most excellent group embarassed me by finding a piece of information on my own site that I couldn&#8217;t find! It turns out she was authenticated on our Student Portal and this little nugget was a locked-down announcement on the [...]]]></description>
			<content:encoded><![CDATA[<div>Recently I delivered a private bootcamp for a consulting firm, and one of the students in that most excellent group embarassed me by finding a piece of information on my own site that I couldn&#8217;t find! It turns out she was authenticated on our Student Portal and this little nugget was a locked-down announcement on the portal. I was anonymous at the time and it wasn&#8217;t exposed outside. A little too well-hid, I thought to myself, so I re-used it for a blog post.</div>
<div> </div>
<div>here&#8217;s the orignial post, from April of 2008: </div>
<div> </div>
<div>I&#8217;d been close on this a bunch of times but kept getting a script error (something like &#8220;GMap Application undefined&#8230;&#8221;). But then in San Francisco, Glen Willson of <a href="http://www.mil-sys.com/">Millenium Systems</a> showed me this code snippet that actually works! Here&#8217;s the note from Glen (with working jscript):</div>
<div> </div>
<div> </div>
<div dir="ltr"><span style="font-size: x-small; font-family: Arial;">This is how I did it:  Made a new tab with an iFrame, added a custom bit value (yes or no radio buttons) called &#8220;shmap&#8221; and added this code as an onchange event.  Enjoy!!  &#8230;and don&#8217;t forget my credit on the web page!</span></div>
<div dir="ltr"> </div>
<div dir="ltr">if (crmForm.all.address1_postalcode.DataValue != null){</div>
<div dir="ltr">crmForm.all.IFRAME_gmap.src = &#8220;<a href="http://maps.google.com/maps?q">http://maps.google.com/maps?q</a>=&#8221; +<br />
crmForm.all.address1_line1.DataValue + &#8220;+&#8221; + crmForm.all.address1_city.DataValue + &#8220;,+&#8221; + crmForm.all.address1_postalcode.DataValue;<br />
}</div>
<div dir="ltr">else<br />
{<br />
crmForm.all.IFRAME_gmap.src = &#8220;about:blank&#8221;<br />
}</div>
<div> </div>
<div>*******</div>
<div> </div>
<div>There you have it. Thanks Glen &#8212; you rock!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.dynamicscrmtrickbag.com/2009/01/15/display-a-google-map-for-an-account/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

