Skip to content

Category: Power Platform

Integrate Social Listening in Dynamics CRM Online

Posted in Dynamics 365, Microsoft Social Engagement, and Power Platform

About two years ago, Microsoft has acquired the Swiss startup “Netbreeze” and integrated under the name “Microsoft Social Listening” in the Dynamics world. With the Wave Spring 15 Update the tool was renamed again in “Microsoft Social Engagement“, you do not only hear your customers, now you interact with them.
Social engagement is a pure online service and is available as a Standalone Version or for Dynamics CRM Online customers free of charge with a minimum of 10 CRM Professional licenses.
I will now show you how to integrate Social Listening into Dynamics CRM Online. Notice that the connection with Dynamics CRM OnPremise works differently.

Dynamics CRM Configuration

Requirements for linking the two services are:

  • Both services are in the same Online Services Tenant.
  • The users have a licence for both products.
  • At least Dynamics CRM Online 2013 (V6.0), that should already apply to all CRM Online customers..
  • The users have the URLs from both services in the local Intranet Zone.

Built in a form

In the “Insert” tab of the form editor, you will find the item “insights from social media”. This you could also add multiple times to the fomular.

Configuration for a single record

Unfortunately, both services are not so closely linked together that automatically the correct data is pulled, therefore you have to say what you would like to see for which record. “Configuring insights from social media” click on it.

Built in a Dashboard

The configuration for Dashboards works similarly to the configuration in the form editor.

Good to know

Should you have multiple CRM instances in the same tenant have one, you can also connect them with your Social Listening instance.

Reset the integration

The settings you have made in your records and dashboards can you easily resetet globally. Simply going back “Microsoft Social Listening configuration”.

Dynamics CRM Bookmarklets V2

Posted in Dynamics 365, Power Platform, and Revive

About a half year ago, I’ve shared my Dynamics CRM Bookmarklets collection with you. Currently the collection has been reworked several times and the number of Dynamics CRM Bookmarklets Sammlung has been nearly doubled. I was influenced particularly with the new ideas for the bookmarklets by Jukka’s ‘CRM Navigation Hacking’ and Markus ‘Find Dependencies for Uninstalling Solutions’.

Compared to my first “Dynamics CRM bookmarklets” article, the display format has changed. Mainly because the implementation was not working clean as a hyperlink. In addition, some functions were still packed in an anonymous function.

Do you want to use one of bookmarklets, you just need to creat any bookmark in the bookmark toolbar of your browser and you change the URL to “javascript: (function () {…” and everything after the line comes from.

If you work with several browsers and want to your bookmarks synced in all of them I can recommend you Xmarks.

Updates!

  • 2017-09-21: added “open record by id”
  • 2017-09-21: updated “update view”
  • 2015-07-19: added “new solution” and “open default solution”
  • 2015-04-26: added “open perfomance center”
  • 2015-04-19: added “update view”
  • 2015-04-15: added “clear localStorage” and “clear seesionStorage”
/* Admin related bookmarklets */

//save & publish
javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.SaveForm(false); form.SaveAndPublish(); })();

//publish all
javascript: (function () { $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow.Mscrm.FormEditor.PublishAll(); })();

//get service infos
javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var orgUrl = form.Xrm.Page.context.getClientUrl(); var users; $.ajax({ type: "GET", contentType: "application/json; charset=utf-8", datatype: "json", url: Xrm.Page.context.getClientUrl() + "/XRMServices/2011/OrganizationData.svc/SystemUserSet?$filter=AccessMode/Value eq 0 and IsDisabled eq false", beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); }, async: false, success: function (data, textStatus, xhr) { var results = data.d.results; window.prompt('Copy to clipboard: Ctrl+C, Enter', "Unique Name: " + form.Xrm.Page.context.getOrgUniqueName() + ", URL: " + orgUrl + ", " + results.length + " active user"); }, error: function (xhr, textStatus, errorThrown) { alert(textStatus + " " + errorThrown); } }); })();

//get solution dependencies details
javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var SID = window.prompt("Enter Solution ID"); window.open(form.Xrm.Page.context.getClientUrl() + "/tools/dependency/dependencyviewdialog.aspx?objectid=" + SID + "&objecttype=7100&operationtype=dependenciesforuninstall"); })();

