Wednesday, January 30, 2008

Microsoft CRM Typical Customizations

Microsoft CRM was designed to be easily customizable. Microsoft CRM Software Development Kit (MS CRM SDK) which you can download from Microsoft website contains descriptions of the objects or classes, exposed for customization. It has sample code in C# and partially in VB.Net. In Visual Studio.Net you can analyze all the classes, used by Microsoft developers to create MS CRM - you will discover that most of them are not documented in MS CRM SDK. Microsoft will not support your customization if you use undocumented class or do direct SQL access to CRM database.

Let us describe you - programmer, software developer typical cases of MS CRM Customizations.

1. Integration with SQL Server application. If you have legacy system on MS SQL Server - let's say you are transportation company and have in-house developed cargo tracking database. Now in MS CRM you want lookup the shipments for the customer (or account in CRM). This is SDK programming and calling SQL stored proc to retrieve cargo info. Instead of SQL Server you can have other database (ORACLE, MS Access, PervasiveSQL to name a few) - you can access multiple Database platforms via ADO.Net connection from your .Net application, which is easily integrated into MS CRM Account screen.

2. Email capturing in MS CRM. You have customer with email Bill@customer.com. Now you want all the emails that you receive from customer.com domain to be attached to Bill who is account in CRM. This is more difficult customization - you have to create MS CRM SDK web service, that one will be creating email activity and call it from COM+ application - Microsoft Exchange event handler (ONSYNCSAVE database event sink). This example maybe complicated with the following requirement. Imagine that Bill, instead of answering to your email (sent from CRM and processed by CRM-Exchange connector) sends you new message from MS Outlook. Then this email will not follow into MS CRM (because it doesn't have GUID in the header and so is ignored by CRM Exchange connector). If you want to capture these emails - you have to do it in Microsoft Exchange event sink. There maybe scenario when you want to capture and analyze in the sink all the outgoing emails - this is even more complex - y!

ou have to place the sink on transport event.

3. ASP Application integration. You have legacy ASP application, where you capture orders from your customers and you want these orders be transferred to the CRM as activity. Here you understand that ASP doesn't deploy Active Directory security - and the best way is to create HTTP handler and call it from your ASP page. This HTTP handler in turn will call MS CRM SDK web service with predefined (web.config) Active Directory credentials.

Some cautions. Never create your custom SQL objects (like stored procedure, SQL view, table) in MS CRM database. Instead, create your own database and place your objects there. When you see the first caution - you will never try to alter existing CRM objects, like adding new field to the table.

Happy customizing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies USA nationwide Great Plains, Microsoft CRM customization company, based in Chicago, California, Texas, New York, Florida, Georgia, Minnesota, Oregon, Arizona, Canada, UK, Australia and having locations in multiple states and internationally (http://www.albaspectrum.com/), he is Microsoft CRM SDK, Great Plains Dexterity, SQL, C#/VB.Net and Crystal Reports developer.

akarasev@albaspectrum.com

Labels: , , ,

Microsoft CRM Programming Techniques overview for developer

Microsoft CRM is the CRM answer from Microsoft and it will have all the Microsoft Business Solutions muscles behind.

If you are developer who is asked: how do we customize Microsoft CRM read this and you will have the clues on where to look further.

1. Microsoft CRM SDK this is software development kit with C# and partly VB.net examples it is supported by Microsoft Business Solutions technical support. It is all web services based calls, if you are C# .NET developer you are excellently positioned to do this type of customizations. This is the preferred customization scenarios and this should be easily upgradeable customization.

2. Legacy SQL Data integration. This is also easy and safe. If you have SQL database, sitting on the same or linked SQL Server you can create ASPX .Net application and simply integrate it into CRM. You can place it on the navigation bar or menu in isv.config please refer to MS CRM SDK

3. Legacy ASP integration this is somewhat more sophisticated. You have to deploy HTTP handler to be a middle party between CRM which is .Net based and ASP which is legacy IIS. The trick is you have to have INI file with security settings to penetrate into MS CRM with proper credentials, calling web service.

4. Microsoft Exchange Programming. Microsoft CRM has Exchange connector which moves CRM incoming email to MS if it has GUID in its subject. You can alter this logic (for instance - move email to CRM if it doesnt have GUID but it is from the sender who is contact or account in MS CRM). Refer to MS Exchange SDK onsyncsave event handling. Then simply apply some MS CRM SDK programming

5. Direct SQL touch in #4 above I described you the scenario with MS Exchange handlers this would be ideal world if MS CRM SDK does the job. But in real world this is not always true you have to do direct flags correction in CRM database (like making Activity closed, moving email attachments/octet streams, etc). This is not supported by MBS technical support but you can rescue to this technique if you have to make job done.

6. MS CRM Customization tool you can feel free to use this this is rather end-user tool and we dont describe it here read the manual. Weve described above the options to use when this tool doesnt do the job

Happy customizing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Colorado, Texas, New York, Georgia and Florida, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.

akarasev@albaspectrum.com

Labels: , , ,

Microsoft CRM Programming Secrets tips for developer

This article is for advanced Microsoft CRM SDK C# developers. It describes the technique of direct SQL programming, when SDK doesn't have the functionality to do the job.

Introduction. Looks like Microsoft CRM becomes more and more popular, partly because of Microsoft muscles behind it. Now it is targeted to the whole spectrum of horizontal and vertical market clientele. It is tightly integrated with other Microsoft Business Solutions products such as Microsoft Great Plains, Solomon, Navision (the last two in progress).

Here we describe the technique of creating closed activity-email using MS CRM SDK and direct SQL programming.

Imaging something like this. You need to handle incoming email before it is committed to MS Exchange database. You need to analyze if incoming email doesn't have GUID in its Subject (GUID will allow MS CRM Exchange Connector to move email to Microsoft CRM and attach it to the Contact, Account or Lead) - then you still need to lookup MS CRM in case if one of the accounts, contacts or leads has email address that matches with sender email address - then you need to create closed activity-email in MS CRM, attached to the object and placed into general queue.

How to create MS Exchange handler is outside of the scope, please see this article:


http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm

Now the code below is classical MS CRM SDK and it will create activity email:

public Guid CreateEmailActivity(Guid userId, int objectType, Guid objectId, string mailFrom, CRMUser crmUser, string subject, string body) {

try {

log.Debug("Prepare for Mail Activity Creating");

// BizUser proxy object

Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials credentials = new NetworkCredential(sysUserId, sysPassword, sysDomain);

bizUser.Url = crmDir + "BizUser.srf";

bizUser.Credentials = credentials;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

// CRMEmail proxy object

Microsoft.Crm.Platform.Proxy.CRMEmail email = new Microsoft.Crm.Platform.Proxy.CRMEmail();

email.Credentials = credentials;

email.Url = crmDir + "CRMEmail.srf";

// Set up the XML string for the activity

string strActivityXml = "";

strActivityXml += "";

strActivityXml += "") + "]]>";

strActivityXml += "";

strActivityXml += userId.ToString("B") + "";

strActivityXml += "";

// Set up the XML string for the activity parties

string strPartiesXml = "";

strPartiesXml += "";

strPartiesXml += "" + crmUser.GetEmailAddress() + "";

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

strPartiesXml += ""+ crmUser.GetId().ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "" + mailFrom + "";

if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml += ""+ objectId.ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

log.Debug(strPartiesXml);

// Create the e-mail object

Guid emailId = new Guid(email.Create(userAuth, strActivityXml, strPartiesXml));

return emailId;

}

catch (System.Web.Services.Protocols.SoapException e) {

log.Debug("ErrorMessage: " + e.Message + " " + e.Detail.OuterXml + " Source: " + e.Source);

}

catch (Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

return new Guid();

}

Now I would like to share the trick with you - there is no method to make this activity closed in MS CRM SDK 1.2 (if somebody knows the one - I owe you small pocket aquarium - smile!). Obviously Microsoft doesn't support if you do direct SQL programming bypassing SDK. However I would say this is not direct objects creation - this is rather flags correction. So here is what we have - this procedure will do the job and make activity closed:

public void UpdateActivityCodes(Guid emailId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WHERE ActivityId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

command.Parameters.Add(new OleDbParameter("StateCode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("ActivityId", emailId));

log.Debug("Prepare to update activity code " + emailId.ToString("B") + " in ActivityBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}

Happy customizing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Colorado, Texas, New York, Georgia and Florida, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.

akarasev@albaspectrum.com

Labels: , , ,

Microsoft CRM Customization programming email activity attachment

Microsoft CRM is now on the scene and it is increasing its market share, due to Microsoft Business Solutions muscles and marketing strategy. It is tightly integrated with other Microsoft Business Solutions products such as Microsoft Great Plains, Solomon, Navision. Being relatively inexpensive in comparison to competitors, like Siebel, Oracle - Microsoft CRM opens you the door for worldwide operations automation. In this small article we would like to give you, software developer, some hints on Microsoft CRM customization.

Today's topic is Activity of email type programming - you usually deal with these customizations when you improve Microsoft Exchange CRM connector. How do you create email attachment - this is the main discussion topic. Well use C#.Net.

In Exchange handler/event sink you create Activity of email type in MS CRM and one of the tasks is transfer the attachment(s) from the body of the incoming email to the attachment(s) in the Activity. You can realize it through direct access to Microsoft CRM DB. Lets see C# code:

1. First we are getting access to the letter via ExOLEDB:

CDO.Message iMessage = new CDO.MessageClass();

CDO.IBodyPart iPrt;

iMessage.DataSource.Open(bstrURLItem, null, ADODB.ConnectModeEnum.adModeRead,

ADODB.RecordCreateOptionsEnum.adFailIfNotExists, ADODB.RecordOpenOptionsEnum.adOpenSource, "", "");

2. Next we come through the attachment list, get their names and save their bodies into temporary catalogue:

for(int i = 1; i ";

strXml += "Activity 1";

strXml += "" + attachmentNumber + "";

strXml += "" + emailId.ToString("B") + "";

strXml += "";

// Create the activity attachment

Guid attachmentId = new Guid(activityAttachment.Create(userAuth, strXml));

log.Debug("Create Attachemnt ID: " + attachmentId.ToString("B"));

UploadFileToDB(attachmentId, filename, filesize);

return attachmentId;

}

catch (System.Web.Services.Protocols.SoapException e) {

log.Debug("ErrorMessage: " + e.Message + " " + e.Detail.OuterXml + " Source: " + e.Source);

}

catch (Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

return new Guid();

}

5. Main problem, however is attachment body adding to MS CRM database. Main requirement is attachment must be encoded as BASE64 stream and its length must be specified correctly together with Nine Type and file name of the file it will be knows as an attachment in activity. Lets look at the C# code:

public void UploadFileToDB(Guid attachmentId, string filename, long filesize) {

string contentType = "application/octet-stream";

try {

Hashtable mimes = LoadMimeDB(Environment.SystemDirectory + "/Albaspectrum/ContentType.txt");

if (mimes != null) {

string tmpContentType = GetMimeType(mimes, filename);

if (tmpContentType != null && !tmpContentType.Equals(""))

contentType = tmpContentType;

}

byte[] memoryData = new byte[filesize];

FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);

BinaryReader reader = new BinaryReader(fs);

reader.Read(memoryData, 0, (int)filesize);

reader.Close();

fs.Close();

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE ActivityMimeAttachment SET FileSize = (?), MimeType = (?), FileName = (?), Body = (?) WHERE ActivityMimeAttachmentId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("FileSize", filesize));

command.Parameters.Add(new OleDbParameter("MimeType", contentType));

command.Parameters.Add(new OleDbParameter("FileName", new FileInfo(filename).Name));

command.Parameters.Add(new OleDbParameter("Body", Convert.ToBase64String(memoryData, 0, (int)filesize)));

command.Parameters.Add(new OleDbParameter("ActivityMimeAttachmentId", attachmentId));

log.Debug("Prepare to upload attachemnt " + attachmentId.ToString("B") + " in ActivityMimeAttachment");

command.ExecuteNonQuery();

memoryData = null;

}

catch (Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}

6. File ContectType.txt is matching list of the files extensions and their mime-type in the following format:

asc application/pgp-encrypted Armored Encrypted file (PGP)

asd application/astound Autosave file (Word for Windows)

asm PC ASM File

asn application/astound

etc.

Happy customizing, implementing and modifying! If you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Boris Makushkin is Lead Software Developer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, Boston, San Francisco, San Diego, Los Angeles, Houston, Dallas, Atlanta, Miami, Montreal, Toronto, Vancouver, Moscow and Europe and internationally (www.albaspectrum.com), he is Microsoft CRM SDK, C#, VB.Net, SQL, Oracle, Unix developer.

borism@albaspectrum.com

Labels: , , ,

Microsoft CRM Customization programming Closed Email Activity

Microsoft CRM is CRM answer from Microsoft and attempt to get market share from Siebel, Oracle and others traditional Client Relationship Management System vendors. Microsoft CRM uses all the spectrum of Microsoft recent technologies: .Net, MS Exchange, MS Outlook, MS SQL Server, Replication, Indexing, Active Directory, Windows 2000/2003 security model, C#, VB.Net, HTML, XML Web Service, XLTP, Javascript to name a few.

Today's topic is Activity of email type programming - you usually deal with these customizations when you improve Microsoft Exchange CRM connector. How do you create closed activity - this is the main discussion topic. Well use C#.Net coding

One of the roles of our Exchange Event Handler/Sink is creation MS CRM Closed Activity in handling incoming and outgoing email messages. The interaction with Microsoft CRM uses two approached using MS CRM SDK (handling inbound and outbound XML messages) and via direct access to MS CRM Database. Lets first look at the Closed Activity creation algorithm:

1. First we need to understand the entity we need to create activity for: Account, Lead or Contact. The selection should use specific criteria in our case this is email address:

if ((crmAccount = crmConnector.GetAccount(mailboxFrom)) != null) {

}

else if ((crmContact = crmConnector.GetContact(mailboxFrom)) != null) {

}

else if ((crmLead = crmConnector.GetLead(mailboxFrom)) != null) {

}

2. Then we have to get GUID of MS CRM user, who owns this entity, C# code like this:

crmUser = crmConnector.GetUser(crmAccount.GetOwnerId());

3. Next step is closed Activity creation:

emailId = crmConnector.CreateEmailActivity(

crmUser.GetId(),

Microsoft.Crm.Platform.Types.ObjectType.otAccount, crmAccount.GetId(),

Microsoft.Crm.Platform.Types.ObjectType.otSystemUser, crmUser.GetId(),

crmAccount.GetEmailAddress(), crmUser.GetEmailAddress(), sSubject, sBody);

4. The method to create closed activity:

public Guid CreateEmailActivity(Guid userId, int fromObjectType, Guid fromObjectId, int toObjectType, Guid toObjectId, string mailFrom, string mailTo, string subject, string body) {

try {

log.Debug("Prepare for Mail Activity Creating");

// BizUser proxy object

Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials credentials = new NetworkCredential(sysUserId, sysPassword, sysDomain);

bizUser.Url = crmDir + "BizUser.srf";

bizUser.Credentials = credentials;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

// CRMEmail proxy object

Microsoft.Crm.Platform.Proxy.CRMEmail email = new Microsoft.Crm.Platform.Proxy.CRMEmail();

email.Credentials = credentials;

email.Url = crmDir + "CRMEmail.srf";

// Set up the XML string for the activity

string strActivityXml = "";

strActivityXml += "";

strActivityXml += "") + "]]>";

strActivityXml += "";

strActivityXml += userId.ToString("B") + "";

strActivityXml += "";

// Set up the XML string for the activity parties

string strPartiesXml = "";

strPartiesXml += "";

strPartiesXml += "" + mailTo + "";

if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml += ""+ toObjectId.ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "" + mailFrom + "";

if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml += ""+ fromObjectId.ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

log.Debug(strPartiesXml);

// Create the e-mail object

Guid emailId = new Guid(email.Create(userAuth, strActivityXml, strPartiesXml));

return emailId;

}

catch (System.Web.Services.Protocols.SoapException e) {

log.Debug("ErrorMessage: " + e.Message + " " + e.Detail.OuterXml + " Source: " + e.Source);

}

catch (Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

return new Guid();

}

5. To make the activity just created be shown correctly you need to setup its flags according to MS CRM standards:

public void UpdateActivityCodes(Guid emailId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WHERE ActivityId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

command.Parameters.Add(new OleDbParameter("StateCode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("ActivityId", emailId));

log.Debug("Prepare to update activity code " + emailId.ToString("B") + " in ActivityBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}

public void UpdateActivityQueueCodes(Guid emailId, Guid queueId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE QueueItemBase SET Priority = (?), State = (?), QueueId = (?) WHERE ObjectId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("Priority", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("State", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("QueueId", queueId));

command.Parameters.Add(new OleDbParameter("ObjectId", emailId));

log.Debug("Prepare to update activity queue code " + emailId.ToString("B") + " in QueueItemBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}

Happy customizing, implementing and modifying! If you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Boris Makushkin is Lead Software Developer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, Boston, San Francisco, San Diego, Los Angeles, Houston, Dallas, Atlanta, Miami, Montreal, Toronto, Vancouver, Madrid, Moscow, Europe and internationally (www.albaspectrum.com), he is Microsoft CRM SDK, C#, VB.Net, SQL, Oracle, Unix developer. Boris can be reached: 1-866-528-0577 or borism@albaspectrum.com.

borism@albaspectrum.com

Labels: , , , , ,

Friday, January 25, 2008

How Does CRM Provide More Enrollments?

CRM has become a buzz work in the Higher Education Market. Why you might Ask? Read on to find out!

?CRM? has become a buzz word in the higher education industry. Why? What is a CRM? What type of value does a CRM add to academic institutions?

CRM refers to Customer Relationship Management. In higher education, a CRM can signify any one of a number of things:

1. A technological platform that organizes student information from enrollment through graduation

2. A software that allows students to select and pay for courses without human interaction

3. A ?call center? for universities that handles the phone calls that interested students place to the university

4. A system that handles marketing initiatives and the student response that campaigns generate

This short explanation of CRM will deal with the latter; a platform that increases enrollments and lowers cost per enrollment by synchronizing marketing behaviors with the response that each marketing initiative generates.

Lead Generation

The first piece of a full-service higher education CRM is lead generation. When higher education institutions look to generate new students, they initiate advertising campaigns. These campaigns can be carried out across various traditional channels?print, billboards, radio, mailing lists?but recently, the universities that launch these campaigns are demanding accountability that only online and DRTV advertising channels provide.

Online AdvertisingOnline advertising can manifest in a variety of ways:

  • Online lead generation using education-based portals
  • Micro-Site Development
  • Lead Remarketing
  • Search Engine Optimization
  • Keyword Search (Trade Name Management)
  • Virtual Tours

Irregardless of the specific type of online advertising, the result is the same: contact is initiated with the prospective student. The advantage that the online advertising channel has over more traditional advertising channels is the level of accountability that online advertising brings?advertisers know exactly which campaigns are working and which are not, at all times.

DRTV AdvertisingAside from Online advertising, DRTV also presents a channel that enables development, deployment and tracking of marketing initiatives. DRTV ads value to marketing initiatives by:

1. Targeting specific demographic, geographic and socio-graphic areas

2. Optimization of campaign placement according to student response

DRTV advertising provides the ability to optimize and place advertisements according to the success of each campaign?this adds value to marketing campaigns by providing more students for less money.

Lead Conversion

Once the lead is generated, the 2nd piece of the CRM?lead conversion?begins to take place. Lead conversion refers to when the potential student applies or enrolls.

In the case of online lead generation, the process of lead conversion takes place in the following manner:

1. The prospective student clicks on an advertisement, fills out contact form, or places a phone call after seeing an advertisement2. The enrollment specialist initiates or fields the phone call that the advertisement generates, and helps the prospective student to apply

2.a The enrollment specialist feeds key information regarding the internet portal or TV channel that generated each response into the technological platform

3. The technological platform processes the information that each phone call generates and feeds This information to the client services team

4. The CST boost or cuts media allocation to specific portals or channels, depending on how many applications or enrollments each channel generates

Lead Generation + Lead Conversion + Synchronization= CRM (More Enrollments and Applications)

When synchronized and working in unison, lead generation and lead conversion add value to universities by providing more enrollments. Academic institutions that are seeking to generate increased student growth without dedicating time, resources, and energy to building an in-house CRMArticle Search, can look to agencies that offer a comprehensive CRM solution.

Want to learn more about Enrollment Management? Click here to sign up for the Innovation Ads Enrollment Management Whitepaper.

Source: Free Articles from ArticlesFactory.com

Patrick Sutton is the Marketing Director for Innovation Ads, Inc., a company that helps colleges and universities to increase applications and enrollments by leveraging proprietary and affiliate internet portals, and the second largest DRTV media buying capacities in the US.

Labels: , , , , , , , , , ,

Modern Business Needs Modern Thinking With CRM

Today?s business atmosphere is much different than even a decade ago and that means to stay competitive you need to stay ahead of the competition. Modern business needs modern thinking which includes CRM. After all your competence comes down to your ability as a company to vocalize with the many costumers that you have and that means you have to know everything about them and their buying habits in a minutes notice and that?s where CRM comes into play.

The most important thing that CRM can do for a business is to provide you with marketing techniques that allow you to keep that customer today and into the future. So what you do today is recorded so that tomorrow you can use the information for both customer service and to sell your customer more merchandise.

CRM systems keep you in tune with your customer from the very beginning and this interaction carries on forever or until you terminate it. That said it is important to realize that not all CRM programs are alike. It?s important that you shop around and find a good CMR system. Microsoft Dynamics CRM software is one of the best on the market.

Marketing is various types of interaction or conversations with the customer. Technology allows that interaction not just via the telephone. Now we have email, live chat, messengers, and a host of other methods that we must ensure that we record for future use and CRM software allows this to happen.

Business is actually a social organization where both knowledge and product is exchanged. The conversation is where economic events occur whether you sell your customer something new, help them with questions or problems with a current product, or send them regular updates about your products.

Your CRM software can track all of that. With all your customer information on file you can easily and instantly pull everything you want to know about your customer. Now that?s customer service.

Every modern day company that wants to stay in the game needs to involve themselves with CRM software. After all the latest management challenge is being addressed by the very best business breed on the market ? CPM software ? this is an analytical tool like nothing we?ve seen in the past.

Not only will CPM software assist a company in having happy customers, it will also provide your business with the ability to see the customer like never before. It means the company has marketing data available to them like never before. Finally you can really understand your customer. What makes them buy, what they are looking for in the market, what they are going to want in the future. You will know your customer like never before.

If you want to stay on the cutting edge, if you want to be the business that succeeds into the future, if you want to offer your customers the ultimate in customer service you should seriously consider a CRM system.

Microsoft Dynamics CRM software is for the modern business with modern thinking and a plan for the future. Is that you?

Sayed Ally, is the lead CRM Analyst. His company provides, Microsoft CRM. Sayed can be reached at Tel : (905) 815- 1995 ext 22, email: mailto:asyed@cqsolutions.com.

Labels: , , , , , , , , , ,

Find Solutions With CRM Software

The consumer?s mindset has changed over the past few years with many consumers demanding more from the companies they deal with. That?s where Microsoft Dynamics CRM Software.

This powerful customer relationship management software is designed to fit into your existing business without the disruptions and frustration previous software programs had.

But wait Microsoft goes one further by designing a piece of software that?s actually going to get used. How many times have you seen a corporate decision made to buy a piece of software that by the time it makes it to the end user no one wants any part of it because it makes the task at hand harder rather than easier.

Microsoft Dynamics CRM Software was designed from start to finish with the end user in mind. No longer do we just add technology but instead we add solutions. Now that?s just smart business sense at all levels.

The latest 3.0 version of CRM understands just how you work and how you do business. And that?s why it will eliminate those moments of frustration. If you work in an office you know all about the disjointed effect that occurs. Everyone knows there?s a project that needs to be finished and everyone could do it so everyone assumes someone else will take the project on but because it isn?t assigned to anybody the due date arrives and not a single person has even touched the project.

Yikes! Suddenly there are a lot of unhappy people. Well Microsoft Dynamics CRM is designed to make sure that doesn?t happen in an office and that projects are assigned and tasks are seen through to completion. This is a package that?s designed with the perfect merging of technology and people.

CRM can meet your needs today but it?s powerful enough to grow with you into the future. It?s extremely flexible, and it has transparent migration which is very helpful.

It has all the features needed for core CRM tasks such as marketing and creation on demand, customer service, and even mobile CRM. The interface is seamless into Microsoft Office programs which certainly has appeal. Now you can quickly assign tasks, follow the task from start to finish, adjust as needed, and the seamlessly pull the information into word, excel, or PowerPoint for a presentation.

With Microsoft Dynamics CRM suddenly things become crystal clear. You get the tools to create a clear picture from the minute you meet the customer right through to delivery and then for post sale care which can be just as important. There?s no room for confusion. You have a seamless method of tracking your customer that will impress even the toughest customer.

This system can handle even the most complex sales processes. The beauty of this software is that it can handle the simplest sales and just as seamlessly the most complex tasks so you certainly don?t have to worry about dropping the ball.

Microsoft CRM Software is so configurable that you can make it work the way you do, the way your business does, and the way the world does business. It?s easy to learn, and one of the fastest methods to keep things moving along.

Your customer is going to be impressed with your organizational skills and just how fast you can answer their question relating to their orders. In fact you can directly provide that information through Office Outlook. From an employers point of view that?s sure cuts down the work. That quick and easy importation of data is a real time saver.

You can even create profiles for each of your customers. In fact you can create more than one profile for each and then you can reuse those profiles again a very time saving feature

You can also customize your workspace and save it. Don?t forget to utilize the service calendar which will stay on top of who you need to call when. It?s a real time saving tool.

And if that isn?t enough you?ve got the powerful reporting capabilities and analytical tools. You?ve certainly got the power with everything just a click away. Work just got easier!

Sayed Ally, is the lead CRM Analyst. His company provides, Microsoft CRM 3.0. Sayed can be reached at Tel : (905) 815- 1995 ext 22, email: mailto:asyed@cqsolutions.com.

Labels: , , , , , , , , , , , ,

Does Small Business CRM Really Help Your Business

CRM is the most talked about software in today?s business world. CRM is an easy-to-use software tool suitable for any small business needing a complete, cost effective and hassle-free solution for managing sales, customers and bookkeeping as well as day to day invoicing.

The all-in-one sales and marketing CRM software program facilitates small businesses to double their sales at a faster pace. From lead generation, to placing an order or even the follow up of the same, CRM is the apt solution in efficiently managing your small business day to day operations.

However why do we require CRM software in the first place is what crosses our minds. The following will give you a better insight as to what you can expect when CRM is adopted in your small business.

  • It helps in the automatic integration of the sales marketing and the customers data base,
  • Ensures a faster access to vital customer information from any where any time.
  • Inexpensive efficient marketing campaigning management system
  • Next to zero maintenance costs
  • No additional installation and infrastructural expenses
  • Instant integration with the existing business procedures
  • Easy to understand and use
  • 100% customizable to suit your unique business requirements

CRM is very essential for all small businesses in order to have a successful ROI turn over. However choosing the right CRM product customized as per your business needs is the Key, as it helps to derive the real potential benefits when adopting CRM in your small business.

For more info visit : OfficeInteractive

Labels: , , , , , , , ,

CRM Application Is Most Beneficial And Essential Software Tool For Any Business Organization

In the past, the business development signified, one needs to be in the right place at the right time. That is a phrase of the days gone by; today foresight of the business along with the right software tools which facilitate a standard-base architecture that streamlines business processes, improves data quality, and allows all your key workforces to draw from the same source of data is vital for the efficient functioning of an organization.

CRM application is an essential software tool for all businesses. Big and small businesses aim for profit maximization. This can be realized by providing excellent customer-centric services. CRM application helps in achieving the same in an efficient cost-effective manner.

CRM application promotes a business by:

  • Compilation and analysis of customer information.
  • Amalgamation and availability of mission critical data, for all the employees on demand any where any time.
  • Automated sales, to facilitate faster provision of product-centric services synchronizing with the changing trends.
  • Plan your marketing strategies, which in-turn will ensures quicker turn-around time to product-centric services.
  • Fully scalable web-based feature-rich streamlined approach.
  • Secure as well as low risk data base.

In order to obtain the most productive uses, one needs to select the most efficient CRM application that will be a perfect fit to your unique special requirements, you will need to make sure of the following ...

  • Research your business requirements and your end goals.
  • Enhancing business activities from around the globe from a single location.
  • A full scalable web base.
  • Click away feature-rich techniques.
  • Easy to customize to your organizational set-up.
  • Satisfaction more than exceeding cost.
  • Low risk solution
  • Zero skills adaptability.
  • No additional infrastructure requirements.

CRM application enhances world class technical expertise in combining, consulting and analyzing your business critical problems. With its excellent cost-effective customer-centric services, it ensures to boost your business image as well as credibility in the market. Hence it can be well said that efficient implementation of CRM application will definitely make it a beneficial software tool for any business organization.

For more info visit : CRM Application

Labels: , , , ,

Thursday, January 24, 2008

What is CRM and Why Do I Need It?

?Don?t worry about the definition of CRM. If you don?t come up with your own definition you?re wasting your time? ? Ed Thompson, Gartner Analyst.

This probably accounts for the fact that there are so many different definitions of CRM out there.

One of the first things to do when considering adopting CRM is to define what it means to your business, in as much detail as possible, remembering to consider why you are doing it, and what results you want to achieve from doing so. It is crucial that you fully understand what you want to achieve from your CRM programme, as without knowing this you will have no way of knowing how successful, or otherwise, the implementation has been.

Often high on a list of desires is to increase customer satisfaction, and understandably so. Research suggests that dissatisfied customers will tell 7-10 people about their experience, whereas satisfied customers will refer you to 3-4 new customers.

Successful CRM is about competing in the relationship dimension. Not as an alternative to having a competitive product or reasonable price - but as a differentiator. If your competitors are doing the same things you are (as they generally are), product and price won't give you a long-term sustainable competitive advantage. But if you can get an edge based on how customers feel about your company, you can start to develop a more sustainable, long term relationship with them.

Communicating with your customers regularly is important, as is automating as much of this process as possible. However be careful. As Bill Gates said, ?The first rule of any technology used in a business, is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency?.

It is not enough to simply email your customers every month, telling them all about your latest product, and how it will change their lives, because most of them won?t care. If you can quickly and easily identify those customers that are likely to be interested in your latest product, you can send the same email to a more targeted group. You can still do more. What if you can say to each customer, as an individual ?because you purchased our Silver Widget last month, you may be interested in the complimentary Silver XYZ, and to thank you for your ongoing custom, here is a 10% [amount tailored, depending on several factors] discount voucher??

A CRM strategy covers every aspect of your business, from the first contact with a new prospect, to the final invoice. Each time your interact with your customers, you are giving them an impression of, not only the person talking to them, but the processes behind that person. Inefficient processes lead to a lack of information available to the customer, leading to delays, frustrations, and a negative impression. The more loyal that customer is, the more forgiving they are likely to be, but taking advantage of this loyalty could prove a costly mistake.

How much business have you lost due to inefficient processes and / or poor data management? How much more profit could you make, if you knew more about your customers? buying habits? What would you do differently, if you knew which areas of your marketing aren?t working?

This brings us nicely to the area of CRM software. It is a common misconception that CRM is about software, although quite the opposite is true. CRM has nothing to do with software. The role of the software is to store and collate the information, produce the reports, and produce the personalised communication. Installing an expensive CRM product, then sitting back waiting for something to happen is a critical mistake, as you can be assured that by doing this alone, nothing will happen.

There are two main types of CRM system, Contact Mangers and Opportunity Managers. Contact Managers tend to be ?people focussed?, recording the name, company and contact details for each person, combined with freeform text notes and the ability to flag contacts for calls backs. They don?t include sales forecasting, and are of the simple flat file database format. Opportunity Managers focus on recording sales opportunities (as the name suggests), and have a more sophisticated relational data structure, giving you companies / accounts, who have multiple contacts, activities, documents and sales opportunities. You will also typically find more complex reporting functions, and greater security, to individual record level if required.

A CRM project never finishes - it needs to be constantly adjusted and refined, but doing so doesn?t have to be time consuming. By having all the information to hand, you can make informed decisions and communicate them to your staff easily.

Correct use of a CRM system, combined with clearly defined and efficient processes will deliver the business benefits, but only if it embraced by everyone, beginning at management level.

Stuchbury Associates are specialists in implementing Customer Relationship Management processes, strategies and software for small businesses. Full details of our services can be found on our web site, at http://www.stuchburyassociates.com.

Copyright ? 2007 Stuchbury Associates Ltd ? All Rights Reserved. You may reproduce this article with permission ? contact info@stuchburyassociates.com for details. (5 May 2007)

Labels: , , , , , , , ,

CRM - Customer Relationship "Management" Is a Myth

Now that Peter F. Drucker has passed on, I feel almost duty bound to share some of his insights with you, little observations, pointers and gems that simply aren?t in his books or popularly known.

I had the pleasure of studying with the management sage for two and a half years. Much of the MBA I did at the Drucker School of Management, named in his honor, in fact, was in classes with Drucker, himself.

And I had the pleasure of serving as his informal chauffeur on Saturdays, when many of our classes met.

So, we talked.

He was fond of admonishing us to ?invest in the customer? and specifically, to ?invest in the customer relationship,? because it is one way to get clients to select and to prefer us, a very valuable habit.

But to my knowledge Drucker never called the process customer relationship MANAGEMENT.

In fact, on many occasions he said relationships are fundamentally UN-manageable.

His fondest example was one?s family. He said, ?You can?t apply management principles to your family; they won?t work.?

When I told him about the arrival of my first daughter, he reminded me of this notion and then asked: ?Is she ruling the roost??

?Yes,? I replied, ?She has us all at her beck and call.?

?That?s the way it should be,? he beamed.

If you?re managing a person, you probably have something different than a real relationship, like an employment contract, or some other sort of business commitment or alliance.

But interpersonal relationships have their own dynamics. Power, for one thing, is shared. We cannot order a customer to come back and buy again, just as we can?t order our relatives to love or respect us.

We can use persuasion, guile, charm, guilt, and incentives, but we can?t MANAGE that outcome as we can manage a salesperson, say by telling him he has to hit his quota this quarter, or hit the highway.

If we aren?t managing customers what are we doing?

We?re NEGOTIATING relationships. There is give and take, concessions are made, and equities are balanced out, if not in the short run, then in the longer term.

All of this is fine, you might be thinking, but what practical difference does it make if we call it CRM or CRN, for negotiation?

Management is a term that signifies superior power and resources.

When we interact with customers we are facing the opposite of being in power. We?re relatively powerless, providing we?re operating in a competitive marketplace.

Customers have choices. They can more readily and inexpensively say ?no,? and walk away from a deal.

When we consider customer transactions and the residue of doing many of them, it would be more advantageous to see our counterparts as ongoing negotiation partners, but never as friends, peers, or family.

In non-business interpersonal relationships, the whole is greater than the sum of its parts; in business, there are only parts, no enduring ?marriages.?

The sooner we straighten out the otherwise mystifying rhetoric ushered in by CRM, the better off we?ll all be.

Dr. Gary S. Goodman is the best-selling author of 12 books and more than a thousand articles. His seminars and training programs are sponsored internationally and he is a top-rated faculty member at more than 40 universities. Dynamic, experienced, and lots of fun, Gary brings more than two decades of solid management and consulting experience to the table, along with the best academic preparation and credentials in the speaking and training industry. Holder of five degrees, including a Ph.D. from the Annenberg School For Communication at USC, an MBA from the Peter F. Drucker School of Management, and a law degree from Loyola, his clients include several Fortune 1000 companies along with successful family owned and operated firms across America. Much more than a ?talking head,? Gary is a top mind that you'll enjoy working with and putting to use. He can be reached at: gary@customersatisfaction.com

Labels: , , , , , , , , ,

CRM - The Human Factor

Although I am a proponent of CRM software and database management, I have never, nor will I run across a software solution that provides Complete CRM. On a note of credibility, my company, Wright Solutions is partnered with a few CRM software providers whom will not be referenced anywhere in this post, or this series. I want you to understand the depth of my committment to the fundamentals of human CRM.

Companies in the market for CRM solutions actually are in need of better managing relationships with their customers, and most are looking at CRM applications as the answer. I am not about to suggest that any of the well designed and reliable IT solutions are not a significant piece of the puzzle. I will say that alone, they are not 'the answer'. Three significant misconceptions continue to impede the successful implementation of CRM systems or upgrades. The first myth is that CRM is a software solution, secondly that CRM is a tactic and lastly that satisfied customers are loyal customers. The truth is that CRM is a people driven - not a software solution, CRM is a strategy not a tactic, and satisfied customers are not necessarily loyal.

Busting the myths - the 5 W's of Customer Relations.

Myth #1. CRM is a Software Solution. Who - If you spend $25,000 on the installation and implementation of a CRM system, and six months down the road you have no increase in the number of customers regularly repeating business with you, Who is accountable? What - If your employees do not 'buy in' to the new system, failing to input or update customer information correctly, What results will your $25,000 investment produce? Why - Have you purchased and introduced this new software? If your answer is in any way similar to the following statement, you are guaranteeing failure: Our employees never seem to have the time, or just don't consistently follow up with our customers. Where - Are you measuring and monitoring the results produced by your CRM software at the end of the process? If you are, how do you know the quality of the data initially input by front line staff? When - Time, a commodity always in demand, always in short supply. Two thoughts on time: If one of the reasons you made this investment was due to the fact that your employees didn't follow up with your customers, what makes you think they'll now have or take the time to accurately update records in the system? And have you made provisions for one or more people to have the extra time needed to monitor and review the output of the system for errors, duplications or unique circumstances?

Having put all that out on the table, I'm sure (well, actually I'm hoping) that I've left you with more questions. "If this great new IT solution is not the whole answer, what is?", "I've already made the investment, how do I ensure its success?", "We've trained and offered incentives to our employees, they claim to be following proceedures, but still our numbers haven't gone up. What do we do now?" ... The possibilities here are limitless!

From my perspective, I say GOOD! It means I've succeeded in reaching my goal for today. To provide food for thought, to provide incentive for you to question and examine what you are doing today and what results you are getting is a tremendous step towards a solution. Success never comes by way of quick fixes or trendy technology. You will arrive at success only once you have honestly assessed the gap and determined where you are today. If you also have a clear view of where you want to go tomorrow, we can begin to size up that gap and decide how to bridge it.

How to do that begins with the discussion of the next myth: CRM is a tactic. My next post will bust that myth in brief as we've done here with the first.

Over the course of this series we will be taking an honest look at where many businesses are today - The real deal, I don't care too much for 'political correctness' or 'beating around the bush'. Some may not like my approach, but those that follow me through, those that suffer the unease of examining and questioning your 'comfort zone' will find themselves ahead of the game and significantly improving their success.

Until next time, I implore you to change your viewpoint, get down on the ground, climb a ladder, anything to look at your business, your employees, your customers and your processes from a different perspective. I also encourage you to read. If you haven't looked at a book on customer service since your college days, do it now. Some of my favourites are: "The Butterfly Customer: Capturing the Loyalty of Today's Elusive Consumer", "Customer Tells : Deliver World Class Customer Service Using Championship Poker Strategies" and "Are You Being Served Yet?: Customer Service Evolution".

Thanks for reading. I wish you all success at learning something new today.

Teresa Wright is an exceptionally inspired and flexible writer, poet, artist and business owner. At 40 years of age she has recently pursued her dream of self-employment with the start-up of her consulting company, Wright Solutions to better balance life, work, family and love. Having written poetry for more than 25 years now, Teresa has developed a confidence that attracts and captivates her readers. Her style can only be described as raw, honest and emotional. She writes from deep within her soul, from an understanding of hope and survival shaped during many years of some of life?s most sorrowful challenges. This survivor has the ability to express universal emotions exquisitely ? her poetry will touch your heart. With the experience from a 20 year career in Customer Service, managing customer relationships in 6 diverse industries Teresa Wright is a skilled veteran in the field. She is adept not only at effectively identifying customer needs, and with loyalty driven communication, but also at recognizing the characteristics of the profitable customer.

Visit us at Wright Solutions

Labels: , , , , ,

Friday, January 18, 2008

Free CRM Solutions

The term CRM is commonly used in the hospitality and customer service industry. CRM is an acronym for customer relationship management. It entails all the various aspects of the interaction and relationship of a particular company or organization with its customers. CRM in the industry terms means the methodologies and software that usually help the company to mange its customer relationships in a more organized way.

With the advent of the Internet and the development of computer technology, customer relations have undergone a drastic change. Many software companies have developed software dealing specifically with the proper management of customer relations. This CRM software is referred to as CRM solutions as it provides a solution for the complex task of maintaining and retrieving customer information.

CRM software solutions can either be purchased from software companies or can be ordered for the customized needs of different companies. Another exciting option is to download it free from the Internet. The Internet is a storehouse of innumerable useful resources. Several websites offer free registration and use of the CRM software developed by them. These websites normally belong to software-developing companies.

Customers availing free CRM software solutions need to access the software from the websites of these companies. Various options such as general edition and professional editions of the CRM software are available for the use of customers. General editions are usually free of any charge but professional editions may have a small monthly fee. These CRM solutions can provide all the information about the customer in an integrated format on a single page. The customer care associates can easily view and inform the customers about the various issues that they want information on by using this software.

However, it is advised to check the authenticity of these free CRM solutions. Many fraudulent companies extract the customer information stored in the software and use it for personal, unethical use. By studying all the options carefully, customers would be able to select a secure and reliable free CRM solution software.

CRM Solutions provides detailed information on CRM Solutions, CRM Business Solutions, CRM Call Center Solutions, CRM Software Solutions and more. CRM Solutions is affiliated with Live Customer Support.

Labels: , , , ,

Introduction to CRM

Customer Relationship Management has been with us over the ages, for as long as people traded with each other. In those days, the physical closeness in location between the customer and the supplier led to the relationship. Even in less developed countries and traditional societies such business models currently still exist. People congregated on market days and the customers usually buy from people they know, have bought from before. The supplier also knew his customers well, what they liked, how they liked it, what they did not want, and was able to deliver the customer's needs and wants. And based on their knowledge of the customer, they could also add sweeteners to ensure customer loyalty, and bring in related samples to introduce their existing customers to new things. Their loyal customers then spread the word and introduced other customers to them. And gradually they became well known for what they sold or provided.

As countries developed and urbanisation took place, the physical distance between the supplier and the customer increased. Intermediaries and merchants developed to transport the product from the producer to the customer. To pay for their efforts they added their margins on top of the supplier's price.

With increasing urbanisation and industrialisation, suppliers could no longer deal with their customers directly. They could no longer know their customers' needs, wants, preferences, habits, and other characteristics that helped them to compete. The problem then arose of how to compete with products that are not tailored to customers' needs. So they started building brands, and using advertising and mass marketing to persuade remote customers and compete for a greater share of the market. The flavour of the times were mass production, standardisation, strong universal brand, and a deep penetration of the market. However this involved a lot of guesswork, and some big mistakes were sometimes made. The disconnection with the customer also meant that direct-feedback from the individual customer was not available.

Over the years, competition became so fierce that mass marketing became inadequate in ensuring the brand, as customers could easily move to a competitor at any time. Relying on customers to remain with a business without bothering to interact with them is risky. It also became clear that not all customers are equally valuable to a business, and the focus moved to finding out what made a customer valuable. The way a customer interacts with the business can have significant impact on their loyalty and retention, so customer service gained prominence. Costs of acquiring and retaining a customer became really important, and it became clear that selling to an existing customer is cheaper than acquiring and selling to a new customer. Reducing the cost of selling and improving profits required more precise marketing, and this required the firm to be able to gather, retain, analyse and interprete customer data. However, this information gathering, analysis, and interpration was very complex, expensive and could not be easily done manually.

And then computerisation came, followed by the Internet. And it became possible again for suppliers to reach individual customers, connect with them and undertand their needs and wants. This enabled the firm to build a relationship with the individual customer, similar to that seen in the old days, and the field of Customer Relationship Management (CRM) was born. The aims of CRM for the supplier/firm is to deliver value to the customer at a profit, and to deliver that value so well that the customer remained loyal, and the supplier became a first choice for the product/service, with an enhancement of the supplier's reputation and brand. For the customer, the value of CRM is to have a supplier who understands the customer's needs and wants so well, that value was delivered at every interaction, with less mistakes. Since technology is very essential for delivery of the supplier's CRM aims, for some people CRM became synonymous with the technological tools. And some CRM technology vendors and practitioners insisted that their interpretation of CRM was the truth. These differing views affected the implementation and use of CRM technology. Companies and suppliers using these different CRM technology also judged and defined them by their experience of how it met their business needs.

Technology has been the hero and the villain of CRM in practice. For some CRM worked and for others it did not, and the reason for failure was not always due to the CRM technology. And those for whom CRM did not work were quite vocal in blaming either the concept of CRM, or the technology, or the CRM vendors, or all of them. But over the years, it became clear that the problem was not always due to the CRM technology, but the implementation and application of it. CRM is something that companies do. CRM is not something companies buy. CRM technology solutions is meant to help companies do CRM. Like all technology, someone has to turn it on and they need to know what "buttons to press".

CRM is not a fad. It is an underlying principle of interacting with customers or clients, and it is something that all firms should practice. All executives need to understand CRM as a corporate strategy.

These series of articles are aimed at helping all readers understand aspects of CRM. Obviously they are written from the perspective of my experience, but the articles will also incorporate information from the experiences of others, including research findings and more.

Mary Akpala is a CRM Consultant and Trainer for Alpha CRM Ltd in London, England, UK. She helps businesses automate and co-ordinate their business activities. She helps professionals and small businesses to make their working lives a lot easier, and their businesses easier to manage through the use of online collaboration tools and business software. Her emphasis is on training users to make sure they can get the most benefits of the available software by using them properly. You can reach Mary at +44 20 8361 7300 and via the website http://www.alphacrm.com/

Labels: ,

Technology Adds ROI to CRM

For sales reps and sales leaders alike, technology, like Customer Relationship Management (CRM) systems, will become increasingly important as we move toward the future. Many organizations have already invested in CRM systems and much has been written about how these systems have not delivered on their promised results. Fortunately, the CRM industry is evolving with new innovations that will help drive better returns on sales force automation investments.

The Purpose of CRM

The idea behind CRM implementation is to improve the productivity of the sales organization by leveraging better information. Salespeople can enter the latest plans and actions related to a contact, opportunity or account, and this information can be shared with sales management and other parties involved in the selling process. Because the data is updated in real-time, teams have the most current information. The result is that the right hand knows what the left is doing?and the action plan for that customer becomes a coordinated effort.

In other words, CRM can make the selling process more efficient and collaborative, allowing everyone involved in the sales process to benefit from individual reps? knowledge as soon as it?s inputted into the system. With the information gathered together, the output data is more robust for planning purposes. ?Collaborative selling proponents claim it helps companies realize higher close rates, shorten the sales cycle and gain higher-value deals,? writes Lisa Picarille in ?Market Watch: Collaborative Selling? (DestinationCRM.com, Dec. 1, 2003).

The Disconnect

It sounds good--but in the past, the introduction of technology into a sales rep?s tried-and-true methodology often met with resistance. The reason? Frequently, implementation of CRM systems didn?t result in anything concretely positive for salespeople.

In the past, ?CRM was a repository for data, and it still is, to a certain extent,? says Chris Hens, COO of the San Mateo, Cal.-based White Springs. The salesperson put data into the system, and that data might be valuable to the organization as a whole, but the salesperson never really got to see the benefits. ?That?s the way of the past.?

?What gets customers excited [about the future of CRM] is the way that a CRM platform or its attendant applications can deliver something back to the salesperson,? Hens says. ?A computer is supposed to help you, but it can?t do that if it doesn?t have enough?or correct?information. The goal is creating enough information that the computer can give salespeople suggestions.?

Recognizing that greater user adoption is needed for sales leaders to reap the benefits of increased data, both in terms of quantity and quality, technology innovators have worked toward building a better mousetrap: applications that attach to companies? CRM systems that actually help salespeople do their jobs better and faster.

To Drive User Adoption, Deliver Value

White Springs is among those innovators working to improve the individual sales rep?s experience with CRM. White Springs helps Miller Heiman integrate its core sales processes with their client?s various CRM systems.

For instance, Miller Heiman?s Sales Access ManagerSM (SAM) allows salespeople to use Strategic Selling? Blue Sheets and Conceptual Selling? Green Sheets that are hooked into the CRM platform?so salespeople can use the sales process electronically. Information they enter onto sales strategy sheets is automatically input into the CRM database. Salespeople like it because CRM now supports the sales process they?ve bought into and use.

Applications that work in conjunction with CRM?in addition to sales methodology integration software?include software that provides information on territories, information on key players, decision makers, or competitors, or the right sales collateral for a given selling situation.

To deliver value to the sales force and increase adoption, Hens says, you have to know and include what they need?and each salesperson, each day, needs something different. ?In essence, what we?re doing is creating a platform where sales ?best practices? or methodologies are connected directly into the CRM platform and can be engaged in the context of the everyday sales cycle. This, in turn, makes CRM more useful than just as a home for data,? Hens says.

With the advent of these kinds of applications, which can hook into CRM systems to provide immediate value to salespeople, the future is wide open. As Hens says, ?the way of the future is that people who have expertise in delivering the components that salespeople or sales managers need, right when they need it, will propel the movement forward.?

The Implications For Sales Leaders

?Sales leaders focus on two questions: What?s the problem? How do I fix it?? Hens remarks.

If user adoption is poor, there might not be enough data housed in the CRM system to answer those questions, or the data might not be accurate. User adoption can be driven by presenting an interface that helps the salesperson, but sales leadership also plays a significant role: For CRM to be truly effective, and live up to that dream of ultimate functionality, adoption has to be driven by management, Hens says. ?It needs to be made part of the business process. If each salesperson is doing his own thing, you?ll never reap the benefits.?

With increased use of the CRM system by salespeople, more?and more reliable?data will be input into the system, and a more accurate analysis of problems and their solutions will be possible. Sales leaders will be able to take the next step toward innovation: analytics to determine what is and isn?t working in the sales process.

That accurate information can be used to perceive customer trends and make more accurate forecasts. And, when sales reps leave the company, their customer data doesn?t leave with them; it?s still a part of the CRM system, easy to access and reassign.

Miller Heiman has been a thought leader and innovator in the sales arena for almost thirty years, helping clients worldwide win high-value complex deals, protect and grow key accounts, manage talent and optimize sales strategies and operations.

With a prestigious client list that includes Fortune 500 clients, Miller Heiman helps companies in virtually every major industry to build high performance sales teams that deliver consistent sustainable results to drive revenue.

Labels: , ,

CRM Application The Need Of The Hour For Small Businesses

Small Business Spell Success with CRM

CRM application is an essential tool for small businesses. It facilitates the process of profit maximization management. This is realized by efficiently handling the customers with streamlined customer-centric services.

The benefits of CRM Application for small business:

  • CRM should focus more on customer-centric services rather than product-centric services.
  • Collection and storage of individual customer information with free accessibility from a simple single server anywhere anytime.
  • World class one to one interactive and streamlined approach enhances automatic sales management and profit turnover.
  • A cost effective dynamic tool providing real time inventory and unique prices for your customers.
  • Manage your business with CRM virtually anywhere any time.
  • Provides better and more efficient demand and sales forecasts.
  • CRM encompasses an automatic tracking facility of your customer?s transactions.

In order to select the most efficient CRM application that will be a perfect fit to your unique special requirements, you will need to make sure of the following ...

  • CRM ensures customization of your specific business requirements.
  • Provision of a 360 view of customer?s transactions anywhere any time from a single database.
  • A flexible web base, facilitating collaboration between the customers, management as well as the vendors.
  • A compelling feature-rich ?click away ?technique.
  • CRM encompasses an innovative technique to facilitate easy customization of your organizational set-up.
  • Extensive satisfaction with seamless customer-centric services more than exceeds cost.
  • Highly interactive CRM with a zero risk solution
  • No extra skills required for CRM adaptability .
  • Infrastructural, maintenance as well as up-gradation services at no additional expense.

CRM application, provides world class technical expertise in combining, consulting and analyzing your critical business problems. With its excellent cost-effective customer-centric services, it ensures to boost your business image as well as credibility in the market. It gives your business a competitive edge by supporting all your specific business functions. Buying and selling an application is not the same as doing a CRM application for any small business

For more info visit : CRM Application for Small Business

Labels: , , , ,

CRM For A Small Business Competing In The Big World

Customer Relationship management, CRM in short, is an essential software tool for any small business. CRM provides a streamlined approach when dealing with the basic operational functions, namely sales, marketing and customer services. CRM facilitates small businesses to stay ahead, by providing them with customer-centric applications to suit their specific requirements.

Why Is CRM Essential For A Small Business:

  • Secure collection and analysis of vital customer information.
  • Integration and availability of mission critical data, without the time of space constraint.
  • Sales when automated synchronizes with the changing trends, facilitates quicker time to market product-centric services.
  • Professional cost-effective marketing strategies, which in-turn will ensures quicker turn-around time to customer-centric services.
  • Fully scalable web-based feature-rich streamlined approach.
  • Innovative mission-critical data warehouse provisions at low risk
In order to select the most efficient CRM that will be a perfect fit to your unique special requirements, you will need to make sure of the following ...

  • Research your business requirements and your end goals.
  • Enhancing business activities from around the globe from a single location.
  • A full scalable web base.
  • Click away feature-rich techniques.
  • Easy to customize to your organizational set-up.
  • Satisfaction more than exceeds cost.
  • Low risk solution
  • Zero skills adaptability.
  • No additional infrastructure requirements.
Successful small businesses are those who have taken a holistic approach where they treat CRM as not just a strategy but also as the state of the art software to suit their unique requirements.

For more information visit http://www.smallbusiness-crm.com

Labels: , , , , , , , , , ,

Role of CRM Application in Small Business

CRM application is an essential software tool for all small businesses. Big and small businesses aim for profit maximization. This can be realized by providing excellent customer-centric services. CRM application helps in achieving the same in an efficient cost-effective manner.

The need for CRM Application for small business:

,
  • Collection and analysis of customer information.
  • Integration and availability of mission critical data, for all the employees on demand any where any time.
  • Automated sales, to facilitate faster provision of product-centric services synchronizing with the changing trends.
  • In order to plan your marketing strategies, which in-turn will ensures quicker turn-around time to product-centric services.
  • Using a CRM application to plan your marketing strategies, ensures quicker turn-around time to product-centric services..
  • Fully scalable web-based feature-rich streamlined approach.
  • Secure as well as low risk data base.
,

In order to select the most efficient CRM application that will be a perfect fit to your unique special requirements, you will need to make sure of the following ...

,
  • Research your business requirements and your end goals.
  • Enhancing business activities from around the globe from a single location.
  • A full scalable web base.
  • Click away feature-rich techniques.
  • Easy to customize to your organizational set-up.
  • Satisfaction more than exceeds cost.
  • Low risk solution
  • Zero skills adaptability.
  • No additional infrastructure requirements.

CRM applications, provides world class technical expertise in combining, consulting and analyzing your critical business problems. With its excellent cost-effective customer-centric services, it ensures to boost your business image as well as credibility in the market.

For more info visit : http://www.crmapp.com/crm-application.html

Labels: , , , , , , , , , ,

Tuesday, January 15, 2008

Business Intelligence Outsourcing - Another CRM?

The rapidly changing needs for data access and information accuracy become the main goals of business intelligence outsourcing. The companies, specializing in business intelligence outsourcing provide a variety of services and help company executives and other members make the right decisions and essentially boost the business performance.

Most business intelligence outsourcing companies offer their services in the following areas: enterprise resource planning (ERP), multidimensional analysis, datawarehouse and datamart conception, business performance management (BPM), budgetary planning and modeling, (BSC) balanced score card systems, consolidation, datamining, reporting, dashboards. The divisions, which are mostly interested in business intelligence outsourcing services, include Sales, Finance, Marketing, Human Resources.

Some people believe that CRM and business intelligence outsourcing is very similar. Although some points do coincide, it is necessity to be able to see the difference between the two concepts. While CRM represents a process of managing information and contact with customers, in order to enhance the relationships with clients, business intelligence outsourcing offers operational and performance information . It actually deals with both kinds for presenting more dynamic and effective reports.

One of the main outcomes of business intelligence outsourcing is making the appropriate decisions for the benefit of a hiring company. This often implies full and prompt access to exact and detailed information. In our modern world, overwhelmed with technology, there is too much important and subsidiary information to be taken into account and so little time to review it all. If we could only embrace the amount of information that we can get about our business all at one time, then we would definitely be able to make clear and objective decisions about the way our business should be run. The business intelligence outsourcing firms help us to find the right information amongst the sea of conflicting data and give the right answers to our burning questions.

Most business intelligence outsourcing companies work for multinational corporations and government organizations in such regions as North America, Latin America, Europe, and Asia Pacific. The outsourcing firms provide an integrated, multiprocess solution to data analysis of various industries.

Olga Makhnach, copywriter for Moveyourweb Offshore Outsourcing Company

Labels: , , , , , , , , , , , ,

Microsoft CRM Customization, Data Migration & Integration

MS CRM 3.0 is a comprehensive business-management solution built on the highly scalable and affordable platform of Microsoft technologies. All-new customer relationship management (CRM) systems gives every customer-facing employee the information they need to truly impress customers. Microsoft CRM can create a centralized repository of customer data that sits neatly alongside Microsoft Office and Microsoft Office Outlook - the applications that are probably used every day.

Customization:
The Microsoft Dynamics CRM Architecture is designed for scalability and customization. Besides the possibility to personalize MS CRM by yourself the system also allows add ons by self developed components or Customization. In order to customize CRM Microsoft has included the Software Development Kit that perfectly describes all available classes and which Web Services need to be used. By the realisation of Web Services Integrations it is also possible to integrate MS CRM seamlessly with other applications as a result of which the available functionalities increase considerably.

Data Migration:
With the CRM Migration Tool you can import data from other applications or you can migrate data from other CRM applications.

Main Features are:
1) Data Integration
2) Data Migration
3) Scheduling

Through data integration the user can import data from any application database like a web store, POS into MS CRM database. Through the data migration you can migrate your other CRM data into MS CRM database. Through scheduling you can schedule your data import at any specified time.

Special Features:
Wizards, Templates, Add Multiple Entities, Configurable, Lookups for data mapping, Data Validation, Error Logs, Reports.

The application uses wizards which are user friendly. The tool provides some preconfigured templates for migration. User can also save templates. It is possible to add multiple entities and set multiple data sources.

User can configure the template to map the source fields to the MS CRM fields and as well as set a criteria for the Entities .Lookups are provided to perform data mapping. The tool performs data validation and Sql type validation, checks whether all source data is mapped to CRM data, checks for the existence of a record for updating.

Errors during data validation, data Import are logged to log files. Reports are provided to show total records, records inserted, updated and failed.

If you need any help with MS CRM Customization, Data Migration, Integration with third party or any ERP System, just give me a call and I will help you out. Tel: +1 954 889 7120, help@clfsolutions.com

Ray Jensen is an MS CRM & Great Plains Consultant focused on customization, migration and integration projects, and serves the following States remotely: California, Texas, New York, Georgia, Washington, Colorado, Minnesota, Illinois, Canada, Australia and Europe ( help@clfsolutions.com , http://www.clfsolutions.com)

Labels: , , , , , , , , , ,

Microsoft CRM Migration - Moving From One Domain To Another

Microsoft Dynamics CRM is becoming the tool of choice for small, medium and even large businesses across USA and even worldwide ? and there are strong arguments to support this statement: it is web based, plus it uses Microsoft Outlook replication model and allows you to work offline. However so far we think Microsoft CRM was not popularized in the direction of being transferred to new business owner when old business is sold or want through transformation, resulted in Active Directory reinstallation. Below we would like to offer you highlights, tested with Microsoft CRM 3.0 and we believe that future MS Dynamics CRM releases will be more flexible in the sense of transfer from one domain to another

? New Domain with the same name. Considering you are moving, downsizing, upsizing, for example you have to upgrade from Windows Small Business Server to Windows Enterprise. Install your new server and migrate Exchange users and email from your old domain

? Back Up Microsoft CRM company and metabase databases

? Mount company and metabase databases on your new Windows server SQL server

? Run MS CRM Redeployment tool/wizard. At this time you should be able to map MS Exchange migrated users with your old users. Please be advised to rename users ID after MS Exchange migration ? this is required and part of the procedure

? Install MS CRM 3.0 in your new domain with the same name, chose map existing databases, be sure that your are entering the same company name

? Apply your custom reports and MS CRM SDK customizations to new environment

? Additional Tips. SM CRM Redeployment tool resolves Active Directory GUID with human names, so you can try additional experiments in this direction. Try to avoid Crystal Reports, use MS SQL Reporting Services instead. When doing MS CRM programming, please follow MS CRM SDK (Software Development Kit) rules and conventions, do not do direct SQL Server scripting, or if the last is required ? create your development DB and place custom objects there.

Andrew Karasev, Alba Spectrum Group, http://www.albaspectrum.com http://www.enterlogix.com.br help@albaspectrum.com , we service Microsoft CRM, Microsoft Dynamics GP clients in Illinois, Texas, California, Canada, New York, Colorado, Alabama, Georgia, Florida, N/S Dakota, Minnesota, Wisconsin, Kansas, Arizona, Los Angeles, San Francisco, Montreal, Chicago, Miami, Tampa, Atlanta, Phoenix, Houston, Dallas, Toronto, Rochester, Lisle, Downers Grove, Schaumburg, Naperville, Aurora, Bolingbrook. Please call us at 1-866-528-0577, 1-630-961-5918

Labels: , , , , , , , , , ,

Integrating Lotus Notes and Novell GroupWise to CRM Systems

Enterprise CRM provides significant value to organizations. However, without seamless integration to mail and calendaring systems, the CRMs value is never fully achieved. Most CRM vendors recognize this very critical integration and provide out-of-the-box links to Microsoft Outlook. That's great, but what about the users of other mail systems like Lotus Notes and GroupWise? They're usually left to their own where most users try and eventually abandon the tedious cut-and-paste route to transfer data. This very simple inefficiency often leads to lower CRM adoption rates and in the worst case eventual scrapping of the CRM solution.

LinkPoint360 provides simple and quick integration between Lotus Notes and GroupWise and most of the larger CRM products. Our tools eliminate the cutting and pasting and data isolation. End result - you achieve the true value of your CRM investment with higher user adoption rates.

Our solution is simple and very intuitive. Record any email to your CRM for the whole team to see. Transfer your entire calendar, contacts and tasks between systems - automatically. Sometimes, the little things make big differences, especially when large teams are involved.

Email Integration - It's all about sharing the information. Leaving important email locked in your personal mailbox doesn't do your team or organization any good. With a few simple clicks, those important messages can be transferred to the appropriate location in the CRM for the whole team to see, share and act upon.

Data Integration - Both Lotus Notes and GroupWise offer an isolated mode where users can work off-line without a network. Our sync tool transfers your calendar, contacts and tasks automatically to and from the CRM on a regular basis. Now, you'll have a choice to enter any of this data in either your email client or the CRM, knowing that the data will transfer to the other system without effort or issue.

That's what we do - Our business is dedicated to Mail / CRM integration. We currently have 16,000 active users all over the globe. We know the details of the mail and CRM systems and help them speak to each other. We integrate Lotus Notes and GroupWise with any of these CRM products: salesforce.com, Microsoft CRM, SalesLogix, Pivotal CRM, Sage CRM, NetSuite CRM and SugarCRM.

Next Step - Contact us and we'll arrange a short twenty minute webinar that will prove the simplicity and importance of email / CRM integration.

LinkPoint360 64A White Street Red Bank, NJ 07701 Sales: 732-212-8401 sales@linkpoint360.com

http://www.linkpoint360.com/

Glenn Lehner is the Vice President of Business Development for LinkPoint360, http://www.linkpoint360.com, which provides Lotus Notes and Novell GroupWise integration to Enterprise CRM systems. LinkPoint is used by organizations around the globe and is available in English, French, German, Spanish, Portuguese and Japanese.

Labels: , , , , , , , , , , , ,

Microsoft CRM Customization secrets second edition

This article is for advanced Microsoft CRM SDK C# developers. It describes the technique of direct SQL programming, when SDK doesn't have the functionality to do the job.

Introduction. Looks like Microsoft CRM becomes more and more popular, partly because of Microsoft muscles behind it. Now it is targeted to the whole spectrum of horizontal and vertical market clientele. It is tightly integrated with other Microsoft Business Solutions products such as Microsoft Great Plains, Solomon, Navision (the last two in progress).

Here we describe the technique of creating closed activity-email using MS CRM SDK and direct SQL programming.

Imaging something like this. You need to handle incoming email before it is committed to MS Exchange database. You need to analyze if incoming email doesn't have GUID in its Subject (GUID will allow MS CRM Exchange Connector to move email to Microsoft CRM and attach it to the Contact, Account or Lead) - then you still need to lookup MS CRM in case if one of the accounts, contacts or leads has email address that matches with sender email address - then you need to create closed activity-email in MS CRM, attached to the object and placed into general queue.

How to create MS Exchange handler is outside of the scope, please see this article:


http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm

Now the code below is classical MS CRM SDK and it will create activity email:

public Guid CreateEmailActivity(Guid userId, int objectType, Guid objectId, string mailFrom, CRMUser crmUser, string subject, string body) {

try {

log.Debug("Prepare for Mail Activity Creating");

// BizUser proxy object

Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials credentials = new NetworkCredential(sysUserId, sysPassword, sysDomain);

bizUser.Url = crmDir + "BizUser.srf";

bizUser.Credentials = credentials;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

// CRMEmail proxy object

Microsoft.Crm.Platform.Proxy.CRMEmail email = new Microsoft.Crm.Platform.Proxy.CRMEmail();

email.Credentials = credentials;

email.Url = crmDir + "CRMEmail.srf";

// Set up the XML string for the activity

string strActivityXml = "";

strActivityXml += "";

strActivityXml += "") + "]]>";

strActivityXml += "";

strActivityXml += userId.ToString("B") + "";

strActivityXml += "";

// Set up the XML string for the activity parties

string strPartiesXml = "";

strPartiesXml += "";

strPartiesXml += "" + crmUser.GetEmailAddress() + "";

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

strPartiesXml += ""+ crmUser.GetId().ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "" + mailFrom + "";

if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml += ""+ objectId.ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

log.Debug(strPartiesXml);

// Create the e-mail object

Guid emailId = new Guid(email.Create(userAuth, strActivityXml, strPartiesXml));

return emailId;

}

catch (System.Web.Services.Protocols.SoapException e) {

log.Debug("ErrorMessage: " + e.Message + " " + e.Detail.OuterXml + " Source: " + e.Source);

}

catch (Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

return new Guid();

}

Our credits to Anna Osborn (so obviously small pocket aquarium goes to her smile!), she let us know how to close MS CRM Activity:

//creates the activity

strActivityId = oActivity.Create(userAuth, strXml, activityPartyXml);

//closes it as long as the relevant fields are complete oActivity.Close(userAuth, strActivityId, -1);

But in any case whatever you find below could help you to do whatever CRM SDK cant.

Now I would like to share the trick with you - there is no method to make this activity closed in MS CRM SDK 1.2 (if somebody knows the one - I owe you small pocket aquarium - smile!). Obviously Microsoft doesn't support if you do direct SQL programming bypassing SDK. However I would say this is not direct objects creation - this is rather flags correction. So here is what we have - this procedure will do the job and make activity closed:

public void UpdateActivityCodes(Guid emailId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WHERE ActivityId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

command.Parameters.Add(new OleDbParameter("StateCode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("ActivityId", emailId));

log.Debug("Prepare to update activity code " + emailId.ToString("B") + " in ActivityBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}

Happy customizing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, Arizona, California, Colorado, Texas, New York, Georgia, Florida, Canada, UK, Australia and having locations in multiple states and internationally , he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer

akarasev@albaspectrum.com

Labels: , , , , , , , , , , , , , ,