Archive for August, 2007

IT Services Use of CRM

August 28, 2007 23 comments

In today’s environment, the world is becoming more and more customer focused and various organizations are working on their business strategy to increase and solidify their customer base. An important part of this process includes enabling the employees as well as customers at each customer touch point by providing them with technology to achieve the organizations’ vision.

CRM as a business strategy is being visited by organizations across the world to have strong customer centric processes.

One of the sectors, where there is a huge demand for implementing CRM is the IT Services sector.

In the IT services industry today, it’s the big players that have focused on implementing CRM to manage their customers. The mid segment players have traditionally used Outlook for managing contacts and have focused more on having a strong Enterprise Resource Planning (ERP) application set. However the mid segment players can benefit hugely from our “departmental” CRM implementation with some basic configuration.

This blog article is a thought process on how we can come up with a flavor that caters to the IT Services for Sales Force Automation (SFA) specific needs and easily fit into the existing application framework.

Generic SFA requirements for an IT services organization can be categorized into:

· Enable Business Development (BD) Team to manage the worldwide clients/contact and opportunities more effectively by automating the entire process

· Manage data across geographies with each geography having its own Business Dev team

· Automate Lead collection and conversion process

· Have a 360 degree view of all the customers (accounts/contacts) at the senior executive level to understand the customer base better

· Conversion of opportunities into projects

· Availability of the data while on move

· Availability of appointments/tasks/contacts in the user’s mailing application

· Enable the sales teams to manage the contact/lead data in one central repository rather than team members using their individual data stores like excel, outlook

· Ability to assign data from one user to another in the event of non availability of the original owner

· Ability to view historical data about a customer thus saving the customer from providing the same information repeatedly; this also helps the customer relationship executives to be prepared with information on a customer

· Integration with other back office applications thus minimizing the user input into different applications to see the same data

· Ability to define standard sales processes across the organization to make the opportunity closure an efficient process

· Having role based data access

· Easy export/import of lead/contact data available in excel formats

· Enable the users by having the flexibility to have workflows for standard actions and reducing manual data entry

· Availability of standard reports like contact dossier, pipeline forecast etc

The following are the processes involved:

· Lead Management

  • Identifying and Capturing Leads via website/phone call/trade shows/social event
  • Conversion of leads into companies/contacts

· Account/Contact Management

  • Associating contacts with companies
  • Maintaining ‘Know Your Client (KYC)’ information

· Opportunity Management

  • Identifying opportunities for implementing projects with these accounts
  • Capturing Project Information
  • Capturing Competitor Information and the technologies

· Managing Activities at various stages

· Data Security

· Standard workflows and Sales Processes

· Integration

  • With back office applications like financials
  • Integration with Project Management application once the opportunity is converted into project

· Reporting

CRM 3.0 Laptop Client can be implemented as a solution and meet all the requirements of this organization. The tool can be easily integrated with their other back office applications using Microsoft Biz Talk.

Process Mapping to CRM 3.0:

Organization structure mapping:

Business units can be created to represent geographic locations. Roles will be then created within business units to represent a user’s profile. Users can then be added to these roles/business units based on their location and job profile.

Lead Management:

Leads in this organization can be captured via various channels:

From Website:

The website is generally used as one of the main marketing channels and can be integrated with CRM 3.0 using .Net to create a lead using CRM 3.0 web services. The workflow tool can then be utilized to assign the lead to a business unit manager based on the geographical location of the lead.


Leads can be created manually or imported from excel file provided by vendors.

Lead Conversion:

CRM would enable the user to rate this lead based on the lead ranking system applicable within the organization. CRM also allows tracking the source of the lead. So if the lead is created automatically from the website, the source can be set to ‘Website’. The users have the option to manually set this value based on the lead source. This would enable to view the number of leads captured from various sources and thus enable the management to identify the effectiveness of the various lead sources.

Automatic Assignment of Leads to the Business Unit Manager:

Using workflows on lead creation, the leads can be automatically assigned to a Business Unit manager. On lead assignment, an email can be sent to the assignee via the workflow informing her/him of the lead being assigned.

Lead Conversion into Company/Contact:

CRM 3.0 Lead Conversion is a one click process that would allow the user to select the conversion type. Based on the selection, the company (CRM 3.0 Account) record and/or contact record gets created with details taken in from the lead record. The user can later open the record and update the details for that record.

If the lead is lost, the users have the option of closing the lead and providing the details for the closure. This information can later be used for identification of reasons for lead closure and thus allow management to take steps to make their lead conversion process more effective.

Company Management:

CRM 3.0 Account can be configured to meet the requirements of Company Management. As per the current process, the users maintain the basic information about the company like industry type, company website and other contact information, primary contact, the originating lead (if the company was a conversion from lead) and the total revenue generated from this company. The total revenue generated comes in from the back office applications and thus there is an integration of company with the back office application.

Contact Management:

Following can be achieved by configuring Contact entity in CRM 3.0:

· Capture Contact information like contact details

· Capture Contact preferences and other information like likes and interests

· Contact Loyalty information

· The contact that referred this contact – this information would enable BD teams to gauge the effectiveness of their contacts in terms of referrals made by a contact. This also acts as a factor in setting the contact loyalty

· Open and Closed Activities mapped to a contact

· The company this contact belongs to

· Using the CRM Workflows, users can be notified for important occasions related to a contact like Birthday, Anniversary. These can help the Business Development teams to improve their relationships with their contacts.

· Various reports can be made available to the users like:

§ Contact Dossier Reports – This report can provide all the contact details including the loyalty tier, current activities open with this contact, the referrals made by this contact including the projects.

Opportunity/Project Management:

The Business Development teams use their contacts to identify the IT projects being planned within various companies. This helps them identify a potential opportunity and then they get involved with that company to close the opportunity as a win. Their internal sales process includes identifying the stage at which the project bid is moving and the various activities that need to be done as the project moves from one stage to another. These activities are standard across the organization. They also want to be able to capture the competitor information early in the project stage so that they can gather more information and thus develop a competitive advantage.

They should be able to capture expected revenue and win/loss information. The financial’s of the project should be integrated with their back office applications.

CRM 3.0 Opportunity entity can be configured to achieve these objectives. This would also allow the users to utilize the ‘Sales Process’ workflow that is bound to opportunity entity.

A sales process can be created that would have the following:

· For each stage, there are certain activities that need to be done. These activities can be created via the sales process thus saving the user a lot of precious time.

· Sales process can restrict user from moving to a next stage unless certain activities are completed.

· Notifications can be sent to the sales teams/managers on change of stages or completion of certain activities.

Sales process needs to be applied manually and thus gives the flexibility of not applying a sales process workflow for certain projects that might not need that extensive process.

This entity would also have the information about the contact that referred this project thus providing referral value from Contacts.

The entity can be configured to capture Win/Loss information that is a set of questions that the users have to provide at the time of closing an opportunity.

Once a project is closed as a ‘Win’, this can be integrated with the Project Management system in use in the organization thus minimizing on the data entry efforts by the end users.

Based on the requirement, a custom entity ‘Project’ can also be created to capture the project related details. This entity can be then integrated with Project Management application.

CRM Competitor entity can be used to track the competitor information.

Integration with BackOffice Applications

Microsoft CRM 3.0 can be easily integrated using BizTalk and thus there can be 2 way flow of information between the various back office applications and CRM.

This diagram shows how all the applications can be integrated by implementing Service Oriented Architecture.

CRM 3.0 can be integrated with an HR application to get some basic required information about the employees (CRM users).

Integration with Financial Application will allow sending and receiving the Project Revenue related details. It can also provide revenue details at the Client (Account) level and the revenue that a contact has influenced within an organization.

Integration with Project Management Application can reduce time and effort as the details from CRM can be sent into the application and allow the project Team Managers to start resource allocation and other planning activities.

Similarly, Data Warehouse is the application that can be integrated with CRM 3.0 to have all the data from various transactions and thus allow analysis of this data easily.


We can clearly see that implementing CRM for an organization is not a difficult task. The primary objective should be to understand the business needs and configuring the tool to map to the business rather than the other way round. And last but not the least – Follow the thumb rule of “keep it simple”

*Please note that these are some standard business requirements that I have seen with the technology services companies. These are not specific to a particular customer nor do they cover the entire gamut of requirements of various customers.

Richa Jain

Published Friday, August 24, 2007 9:06 AM by crmblogFiled under: ,


Micro ISV: very interesting book for entrepreneurs willing to create their own software company

August 20, 2007 Leave a comment

micro ISV

I read Micro ISV during my trip to Geneva this week end; the book is very interesting because it structures the Micro ISV development process from vision to real revenues. Don Dodge recommended this book on his blog The next big thing and this is how I knew about it; thank you Bob for this great book;


Categories: ISV, Microsoft

Microsoft CRM: queue gadget

August 14, 2007 Leave a comment

Microsoft CRM 3.0 shipped with an extensive web service API that can be used by various types of applications. I’ve provided a sample Windows sidebar gadget (or just gadget) that retrieves queue items related to the currently logged in user every predefined interval. Feel free to use this as a starting point for your coding efforts. Since the gadget is always available on the desktop but small in size, the ideal information to display on gadget should be something dynamic and concise. In Microsoft CRM context, the queue item entity fits squarely as it is changed quite frequently and requires immediate attention from a user.


Figure 1 “In progress” queue items


Figure 2 “Assigned” queue items


Figure 3 Settings window

Developing CRM Gadget

For more information about developing gadget in general, please refer to MSDN article in the resource section. This article will focus more on CRM specific aspects.

Retrieving data from CRM

Gadgets are composed of HTML and JScript. We can use XmlHttp from JScript to send hand crafted SOAP message to the CRM server. Then we use an Msxml2.DOMDocument to parse the response to get the result. We need not do it asynchronously as the user is not blocked by the gadget anyway and it will be much more complicated to do it asynchronously.

In keeping with best practices, this sample retrieves only columns that are needed to reduce server load.

Reading and writing settings through the gadget infrastructure

The gadget infrastructure provides a nice API for reading and writing settings. Be careful about storing sensitive information though. In this case, we just store the CRM server name, polling interval, and queue type so we are okay.

For reading settings

var currentServerName = System.Gadget.Settings.readString(“crmServerName”);

For writing settings

var temp = serverName.value;

System.Gadget.Settings.writeString(“crmServerName”, temp);

Securing gadget

Gadgets also subject to all sorts of cross site scripting vulnerabilities, since they are also web applications. All user input should be validated before using it. All external data (including data from the CRM server) must be properly encoded before rendering.

Using standard style sheet

This sample utilizes template.css to make the gadget look consistent with the CRM web application. For example the server name label is shown as a required field. This template.css file is shipped with CRM SDK. You can download it from

Deploying gadget

Because this gadget is a real application though it looks cute; there will be a time that you will want to patch it after you ship. The best way to enable gadget patching is to deploy it with MSI. However, for simplicity of our sample, I just use the zip approach. All you need to do is zip all HTML, JScripts, CSS, and the manifest (gadget.xml) together and change the resulting file’s extension from .zip to .gadget. Then the user can install it by double clicking.


– MSDN Windows Sidebar Gadget Development Overview (

– System.Gadget.Settings in MSDN (

– Other CRM Windows sidebar gadgets


Akezyt Janedittakarn

Categories: CRM, Microsoft Dynamics