//show schema names
javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.Xrm.Page.ui.controls.forEach(function (a) { try { a.setLabel(a.getName()); } catch (e) { } }); })();

//get all optionsets
javascript: (function () { var osa = ""; var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.Xrm.Page.ui.controls.forEach(function (c, i) { if (c.getControlType() == "optionset") { var osv = "
Name: " + c.getName() + "
"; frames[0].$("#" + c.getName() + "_i").find("option").first().nextAll().each(function () { osv += "
Value: " + $(this).attr("value") + " - Text: " + $(this).attr("title") + "
"; }); osa += "
" + osv + "
"; } }); (window.open("#", "#").document.open()).write("
" + osa + "
") })(); //show hidden fields javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.Xrm.Page.ui.controls.forEach(function (c) { try { c.setVisible(true); } catch (e) { } }); })(); //get formtype javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var ft = ["1 = CREATE", "2 = UPDATE", "3 = READ_ONLY", "4 = DISABLED", "5 = QUICK_CREATE", "6 = BULK_EDIT"]; window.prompt('Copy to clipboard: Ctrl+C, Enter', ft[(form.Xrm.Page.ui.getFormType()) - 1]); })(); //get document.readystate javascript: (function () { alert(document.readyState) })(); //godmode javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.Xrm.Page.ui.tabs.forEach(function (a) { try { a.setVisible(true); a.setDisplayState("expanded"); a.setLabel(a.getName()); a.sections.forEach(function (b) { try { b.setVisible(true); b.setLabel(a.getName()); } catch (e) { } }) } catch (e) { } }); form.Xrm.Page.data.entity.attributes.forEach(function (d) { try { d.setRequiredLevel("none"); } catch (e) { } }); form.Xrm.Page.ui.controls.forEach(function (c) { try { c.setVisible(true); c.setLabel(c.getName()); c.setDisabled(false); c.clearNotification(); } catch (e) { } }); })(); //enable all fields javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.Xrm.Page.ui.controls.forEach(function (c) { try { c.setDisabled(false); } catch (e) { } }); })(); //update view javascript:(function(){var f=null,myUrl="",mV="",vT="",rT="",FetchXml="",LayoutXml="",entity={};f=$("iframe").filter(function(){return $(this).css("visibility")=="visible"})[0].contentWindow;if (f==undefined || f==null){return}myUrl=f.Xrm.Page.context.getClientUrl()+"/XRMServices/2011/OrganizationData.svc/";mV=window.prompt("GIUD of the view:");if (mV=="" || mV==null){return} vT=window.prompt("View type? 1 System OR 2 User");if (vT=="" || vT==null){return} if (vT==1){vT="SavedQuerySet"} else if (vT==2){vT="UserQuerySet"} else {alert("Error.");return}rT=window.prompt("Update Xml? 1 Fetch OR 2 Layout"); if (rT=="" || rT==null){return}var req=new XMLHttpRequest();req.open("GET", encodeURI(myUrl+vT+"(guid'"+mV+"')?$select=ColumnSetXml,Name,FetchXml,LayoutXml"),false);req.setRequestHeader("Accept", "application/json"); req.setRequestHeader("Content-Type","application/json;charset=utf-8");req.onreadystatechange=function(){if (this.readyState==4){req.onreadystatechange=null;if(this.status==200){var result=JSON.parse(req.responseText).d;FetchXml=result.FetchXml;LayoutXml=result.LayoutXml }else{alert(this.statusText);return}}};req.send();if (FetchXml=="" && LayoutXml==""){return}if (rT=="1"){entity.FetchXml=window.prompt("FetchXml:",FetchXml); if (entity.FetchXml=="" || entity.FetchXml==null){return}} else if (rT=="2"){entity.LayoutXml=window.prompt("LayoutXml:",LayoutXml);if (entity.LayoutXml=="" || entity.LayoutXml==null){return}}else{alert("Error.");return}var req2=new XMLHttpRequest();req2.open("POST",encodeURI(myUrl+vT+"(guid'"+mV+"')"),false);req2.setRequestHeader("Accept","application/json");req2.setRequestHeader("Content-Type","application/json;charset=utf-8");req2.setRequestHeader("X-HTTP-Method","MERGE");req2.onreadystatechange=function(){if (this.readyState==4){req2.onreadystatechange=null;if (this.status==204 || this.status==1223){if(window.confirm("Done! Publish all?")){f.Mscrm.FormEditor.PublishAll()}}else{alert(this.statusText);return}}};req2.send(JSON.stringify(entity))})(); //open performance center javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var Perf = form.Mscrm.Performance.PerformanceCenter.get_instance(); Perf.TogglePerformanceResultsVisibility(); })(); //new solution javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/tools/Solution/edit.aspx"); })(); /* Record related bookmarklets */ //open record by id javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var ty = "etc", tc = window.prompt("Entity?", "schema name or type code"), id = window.prompt("GUID?", "without braces"); if (isNaN(tc)) { ty = "etn" } window.open(form.Xrm.Page.context.getClientUrl() + "/main.aspx?" + ty + "=" + tc + "&id=%7b" + id + "%7d&pagetype=entityrecord"); })(); //show record properties javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var id = form.Xrm.Page.data.entity.getId(); var etc = form.Xrm.Page.context.getQueryStringParameters().etc; form.Mscrm.RibbonActions.openFormProperties(id, etc); })(); //get field value javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var v, f = window.prompt("Enter field name"); var a = form.Xrm.Page.getAttribute(f); switch (a.getAttributeType()) { case "optionset": case "boolean": v = a.getSelectedOption().text; break; case "lookup": v = a.getValue()[0].name; break; default: v = a.getValue(); break; } window.prompt('Copy to clipboard: Ctrl+C, Enter', v); })(); //get entity typecode javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var name = form.Xrm.Page.data.entity.getEntityName(); var typeCode = form.Xrm.Page.context.getQueryStringParameters().etc; if (typeCode) { window.prompt('Copy to clipboard: Ctrl+C, Enter', typeCode.toString() + " = " + name) } })(); //get dirty fields javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var message = "The following fields are dirty: \n"; form.Xrm.Page.data.entity.attributes.forEach(function (attribute, index) { if (attribute.getIsDirty() == true) { message += "\u2219 " + attribute.getName() + "\n"; } }); alert(message); })(); //get data Xml javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.prompt("Copy to clipboard: Ctrl+C, Enter", form.Xrm.Page.data.entity.getDataXml()); })(); //create new record javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; try { var name = form.Xrm.Page.data.entity.getEntityName(); } catch (e) { } var y = prompt('Type the schema name of the entity to create:', name ? name : 'account'); if (y) { window.open(form.Xrm.Page.context.getClientUrl() + "/main.aspx?etn=" + y + "&pagetype=entityrecord"); } })(); //activate record javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.Mscrm.CommandBarActions.activate(form.Xrm.Page.data.entity.getId(), form.Xrm.Page.data.entity.getEntityName()); })(); //get record url javascript: (function () { var url = document.getElementById('crmContentPanel').getAttribute('src'); if (url.indexOf('/read/page.aspx') == -1) { if (url.indexOf(Xrm.Page.context.getOrgUniqueName()) != -1) { window.prompt('Copy to clipboard: Ctrl+C, Enter', Xrm.Page.context.getClientUrl() + url.replace('/' + Xrm.Page.context.getOrgUniqueName(), '')); } else { window.prompt('Copy to clipboard: Ctrl+C, Enter', Xrm.Page.context.getClientUrl() + url); } } else { window.prompt('Copy to clipboard: Ctrl+C, Enter', window.location.href); } })(); //get record id javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.prompt("Copy to clipboard: Ctrl+C, Enter", form.Xrm.Page.data.entity.getId().slice(1, -1)) })(); //save javascript: (function () { $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow.Xrm.Page.data.entity.save(); })(); //save and new javascript: (function () { $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow.Xrm.Page.data.entity.save('saveandnew'); })(); //save and close javascript: (function () { $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow.Xrm.Page.data.entity.save('saveandclose'); })(); //refresh form javascript: (function () { $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow.Xrm.Page.data.refresh() })(); //refresh & save form javascript: (function () { $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow.Xrm.Page.data.refresh(true) })(); //open record from lookup javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var elem = form.document.activeElement; var id = elem.getAttribute("id"); var guid = null; var type = null; if (elem.getAttribute("isInlineLookup") == "true") { guid = elem.getAttribute("oid"); type = elem.getAttribute("otypename") } else if (id != null) { var pos = id.lastIndexOf("_"); if (pos > -1) { var suffix = id.substring(pos + 1); if (["ledit", "lookupDiv", "i"].indexOf(suffix) > -1) { id = id.substring(0, pos) } id = id.replace("_i_ledit_multi", "").replace("_ledit_multi", "") } var control = form.Xrm.Page.getControl(id); if (control != null) { var field = control.getAttribute(); if (field != null) { var value = field.getValue(); if (value != null) { var record = value[value.length - 1]; guid = record.id; type = record.entityType } } } } if (guid != null && guid != "" && type != null && type != "") { var url = form.Xrm.Page.context.getClientUrl() + "/main.aspx?etn=" + type + "&id=" + guid + "&pagetype=entityrecord"; window.open(url) } else { alert("Unable to open record. Make sure you're clicked into a lookup field with a value.") } void (0); })(); }) /* Navigation related bookmarklets */ //open CRM calendar javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/workplace/home_calendar.aspx"); })(); //open CRM announcements javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/home/homepage/home_news.aspx"); })(); //open mobile express javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/m"); })(); //open moca client javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; var url = form.Xrm.Page.context.getClientUrl(); window.open(url + "/nga/main.htm?org=" + form.Xrm.Page.context.getOrgUniqueName() + "&server=" + url); })(); //open advanced find javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/main.aspx?pagetype=advancedfind"); })(); //open RecordWall javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.Xrm.Utility.openWebResource("msdyn_/RecordWall.htm"); })(); //open PersonalWall javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; form.Xrm.Utility.openWebResource("msdyn_/PersonalWall.htm"); })(); //open solution list javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/tools/Solution/home_solution.aspx?etc=7100&sitemappath=Settings%7cCustomizations%7cnav_solution"); })(); //open default solution javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/tools/Solution/edit.aspx?id=%7bfd140aaf-4df4-11dd-bd17-0019b9312238%7d"); })(); //open diagnostic page javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/tools/diagnostics/diag.aspx"); })(); //open entity editor javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; try { var etc = form.Xrm.Page.context.getQueryStringParameters().etc; } catch (e) { } form.Mscrm.RibbonActions.openEntityEditor(etc); })(); //open systemjobs javascript: (function () { var form = $("iframe").filter(function () { return $(this).css("visibility") == "visible" })[0].contentWindow; window.open(form.Xrm.Page.context.getClientUrl() + "/tools/business/home_asyncoperation.aspx"); })();

Should you have own ideas or bookmarks that I have not covered here, you can send me them very gladly.

E-mail tracking with custom email fields

Posted in Dynamics 365, Power Platform, and Revive

Anyone who has ever worked with the Dynamics CRM for Outlook client, is familiar with the procedure of email tracking. You press the “Track” button and the CRM client creates on an e-mail record on the CRM server which again resolves the recipient and sender addresses, and linked to the corresponding records. But what if I want to same more e-mail addresses?

Are e-mails tracked when the e-mail adress is noted in a custom field?

The entity “Contact” has by default already three e-mail address fields. So, I’ve created a custom field as the fourth e-mail field.

When creating your own e-mail address field, it is important that chooses the “e-mail” format. So the CRM know that it can search here for e-mail addresses. By the way is then performed a validation in this field and the e-mail address is formatted as a mailto link, so that your email client will directly open when you click it.

Next, I’ve created a contact record with four different e-mail addresses and wrote them a message to them and tracked it.

Conclusion to E-mail tracking with custom E-mail fields

In the following screenshot you can see that it works perfectly. All present and the new e-mail address field are actually assigned only by tracking to the contact, to set a regarding was not necessary.

Microsoft Dynamics Online Services Support und Service

Posted in Dynamics 365, Microsoft Social Engagement, and Power Platform

Sobald ihr ein Abonnement für einen Microsoft Online Service abschließt (Azure zählt nicht dazu) erhaltet ihr für diesen Service kostenfreien Support von Microsoft. Darüber hinaus gibt es drei weitere kostenpflichtige Microsoft Dynamics Online Services Support und Service Pläne, mit denen Microsoft seine Kunden schneller/besser versorgt und Ihnen weitere Mehrwerte bietet.

Microsoft Dynamics Online Services Support und Service Pläne

Gemeinsamkeiten

Bei allen Microsoft Dynamics Online Services Support und Service Plänen kann man unlimitiert Anfragen per Telefon oder Webformular erstellen.
Man erhält Zugang zu Selbsthilfe Material und zu den diversen Community Foren. Gerade wenn es um die Erweiterung der Lösung geht sind die Community Foren der richtige Anlaufpunkt. Hier tummeln sich viele Gleichgesinnte die einem wertvolle Tipps geben können.
Außerdem gibt es für alle Microsoft Online Services ein Service Health Dashboard.

Subscription

Der Subscription Plan ist der kostenlose Support Plan der in jedem Abonnement verfügbar ist. Wenn ihr mit diesem eine Service Anfrage erstellt, erhaltet ihr innerhalb eines Werktags, zu euren örtlichen Geschäftszeiten, eine erste Antwort von einem Tier 3 Engineer. Ihr werdet dazu bevorzugt per Telefon oder falls ihr nicht erreichbar seid per E-Mail kontaktiert.
Zum Selbststudium erhaltet ihr Zugang zur Selbsthilfe Material.

Enhanced

Wollt ihr einfach nur schnellere Reaktionszeiten ist dies der richtige Plan für euch. Hier erhaltet ihr innerhalb von zwei Stunden, entsprechend euren lokalen Geschäftszeiten, die erste Antwort vom Support.
Zusätzlich erhaltet ihr Zugang zu eLearning Material.

Professional Direct

Mit dem Professional Direct Plan spielt man schon in einer anderen Liga. Die erste Antwort erhaltet ihr hier innerhalb von nur einer Stunde. Ein Tier 2 Engineer kontaktiert euch zu egal welcher Uhrzeit. Ihr solltet also auch zu sehen dass ihr selbst rund um die Uhr zu erreichen seid.
Das Trainingsmaterial welches ihr ab diesem Plan erhaltet ist auf eure Bedürfnisse anpassbar.
Zusätzlich erhaltet ihr monatlich von einem Service Delivery Manager Informationen und Eskalations-Unterstützung zu euren laufenden Anfragen und Analysen zu bisherigen Anfragen. Außerdem werdet ihr über den Status eurer Lösung informiert und erhaltet Unterstützung bei der Planung von Updates.
Ein Service Delivery Manager kann euch auch eingeschränkt beratend zur Seite stehen.

Premier

Willkommen in der Oberliga. Eure erste Antwort auf eine Service Anfragen erhaltet ihr hier ebenfalls rund um die Uhr innerhalb einer Stunde, aber diesmal von einem Tier 3 Engineer.
Monatlich kontaktiert euch ein, oder besser gesagt euer, Service Delivery Manager. Dieser steht euch auch beratend und proaktiv mit Verbesserungsvorschlägen zur Seite und besucht euch, falls nötig, auch vor Ort.

Übersicht

Dynamics CRM 2015 Outlook Client

Posted in Dynamics 365, and Power Platform

Compared to its predecessors, Dynamics CRM 2011 and 2013 has not changed much in the system requirements and the configuration of Dynamics CRM 2015 Outlook client. The demands on the hardware has not changed and the demands on the operating system and the Office suite have been updated.

Dynamics CRM 2015 Outlook Client – System Requirements

Hardware Requirements

 Minimum and Online ModeRecommended and Offline Mode
CPU1,9 GHz x86 or x64 Dual-Core
with SSE2 instruction set
1,9 GHz x86 or x64 Dual-Core
with SSE2 instruction set
RAM2 GB4 GB
HDD1,5 GB2,0 GB, 7200 RPM
VGASVGA, 1024×768SVGA, 1024×768

Microsoft Dynamics CRM 2015 for Outlook will be probably also install and operate with fewer resources, but then performance is below what Microsoft provides for this application.

Network Requirements

  • Banwidth > 50 kbps
  • Latency < 150 ms

Software Requirements

  • Operatingsystem
    • Windows 8.1, Windows 8, Windows 7 and Windows Vista SP2 (x86 or x64)
    • Windows Server 2012 when running as a Remote Desktop Services application
  • Browser
    When it comes to browser I want to mention that the Outlook client uses the engine of Internet Explorer, this should therefore necessarily be installed in a supported version.

    • Internet Explorer 10 and 11
    • Mozilla Firefox (latest Version) on Windows 8.1, 8 or 7
    • Google Chrome (latest Version) on Windows 8.1, 8 or 7 and also on Google Nexus 10 Tablet
    • Apple Safari (latest Version) on Mac OS X 10.8 (Mountain Lion), 10.9 (Mavericks) or Apple iPad
  • Microsoft Office
    • Microsoft Office 2013
    • Microsoft Office 2010

    Do you have multiple versions of Microsoft Outlook the Dynamics CRM 2015 Outlook client is only running in the latest version of Outlook.

     

  • Miscellaneous
    Following components will be, if not already present in the system, installed::

    • Microsoft .NET Framework 4.5
    • Microsoft Windows Installer 4.5
    • MSXML 4.0
    • Microsoft Visual C++ Redistributable
    • Microsoft Report Viewer 2010
    • Microsoft Application Error Reporting
    • Windows Identity Framework (WIF)
    • Windows Azure AppFabric SDK V1.0
    • Windows Live ID Sign-in Assistant 6.5
    • Microsoft Online Services Sign-in Assistant 2.1
    • Microsoft SQL Server Native Client
    • Microsoft SQL Server Compact 4.0
    • Reporting Services Microsoft ActiveX Control

Dynamics CRM 2015 Outlook Client –
Installation resp. Upgrade-Installation

  1. System Requirements Check
    • For an upgrade installation, the Microsoft Dynamics CRM 2013 Outlook client must be installed.
      The 2011 or even the 4.0 client is not supported and should first be removed.
  2. Log in as a local administrator on the computer
  3. Best Practice: Install the most recent updates for Microsoft Office
  4. Get installation files and start:
    • Web-Installer
      Do you work with computer on which is Outlook installed and you oepn CRM in a browser, you will be presented a yellow message bar which is labeled “Get CRM for Outlook”. If you push the button, a small web installer downloades the then starts and the installation of Microsoft Dynamics CRM 2015 for Outlook starts.
    • Download-Installer
      To completely download the installer on your computer you will need to browse to the Microsoft Dynamics CRM 2015 for Microsoft Office Outlook (Outlook client) download page. There you can download the installer and for your Outlook version (x86 or x64) in accordance with your CRM servers version and its base language. Also possibly later released a service pack and update rollups should be installed in accordance with the CRM Server version and base language. Once the download is complete you start the downloaded file and start the installation.
  5. Accept license agreement
  6. Selects whether now already want to obtain updates through Windows Update and ride with the installation.
            I prefer the subsequent installation by Update Rollup her mostly found on Microsoft download page below the download installer, so I know exactly what is installed.
  7. If you click here on options, you can choose to install the offline functionality of the Dynamics CRM 2015 Outlook client. For this, a Microsoft SQL Server Express 2012 is installed. You can also install this function at any time later by just click “Go Offline” in the Dynamics CRM 2015 Outlook Client .
  8. Now click on “Install” respectively “Upgrade now” and off you go.

Dynamics CRM 2015 Outlook Client – Configuration

  1. Should you have never started Outlook is this the first step. The Microsoft Dynamics CRM 2015 for Outlook client requires an existing e-mail profile.
  2. Start Configuration-Wizard: on the start screen click “Configuration-Wizard” or in earlier Windows Versionen go to Start > All Programs > Microsoft Dynamics CRM > Configurations-Wizard. You can also start the Configurations-Wizard from the CRM Tab in Outlook.
  3. Server URL
    • Microsoft Dynamics CRM Online customers can open the Dropdown-List and will find the entry “CRM Online” vor
    • Microsoft Dynamics CRM on-premise customers enter the internal or external URL of the Discovery-Service URL, depending on your configuration
  4. Click on “Test Connection…”. For CRM Online you will be probably asked for your credentials. Use the credentials you for CRM in the browser.
  5. On successful connection test it fills the section “Organisation Information” with the organizations available for your users.
  6. Pick your organization and click OK