Olá Pessoal,
Desde que algumas redes sociais têm aberto suas APIs, temos a oportunidade de fazer integrações bem legais com o Dynamics CRM, as quais nos permitem irmos mais além e proporcionarmos uma experiência diferenciada para o usuário.
Nesse aspecto, vale ressaltar um dos pilares do produto que é a extensibilidade. É bem verdade que vários dos concorrentes do Dynamics CRM garantem que não trazem estratégias enlatadas onde a empresa precisa se adaptar a elas, mas pelo que tenho visto no mercado, as adaptações são demoradas, dolorosas e caras.
Como diferencial, o Dynamics CRM oferece opções de customização do lado cliente e servidor, permitindo que de maneira muito fácil, consigamos que o produto atenda as necessidades da empresa.
Abaixo, um código em JScript que acessa a API do Linkedin e cria no formulário de Conta no Dynamics CRM uma exepriência diferenciada:

Segue o código que deve ser implementado no evento “on-load” do formulário:
function LinkedInLoader(crmFormField) {
var ll = this;
ll.scriptSource = 'http://www.linkedin.com/companyInsider?script&useBorder=yes'
ll.field = crmFormField;
ll.container = crmFormField.parentNode;
ll.nameToSearch = crmFormField.DataValue;
ll.spanId = ll.field.id + '_linkedin';
if (ll.container != null) {
var span = document.createElement('span');
span.id = ll.field.id + '_linkedin';
var td1 = document.createElement('td');
td1.innerHTML = ll.container.innerHTML;
var td2 = document.createElement('td');
td2.appendChild(span);
td2.style.width = '15px';
var tr = document.createElement('tr');
tr.appendChild(td1);
tr.appendChild(td2);
var table = document.createElement('table');
table.width = '100%';
table.style.tableLayout = 'fixed';
table.cellSpacing = 0;
table.cellPading = 0;
table.appendChild(tr);
ll.container.innerHTML = table.outerHTML;
}
ll.ApplyCorrections = function() {
var div = document.getElementById('company-insider-info-window');
if (div != null) div.style.height = '275px';
else window.setTimeout(ll.ApplyCorrections, 500);
}
ll.Enable = function() {
new LinkedIn.CompanyInsiderPopup(ll.spanId, ll.nameToSearch);
new LinkedIn.CompanyInsiderStylesheet();
var span = document.getElementById(ll.spanId);
if (span != null) span.attachEvent('onclick', ll.ApplyCorrections);
}
ll.OnScriptReadyState = function() {
if ((event.srcElement.readyState == 'complete') ||
(event.srcElement.readyState == 'loaded')) {
ll.Enable();
}
}
ll.Load = function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = ll.scriptSource;
script.onreadystatechange = ll.OnScriptReadyState;
document.getElementsByTagName('head')[0].appendChild(script);
}
}
if (crmForm.FormType != 1) {
// Define o campo que traz o nome da empresa. Mude de acordo com o utilizado no seu CRM.
var linkedInLoader = new LinkedInLoader(crmForm.all.name);
linkedInLoader.Load();
}
Simples não é?
[]´s
Carlos Amorim Junior
"Já ajudou a comunidade hoje?”
http://www.dynamicscrm.com.br