Copy2Contact gets contact information into Outlook and CRM

I discovered a really handy utility a while ago called Copy2Contact but have only just got around to writing this article about how I use it to take unformatted information and create CRM Contact data from it. Copy2Contact sits in the system tray and allows you to select a chunk of text in pretty much any application, hit a shortcut key and it will create a new Outlook contact using that information (I use Ctrl+C, C, so this is just a “double tap” on a normal Ctrl+C for copy). Typically this might be text in an e-mail but it does not have to be – it could be from a web page, Word document, pdf file or anywhere else really.

Better still, it uses some pretty clever algorithms to figure out which bit of the text is the name, job title, company, address, telephone, mobile, email and so on. Any data it can’t interpret it adds to the notes section so you can a) see what it was and b) copy and paste it somewhere else if needed.

It’s not perfect, and sometimes gets bits of the information in the wrong places but it is a heck of a lot quicker than creating a new contact by hand then copy and pasting information across by hand, which is usually very painful. While the new contact is still open you can use the program’s “Utils” menu to swap some things round which may be commonly mistaken, such as name<>company or job title<>company, which is easier than copy / pasting these via notes to get them in the right places.

A very common use for this is with someone’s email signature as the source text. Select, hit your shortcut and you have a new contact record pretty much ready and waiting to be saved.

Copy2Contact is not free, but I have easily earned back the $40 cost of the personal edition through the time I have saved by using this. There is a Pro version as well which has additional features to help do things like consistent (US style) formatting of phone numbers, capitalizing city names and so on which I don’t really feel the need for.

To be absolutely clear: I have no affiliation with Copy2Contact and have my own paid-for copy of their software, I have not received any freebies or review copy or anything else in order to write this article.

You can try the software for free for 14 days from the trial download page to see if it suits you. There are versions for Outlook,, Google apps and more PC-based tools, as well as Blackberry  and iPhone/iPod/iPad.

How to use this with Dynamics CRM for Outlook

As you are probably aware, to get from an Outlook Contact to a CRM record is only one click away – hit the Track button and you are done.

So let’s look at this for something like a very simple Opportunity capture process. Say you have a “mailto” link on your website so visitors can send you an email if they are interested in buying your product / using your services / signing up for your newsletter.

You open the received email and select the sender’s email signature. Hit Ctrl+C,C and Copy2Contact creates a new Outlook contact record which you then edit and correct. If they have not included their email address in their signature (some people seem to think this is redundant) then go back to the email, hover over the sender’s name and when an Outlook “contact card” popup appears, you can easily right click on the email address as it appears there and choose “copy” (this strips any odd things like < > characters from around it, for example).

I would advise hitting the “save” button at this point (top left in the quick access toolbar, not the big “Save and Close” button on the ribbon) – this will use Outlook’s duplicate detection to warn you if it already has a matching contact.

If this is all OK, click “Track” to promote a copy of this contact into CRM. If it is a Contact for an existing company you should use “Set parent” instead to connect it to the correct Parent Customer Account at the same time.

Note this will also change the company name in the Outlook contact to match the name of the chosen Account record. You can turn this off if you prefer: go to File > CRM > Options > Synchronisation. Uncheck “Update Company fields with parent account names”.

Track and convert the e-mail

Now, track the e-mail into CRM too (it will recognise the sender’s email and connect the email to the new contact record), then click “View in CRM” to open it there. In the “Convert activity” group of the E-mail ribbon tab, click “To Opportunity” (or Case, if that is more relevant to you).

You will be asked who the customer is (but it already fills this in with the new Contact), and whether you want to open the new record (yes), close the e-mail etc. When you finish with this dialog, it creates the new Opportunity and will set the “regarding” link on the e-mail so it appears as the first item in the Opportunity record’s activity history.

“The reason why I recommend you do the “view in CRM”, then convert, is because if you just use the “convert to opportunity” in the Outlook client, it does not do the final step of linking up the email with “set regarding”. This is currently logged as a bug with Microsoft via the Connect feedback site and hopefully they will get round to fixing this behaviour soon.)

What about an Account record?

Good question. My recommendation if you want to be able to use this sort of prospect capture process would be to create a workflow for newly created Contacts which checks to see if they already have a parent account, which would be the case if you created them under an existing Account directly in CRM, or if you use “Set Parent” to track them in from Outlook.

If not, then go create a new Account record using the same address as the Contact, their phone number (perhaps) and so on, and link the new Account to the Contact as Parent Customer and vice versa as Primary Contact. But where will you get the company name from?

