Sales Automation Blog



             


Tuesday, May 20, 2008

Microsoft CRM Customization: Integration with third party SQL Application/Database

Microsoft CRM Client Relationship Management package from Microsoft Business Solutions was initially designed to be customizable with Microsoft Visual Studio.Net and one of its programming languages C#.Net or VB.Net. You can use ADO.Net, Web Service, Transact SQL scripting and stored procedures, deploy such SQL Server tools as Linked Server to all ODBC/OLEDB compliant database, including ORACLE, Sybase, Ingress, DB2, Unidata, Pervasive SQL, Ctree and even Lotus Notes/Domino. In this small article we would like to give you the clue on programming the integration with SQL third party Database.

First use Microsoft CRM SDK to initiate communication with Microsoft CRM, we have it in C#:

String[] arr1 = coll.AllKeys;

int loop1, loop2;

for (loop1 = 0; loop1 0?1:arr1.Length); loop1++)

{

String[] arr2 = coll.GetValues(arr1[loop1]);

for (loop2 = 0; loop2 < arr2.Length; loop2++)

{

strAccountId = arr2[loop2].Replace("}",null);

strAccountId = strAccountId.Replace("{",null);

}

}

if (Page.IsPostBack==false)

{

// Server should be set with the name of the platform Web server

string Server = ConfigurationSettings.AppSettings["ServerName"];

// VirtualDirectory should be set with the name of the Microsoft

// CRM Virtual Directory on the platform Web server

string VirtualDirectory = "mscrmservices";

string strDir = "http://" + Server + "/" + VirtualDirectory + "/";

// BizUser proxy object

Microsoft.CRM.Proxy.BizUser oBizUser = new Microsoft.CRM.Proxy.BizUser ();

oBizUser.Credentials = System.Net.CredentialCache.DefaultCredentials;

oBizUser.Url = strDir + "BizUser.srf";

// CRMAccount proxy object

Microsoft.CRM.Proxy.CRMAccount account = new Microsoft.CRM.Proxy.CRMAccount ();

account.Credentials = System.Net.CredentialCache.DefaultCredentials;

account.Url = strDir + "CRMAccount.srf";

Then you use ADO.Net for calling stored procedure with parameters to do the integration job:

try

{

string SQLStatement="ICS_UpdateAccountPrivate '"+

strAccountId +"' , '" + this.TextBoxWorkPerformed.Text +

"' , "+doubleEncode(System.Double.Parse(this.TextBoxAnnualRevenue.Text))+" , "+

intEncode(System.Int32.Parse(this.TextBoxNumberOfEmployees.Text.Replace(",","")))+" , "+

doubleEncode(System.Double.Parse(this.TextBoxAverageGrowthRate.Text))+" , "+

"'"+this.DropDownListOwnership.SelectedItem.Text +"' , "+

intEncode(System.Int32.Parse(this.RadioButtonList.SelectedItem.Value))+" , "+

intEncode(System.Int32.Parse(this.TextBoxCredit.Text.Replace(",","")))+" , '"+

this.TextBoxComments.Text+"'";

System.Data.SqlClient.SqlConnection tmpConnection =

new System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings["ConnectionStringICS"]

);

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies USA nationwide Great Plains, Microsoft CRM customization company, based in Chicago, California, Texas, Florida, New York, Georgia, Colorado, Oregon, Washington, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com), he is CMA, Great Plains Certified Master, Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer. You can contact Andrew: 1-866-528-0577 andrewk@albaspectrum.com.

akarasev@albaspectrum.com


 

Labels: , , , ,

Friday, March 21, 2008

Is Your CRM System Destined To Fail?

Its time to put your trusty CRM software to work; to let it earn its keep. You're about to blast an email out to several thousand potential customers. First you run a search of people and companies you want to target. You soon realize somethings wrong when your list is far smaller than anticipated. A quick check reveals many profiles have not been filled in or are missing email addresses. Further inspection shows numerous records are incorrect; others are riddled with typos. And thats just for starters. With a sinking feeling, you realize this email blast isnt going to happen anytime soon.

Time for some damage control or preventative maintenance

Fortunately one of the most common reasons cited for the high failure rate of CRM systems - poor data quality - is also one of the easiest to avoid. Your CRM software is only as good as the information it contains. As the old programmers motto goes garbage in, garbage out. So how can you avoid incomplete, incorrect, irrelevant or out-of-date and generally unfit-for-use data from permeating your CRM software?

You need to gather your key CRM users together and write a standard guideline document, defining the CRM system rules of use.

10 questions that should be addressed:

1. Identify who has what rights to the system; who can Create, Insert,
Modify or Delete records? Forward this information to your system
administrator to record.
2. Decide on a procedure to check for any duplicates before creating a
record. Depending on what de-duping or data scrubbing features your
system has, this might require some simple searches before starting a new
record.
3. Do you allow abbreviations or acronyms? For example: IBM, or I.B.M,
or International Business Machines Inc. A policy on ensuring consistency
of input will help to avoid duplications in future.
4. Are records going to be created in Upper and Lower case and when are
CAPS acceptable?
5. By when do you expect records, notes and so on to be created or
updated? Same day, on return to the office?
6. Is the primary address of clients to be created as a postal or a
physical address?
7. Make sure everyone checks spellings if they are unsure. When in
doubt, ask the client or Google it.
8. Make rules for creating new tabs or Custom Objects (as
salesforce.com CRM calls them.) Every time a new Custom Object is needed,
it should first be approved.
9. Ensure that email addresses are put in correctly. Basic but common
mistake!
10. Set up procedures, if not supported by your crm software, of how to
create records from inbound emails.

Once your document is finished, get everyone to sign off on it. As
standard practice, ensure that document is handed to all new employees at
your company.

How do I reinforce this as time goes on?
Try this: select a couple of records - both good and bad - every week, to
put on the overhead at staff meetings. Make sure you dont unduly
embarrass anybody but watch this become the light-relief highlight of your
meetings! People learn best when having fun!

What if your database is in one unholy mess?
Has the rot set in so deeply that your database needs a complete overhaul?
Turn this seemingly insurmountable task into an opportunity to you. This
is an excellent excuse to re-establish contact with your clients and let
them know you care.

Importantly, help your staff understand what you need from the data to
facilitate more accurate marketing and reporting and hence the success of
your business and their careers.

By creating a sense of pride and ownership in the company database, you
are nurturing the essential process of buy-in, necessary for the success
of your CRM initiative. Dont compromise this critical tool by allowing
your CRM software to be infected by inferior data.

David Cowgill is a Senior Marketing Manager in San Francisco. His coverage area focuses on the technologies that facilitate managing CRM analytics and lead generation.

For further information contact:
David Cowgill
CRM Blog Founder
http://crm.blogs.com

Labels: , , , ,

Tuesday, March 4, 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 (www.albaspectrum.com), he is Microsoft CRM SDK, Great Plains Dexterity, SQL, C#/VB.Net and Crystal Reports developer.
akarasev@albaspectrum.com

Labels: , , , , ,

Thursday, February 14, 2008

Some Of The Benefits Of A Microsoft Customer Relationship Management System

Customer Relationship Management (CRM) systems provide a formalized system gathering, organizing, maintaining and manipulating customer and contact information. With an effective Microsoft Dynamics CRM in place, business owners are provided with a powerful tool to successfully manage and develop their business.

Why a business should adopt and implement a Microsoft Dynamics CRM can be readily appreciated by considering some of the benefits provided. An effective Dynamics CRM, properly implemented and adopted will greatly help to maximize sales and reduce costs and time while management who have a better view of what is actually going on a lot faster than without a Dynamics CRM, are far better placed to manage the risk to their business.

Managing the sales cycle is expensive and time-consuming, so knowing where you are with a contact or set of customers is important if you intend to maximize the results of your business generation activities. A Microsoft Dynamics CRM will provide accessible information at your fingertips which means that a business owner can look at the ?Big Picture? or macroscopic view while at the same time break business performance down to see what activities and customers are contributing to the bottom line. This allows business owners and managers to see where to concentrate their efforts to maximize sales and minimize costs.

Generating new business is the most expensive part of the sales cycle, and because a Microsoft Dynamics CRM system provides the ability to categorize contacts and identify which are suitable prospects for a particular sales and marketing campaign, a business can most effectively deploy resources. Knowing which prospects are likely to buy, when they are likely to do so and where the prospects are geographically will help your sales team to maximize their efforts, reduce wasted time and money, and provide a greater return on the investment of time and money in acquiring that customer base.

Existing customers are most likely to buy from you again, and because a Microsoft Dynamics CRM system will provide a business manager with the ability to manage, maintain and develop the client relationship this means that a business is likely to generate greater revenues from understanding a customers requirements better and produce overall cost savings as a result of improved customer retention rather than chasing new ones.

As a Microsoft Dynamics CRM software solution provides a repository for all your client information, including sales history, seasonal variations in sales, and improved ability to forecast turnover from repeat sales, business planning and goal setting is simplified and there is an additional benefit in saving staff and management time searching for information which is readily available. Reducing the time required planning your business activity and development allows more time to be spent on generating business and managing activity where the sales revenue is actually created - with your customers.

A Microsoft Dynamics CRM will provide a business owner with the ability to see at a glance what is happening with their sales and customers. We live and operate in a fast changing world where trends and tastes change, sometimes overnight, and the ability to see how these variations affect our overall business performance allows management to quickly adapt to changes in trading conditions which under more traditional reporting methods may not be observed for some time. With a Microsoft Dynamics CRM providing accurate and up-to-date business information on results and activity, business management is better placed to take advantage of trading opportunities while also minimizing business risk by alerting management of adverse trading conditions.

Finally, an often overlooked benefit of all Customer Relationship Software is found when looking at implementing such a solution to begin with.

Implementation of a Microsoft Dynamics CRM solution invariably forces business owners and management to reconsider their business and how they are managing it, not to mention the benefit that is derived from a thorough review of the overall business goals and objectives. Often this has not been done for some time, if at all, and considering how a solution will be tailored to fit the business frequently breeds the realization that things could be managed better.

This doesn?t derive from the customer relationship software itself, but from planning how to implement and adopt such a solution; owners and management are compelled to confront their current business practices and perhaps revise them. This is probably the greatest insidious benefit to be derived from a Customer Relationship Management solution for a business.

Syed Ali, is the lead CRM consultant for a Toronto based company. His company offers, Microsoft CRM 3.0 Syed can be reached at Tel : (905) 815- 1995 ext 22, email: asyed@cqsolutions.com

Labels: , , , ,

Thursday, November 29, 2007

Management Features of Sales Force Automation

 Sales force automation, or SFA, is a term that refers at its most basic to automating critical sales functions like lead and account management. Sales force automation uses software to automate sales tasks like order processing, lead generation, information sharing, contact management, customer management, and employee evaluation.

It also keeps track of customer preferences, buying habits, demographics, and performance management. Sales force automation tools improve field sales productivity and open whole new realms of possibility for companies. With an on-demand architecture that allows effective sales force management and CRM, managing sales information is easy on even the largest scales. Essentially, customers and sales employees can manage and share any type of information.

There are a number of benefits and features that come with sales force automation technology, and these features comprise the backbone of the SFA system. They include:

Lead management

Lead management allows companies to keep better track of leads by ensuring they don't get cold. This can reduce or eliminate the need for manual routing and lead assignment duplication, clearly defines opportunity assignments, and is able to automatically assign leads to the correct individual based on territory, product expertise or user-defined rules. Thus SFA allows for automatic load leveling across sales territories, and better relationships between team members.

For example, with automatic lead management, you can set security controls that ensure teams or partners can access only their own leads, increase lead conversion rates and improve sales response times.

Opportunity management

Opportunity management allows sales teams to work better as units by standardizing sales methods and systems, identifying bottlenecks, and tracking deal closures. It also allows employees to focus their resources on strengthening key partnerships and dominating key competitors instead of competing with each other. More organized sales teams allow managers to delegate tasks and set up automatic reminder emails for themselves and their team.

Most importantly, the opportunity management feature allows companies to centrally track custom information like partner and customer communications and milestones while simultaneously monitoring myriad sales processes like sales channels, service effectiveness or product lines.

Account management

An account management system ensures that your company is able to attain full knowledge of your customer accounts. Accurate knowledge of customer account equals better collaboration amongst your sales teams and retains lasting customer relationships. Additionally, account management allows a company to defines and evaluate all those involved with the account, from the project manager to the executive sponsor.

With account management, you can set up online access to all customer account information, like organization charts and current partners-across the entire company. No one is left in the dark and everyone knows the account status and history.

Territory Management

On-demand, advanced territory management capabilities allow you to adjust to rapid changes within your company. An easy point-and-click interface ensures your company can automatically route accounts and opportunities to the correct territories.

A solid territory management system also decreases lag time in lead assignments by ensuring a lead never gets cold; lead assignments are easily queued and automatically sent to the correct territory. In essence, territory management allows companies to easily monitor, set up, gather, transfer, assign, re-assign, and change accounts across territories.

Contract Management

Contract management is another integral feature in sales force automation. Essentially, it allows companies to manage a contract's lifespan by shortening approval cycles for contracts, renewing contracts sooner, and reducing administrative costs.

This SFA feature improves tracking and management of contract information, such as value, conditions, terms, evaluations, and more.

Traditionally, most companies have had to build, buy and sustain an IT software system all on their own; however, this leads to extremely high maintenance fees and myriad other costs. Today, the advent of automated sales force technology allows businesses to subscribe to already built, on-demand, customizable services that provide everything a traditional IT software does and more.

The architecture of sales force automation allows for a decrease in the total cost of ownership, reduction of risk factors, a decrease in wasted time, and a new focus on business and management rather than technology.
Diane Newsom writes for salesforce.com ? A pioneer in rel="nofollow" href="http://www.salesforce.com">SFAsoftware. Visit their site for more information on sales force automation.

Labels: , , ,