Tip #696: Get your foot out of your (email) mouth

Foot in mouthEver send an email and immediately regret it? Ever accidentally copy a recipient on an email that you wish you hadn’t? Unfortunately, email (outside of your Exchange server) does not have a way to recall/undo a sent email.

Having done this once too often, I created a rule in Outlook to delay sending emails by 2 minutes.

1.In Outlook 2013/2016 click “File”

2. Click the “Manage Rules & Alerts” button

manage rules

3. Click “New Rule” and select “Start from a Blank Rule” >> “Apply rule on messages I send” then click the Next button.

ruleswizard

4. On  the condition screen, don’t select any checkboxes and click “Next.”

5. Outlook will remind you that this rule will apply to every message you send. Click “Yes.”

allmessages

6. On the actions page, select “Delay delivery for a number of minutes.” Click the hyperlink for number of minutes and specify the number of minutes that the email should be delayed. I went with 2 minutes.

delay delivery

7. Click “Finish”

Now you will have two minutes after clicking send on an email to change your mind or undo the email being sent and get your foot out of your mouth.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #695: Full text search and field length

Standard field lengthIf you are on CRM 2015 Update 0.1 or later, you can enable full text search and make the quick search in CRM perform faster. If you do this, there is one drawback of which you should be aware: you will not be able to modify the field length of any field set to be a find field after full text search is enabled.

If you find yourself needing to change the length of a find field, you can disable full text search; however, you will need to wait until the maintenance job runs before you can modify the field length. This can take a while.

Alternatively, some administrators have reported success by manually dropping the full text index using SQL Management Studio, changing the field length in CRM, and then manually recreating the full text index in SQL. This approach is unsupported.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #694: Access demo and learning materials when you are not a partner

Selling your soulTip #689 maybe the quickest way to create CRM Online demo but one of the requirements is that your email must be associated with a Dynamics CRM Partner.

But what if you are an independent consultant or just started a company and yet to acquire the coveted status? Peter “I think I’ve got the right one” Hale reports from the field that you can trade a small piece of yourself by signing up with https://www.365talentportal.com/ using your standard Microsoft account. You then get access to the goodies like Dynamics Learning Portal and the demo site.

Note: it’s a sleek looking portal but we are not affiliated with it in any shape or form. Trade your soul at your own discretion.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #693: Tipster Guide to Dynamics CRM Project Services – Sales Automation

Snake Oil SalesDepending on your role in your organization, Dynamics CRM Project Services Automation can be used in several different ways. One of these ways is to manage you sales process as you quote and sell out your projects. This video shows you how to accomplish this.

Give us your feedback, all of it: good, bad, and ugly, I’m sure we can take it. Suggest new topics either in comments or by sending your ideas to jar@crmtipoftheday.com.

Don’t forget to subscribe to http://youtube.com/crmtipoftheday.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #692: Extract Word and Excel templates from CRM 2016 like a boss

The creativity of our fellow CRMers does not stop to surprise me. They go to the extraordinary lengths to avoid code because, as the true masters of their craft, they do not parade the skills just for the sake of it. But, as I was preparing the awesome tip #691 I couldn’t help but repeat “there must be a better way”.

Good developers write good code but

true developers only write code when there is no any other way or when the alternative is too painful to execute.

Military ExtractionTooth ExtractionExtracting the templates from CRM 2016 seem to be one of these cases. There are extractions and then there are extractions.
 
Compare setting up a fake workflow with the script that uses PowerShell module for Dynamics CRM Organization Data and extracts all templates including Excel ones into a temp folder in one sweet move:

Import-Module Microsoft.Xrm.Data.Powershell
$Global:conn = Get-CrmConnection -InteractiveMode

# get all template records
$templates = Get-CrmRecords `
    -EntityLogicalName documenttemplate `
    -Fields name,documenttype,content

# loop through the templates 
ForEach($t in $templates.CrmRecords) 
{
  # figure out file extension
  if($t.documenttype -eq 'Microsoft Excel') { 
    $ext = '.xlsx' 
  } 
  else {
    $ext = '.docx'
  } 
    
  $filename = 'c:\temp\' + $t.name + $ext
  write-host $filename

  # decode and dump file content 
  $bytes = [convert]::FromBase64String($t.content)
  [io.file]::WriteAllBytes($filename, $bytes)
}

Like a boss memePS. Credit where credit is due. After writing the script above I found the equivalent C# code, so I won’t be claiming land rights on this one.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #691: Extract an existing Word Template from CRM 2016

Tooth ExtractionIn CRM 2016 we have the fantastic Word Templates feature with which users can generate finished documents in just a few clicks. Far easier than the old mail merge options, and no need to have locally installed versions of Word, the Outlook client and so on.