Outlook and CRM simply do not synchronise the company name field at all, so you can’t use that. My suggestion would be to copy the company name into “department” and use that instead for this specific purpose. I realise some people probably use department, but most of the implementations I have dealt with don’t rely on this heavily. To see the “department” field in the Outlook contact form, click Show > Details on the main Contact ribbon tab (this is because the “Show” group usually gets compressed when the form is not full screen). Do this before you track the item into CRM ideally.

So your workflow now has this logic – run the workflow for every Contact record which is created or when the department field is changed (in case you forgot to do this, Tracked it, then updated it). Check if there is no Parent Customer Account, and that there is something in the Department field. If so, go create a new Account, copying a whole bunch of fields from the Contact (address etc, and link Primary Contact to the Contact record). Then update the Contact record to link to the new Parent Customer and clear out the department field. This should look something like the workflow below (click to enlarge):

CRM Workflow to create new Account from Contact

Note that my workflow includes deleting the value from the “department” field, and this is also a field which will trigger the workflow to run again. So the workflow will run a second time, but do nothing because of the opening condition. Not a big deal, in this case, but more generally you do want to watch out for this sort of thing causing a circular repetition.

Notice the “default action” in the “otherwise” clause at the bottom so that if the condition is not met, the workflow will stop with a status of “Canceled”. This ensures that these are obvious when you view the workflow history or system jobs. If you leave this out then it will reach the end of the workflow and show a status of “succeeded”, which to my mind implies it did something and is less obvious when troubleshooting.

Considering the longer term – what if you updated the Contact to have a department at a later date? Again, the workflow would run and if they already have an Account, it would do nothing and be canceled. If they don’t have an Account because this Contact does not work for a company (or you are not interested if they are, maybe in a B2C sales organisation), what would they be doing in a department anyway?

Can I use this with data emailed from a web form?

Yes, if you have a web form that captures data and sends it to you by email (a fairly common setup), you can use Copy2Contact to create an Outlook contact and Track this into CRM. The only missing link is that when you Track the e-mail it won’t get linked to the Contact automatically since it is not “from” their email address. If you use “Set Regarding” on the e-mail you should still be able to do the rest of the convert process, but once the e-mail shift across to be “regarding” the Opportunity (or Case) then it will no longer show up in the Contact’s history since there is no relationship between the records.

Not just for contacts – create tasks, appointments and notes too

Despite the name, Copy2Contact can be used for other things too, such as tasks and events (appointments) which again can be Tracked in CRM to join things up.

I often get asked whether someone can convert an e-mail into a Task or Appointment, and while there is no direct way (lots of options such as automatic or on-demand workflows or using dialogs in CRM 2011, all of which are a bit unsatisfactory). Using Copy2Contact you can select your text in an e-mail, hit your hotkey and then switch from creating a Contact to creating a Task or event (Appointment). It will use relevant bits of the text to set the due date or the appointment time (and if possible, the subject and location but I find it tends to only get these if they are very explicitly labelled as such).

For example, selecting part of the text from an e-mail your manager sent you as shown below:

Example text for Copy2Contact Task

would allow you to create a Task very quickly with this text in the description and a due date of Wednesday.

The following e-mail could easily be converted into an Outlook Appointment for 8pm on Thursday next week, which of course in turn could be made into a meeting request back to that person to make sure you both diarise it, and you could Track it in CRM as an activity against a custom Project entity, or for that customer Account, or wherever is most appropriate.

Example text for Copy2Contact Appointment

I’m not sure if Copy2Contact is using their own algorithm to figure these out as part of their parsing, or using Outlook’s own natural language interpreter for dates, but either way it gets a pretty reliable result.

Outlook does have a little-known feature to reply to a message with a meeting request rather than an e-mail, shown in the screenshot below:

Outlook ribbon Reply with Meeting Request

Perhaps your manager asks for an update on something, and the truthful reply “it’s complicated” does not seem appropriate. Reply with a meeting request and book ten minutes with them to go through it face to face. While this is useful, it just defaults to the next calendar slot (eg a half hour period if that is what you have set as default), leaving it to you to schedule this and choose a more sensible time and duration.

When a time has already been proposed by the other person as part of the e-mail text, Copy2Contact is probably a faster option, so use both methods depending on circumstances.

Are you already using Copy2Contact? Do you have any particular tips on getting the most out of it? Do you use some other third-party tools to get information from other sources neatly into CRM as Contact records?

Comments are closed.

%d bloggers like this: