by Gustaf Westerlund | May 29, 2007
It is easy to track emails in Outlook which adds them to CRM. However, if an email linked to the wrong object, it is not as easy to “untrack” an email. Sonoma Partner blog describes how to do it, have a look: http://blog.sonomapartners.com/2007/05/remove_crm_link.html
Gustaf Westerlund
CRM and SharePoint Consultant
Humandata AB
www.humandata.se
by Gustaf Westerlund | May 29, 2007
This blog posting shows how to add lots of emails to CRM that do not have a tracking token.
One issue with this solution is that many emails should still be added to specific accounts, orders, incidents etc. There is no simple solution but I would use the advanced search and bulk edit function to set the “regarding” field of all emails.
Gustaf Westerlund
CRM and SharePoint Consultant
Humandata AB
www.humandata.se
by Gustaf Westerlund | May 28, 2007
Developing lots of workflow dll:s? Add the following text to the prebuild events (if you are developing on the server):
net stop “Microsoft CRM Workflow Service”
and then
net start “Microsoft CRM Workflow Service”
which will save you the time of turning the Workflow-service off and on manually with each compilation.
If it is a live server, make sure you understand the complications!
Gustaf Westerlund
CRM and SharePoint Consultant
Humandata AB
www.humandata.se
by Gustaf Westerlund | May 28, 2007
I have in a previuos post described how to programmatically download a SQL RS report, create a CRM email and attach the report as a pdf to it and send it. This is quite many steps and sometimes it will just be good enough to send mails, for instance when developing addons for workflows.
email em = new email();
activityparty fromparty = new activityparty();
fromparty.partyid = new Lookup();
fromparty.partyid.type = EntityName.systemuser.ToString(); //Change to some other entity if needed.
fromparty.partyid.Value = FROM-SYSTEMUSER-GUID;
em.from = new activityparty[] { fromparty };
activityparty toparty = new activityparty();
toparty.partyid = new Lookup();
toparty.partyid.type = EntityName.contact.ToString(); //Change to some other entity if needed
toparty.partyid.Value = TO-CONTACT-GUID;
em.to = new activityparty[] { toparty };
em.subject = SUBJECT-STRING;
em.sender = “crm@example.com“;
em.regardingobjectid = new Lookup();
em.regardingobjectid.type = EntityName.REGARDING ENTITY TYPE.ToString();
em.regardingobjectid.Value = REGARDING OBJECT GUID;
em.description = BODY-STRING;
em.ownerid = new Owner();
em.ownerid.type = EntityName.systemuser.ToString();
em.ownerid.Value = OWNER-SYSTEMUSER-GUID;
Guid createdEmailGuid = service.Create(em);
SendEmailRequest req = new SendEmailRequest();
req.EmailId = createdEmailGuid;
req.TrackingToken = “”;
req.IssueSend = true;
// Send the email message.
SendEmailResponse res = (SendEmailResponse)service.Execute(req);
I find this code very helpfull. It can probably be generalized by using BusinessEntity object and so forth but I am usually quite satisfied with this.
Gustaf Westerlund
CRM and SharePoint Consultant
Humandata AB
www.humandata.se
by Gustaf Westerlund | May 24, 2007
The new feature of email enabled document libraries in SharePoint 3 is great, but I recently experienced problems with getting a new copy of the mail every five/ten minutes. After a bit of error searching, I found that it was due to the fact that SharePoint didn’t have delete access rights to the “drop” folder in the c:inetpubmailroot directory, hence after sharepoint has read the mail, it can’t delete it. The next time sharepoint polls the directory, it will find the same mail and add it again, and again, and again… so just make sure the access rights are right.
Gustaf Westerlund
CRM and SharePoint Consultant
Humandata AB
www.humandata.se
Recent Comments