But one annoying limitation of the feature for many is that there is no obvious way to download or export an existing template. So you can’t get the OOB Account Summary report, make a few minor changes and upload it – you have to start from scratch every time. Or if your colleague built a template and uploaded it to UAT then goes on vacation without sharing the original to your shared source area, you can’t upload that to production when the client signs it off.

Sarah “definitely a cat in a previous life (or the next)” Critchley is a regular contributor to CRMUG in the UK, and draws some great infographics to explain various CRM topics, or as a way to collate her notes from other people’s presentations. She wrote an article about how to auto-generate Word templates using a Workflow and the OOB Action SetWordTemplate. Buried in the article is a little nugget of information mentioned almost in passing as a bit of a “gotcha” to avoid if you choose a template for the wrong entity.

Adam “you say gotcha, I say undocumented feature” Vero spotted this and realised the potential: you can download any existing template by creating an on-demand workflow that is (purposefully) badly written. You create a new, on-demand Workflow for any entity except the one the template is for as long as it supports Notes*. Contact would be a good example here. In the Workflow you add a step to perform a SetWordTemplate Action, set the properties and select the Word template you want to export and the current entity record such  as {Contact(Contact)}.

Activate the Workflow, go find a Contact record and run the Workflow against it. The template you selected does not “work” for this entity, so the Note that is created will have the original template attached with all the raw XML content controls you need, instead of a finished document. Simply download this attachment, delete the note, and deactivate your Workflow. Next time you need to do this, simply edit your Workflow to select a different document template, re-activate and run it again.

*you can use the entity the template is for, as long as it has at least one parent entity that supports Notes. So if you have built a Workflow for Contact and later want to use this to extract a template for the Contact entity, just select the template you want and make the target something other than the Contact, such as {Company Name(Contact)}. When you run the workflow, the template will be attached to a Note on the parent Account record (in this example).

All we have to hope now is that Microsoft don’t decide this is a bug that needs fixing in a later version…

VN:F [1.9.22_1171]
Rating: 4.6/5 (5 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #690: No field level security for alternate keys

Bunch of alternate keysThere were many people taking part in this discussion but I’m just going to take all the credit for providing the summary here. Contributors can claim the free drink from me when we meet.

 

If you are planning to use alternate keys to access CRM data, keep in mind that the fields with field level security applied are not available for selection as a part of a key.

If you have an existing key and try to apply FLS to one of the attributes, you will be knocked back:

The field Foobar is not securable as it is part of entity keys ( Barbaz_key ). Please remove the field from all entity keys to make it securable.

It all makes sense if the field is secured for creates and updates, it’s a pity that the rule is a blanket one and covers read permissions as well – it would make perfect sense to secure the key attributes as read-only for majority of users and only enable create/update for a selected group.

VN:F [1.9.22_1171]
Rating: 4.0/5 (2 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #689: The quickest way to create CRM Online demo

Quick demo (tape)Daryl “New MVP on the block” LaBar certainly is pulling his tipping share and is back with another quick tip.

If you are part of the Microsoft Partner ecosystem, and are in the need of a well designed demo with the scripted scenarios to walk through, then the quickest way to get there is not CRM Online trial path but http://demos.microsoft.com. Once you are logged in, and created a tenant, it will take less than a minute to provision a fully functional CRM Online + SharePoint Online demo with the full demo script available.

These demos are a selling tool and are unsuitable as a true trial of the product as you won’t be able to convert them to a paid subscription. This aside, the demos have 90 days expiration which beats 30 standard days hands down.

VN:F [1.9.22_1171]
Rating: 5.0/5 (3 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #688: Tipster Guide to Dynamics CRM Project Services – Overview Part II

TitanicContinuing where part I left off, we look more at the management options available with Project Services. We show you how to add and assign Tasks, manage work, submit and approve time sheets and expenses, and perform basic reporting.

Give us your feedback, all of it: good, bad, and ugly, I’m sure we can take it. Suggest new topics either in comments or by sending your ideas to jar@crmtipoftheday.com.

Don’t forget to subscribe to http://youtube.com/crmtipoftheday.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #687: OptionSets in Power BI

OptionSetIf you’ve been playing working with the Dynamics CRM content packs for Power BI, you probably know that for custom OptionSets attributes you get only the numeric value and not the associated label.

If you read our tip #684, you know it’s probably because Power BI does not send annotation preferences to CRM. The team does recognize this gap and is working with the Power BI team to provide a long-term solution.

In the meantime, the workaround is to use temp tables for OptionSets and merge your CRM data with these tables:

let 
  Source = #table(
    {"Value","Option"},
    {
      {0, "No Committed Budget"},
      {1, "May Buy"},
      {2, "Can Buy"},
      {3, "Will Buy"}
    })
in
  Source

How do we know what to enter, and how to define and use these temp tables? Content Pack PBIX file has all the answers and David “Xrm.Tools” Yack has a nice post about PBIX content and internals.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
Tweet about this on TwitterShare on FacebookShare on Google+