• | Table of Contents
• | Index
• | Examples
Special Edition Using® Microsoft® CRM
By Laura Brown, John Gravely
Publisher | : Que
Pub Date | : July 24, 2003
ISBN | : 0-7897-2882-6
Pages | : 640

A sophisticated yet easy-to-use software program, Microsoft CRM handles the full range of Sales and Customer Service functions, and allows the user to access key customer and sales information from Microsoft Outlook and the Web. It is designed for rapid deployment, ease of use, and integration with Microsoft Office and Microsoft Great Plains' back-office solutions, increasing information reliability, employee usage and productivity.

Special Edition Using Microsoft CRM shows sales, service, and business development specialists how to manage small businesses with the sophisticated technology that, until now, has been reserved for large corporations. Based on the author's real-world experience building CRM systems, this book provides the expert advice that MS CRM users need. To make the move to customer-centric operations using MS CRM, companies need an in-depth guide to managing the process, using the software, and making the implementation decisions that are required.


• | Table of Contents
• | Index
• | Examples
Special Edition Using® Microsoft® CRM
By Laura Brown, John Gravely
Publisher | : Que
Pub Date | : July 24, 2003
ISBN | : 0-7897-2882-6
Pages | : 640

Copyright
About the Authors
Acknowledgments
We Want to Hear from You!
Reader Services
Chapter 1. Introduction
 | Who Should Read This Book?
 | A Multilevel Reference
 | Special Features in the Book
 | Summary
Chapter 2. CRM Basics
 | CRM Is a Business Strategy
 | Effects of E-business and Evolving Capabilities
 | Microsoft's CRM Product
 | Interacting with CRM Systems
 | Summary
Chapter 3. The CRM Landscape: Why Now?
 | CRM System Evolution
 | Marketing Department Changes
 | CRM and Transaction Processing
 | Change Management and Market Strategy
 | The Technology of Microsoft CRM
 | Summary
Chapter 4. Microsoft CRM Functional and Conceptual Overview
 | Microsoft Business Solutions, Microsoft, and Microsoft Great Plains
 | Microsoft CRM Product Positioning
 | Microsoft CRM Versions and Licensing
 | Microsoft CRM User Interfaces
 | Named User Licensing
 | CRM Platform
 | Microsoft CRM Concepts
 | Opportunities and Cases
 | Core CRM Objects
 | Use Case Corner—Expediting Activity Record Creation
 | Summary
Chapter 5. Setting Up Microsoft CRM
 | Arriving at Consensus
 | Global Settings
 | Microsoft CRM Organization Structure and Security
 | Delete Versus Deactivate
 | Microsoft CRM, Exchange Server, and Active Directory
 | The Microsoft CRM Exchange Connector
 | Owners, Assignment, and Sharing
 | Subject Hierarchy in Microsoft CRM
 | Product Catalog
 | Template Manager
 | Use Case Corner
 | Summary
Chapter 6. Home Page, Workplace, and Navigation
 | The Microsoft CRM Home Page
 | Microsoft CRM Navigation Map
 | Setting the Miscellaneous User Options
 | Microsoft CRM Info Views and Searching
 | Workplace
 | Errors in Microsoft CRM
 | Use Case Corner—Navigation to Other Resources Through a Simple Quick Launch Customization
 | Summary
Chapter 7. Sales Force Automation (SFA)
 | B2B Versus B2C
 | Leads
 | Sales Territory Manager
 | Quotas
 | Opportunities
 | Products
 | Competitors
 | Activities and Sales Process
 | Marketing Functionality
 | Use Case Corner—Tracking Marketing Campaigns
 | Summary
Chapter 8. Microsoft CRM Sales for Outlook
 | Offline Concepts
 | The Microsoft CRM Sales for Outlook Interface
 | Mailboxes and Folders
 | Typical Microsoft CRM Configuration
 | Going Offline/Synchronizing
 | Synchronization Under the Hood
 | Configuration and Customization
 | Deployment Considerations
 | Use Case Corner—Mobile Portal: Extending the Reach of Microsoft CRM
 | Summary
Chapter 9. Customer Service
 | Customer Service Concepts
 | Understanding Customer Service Object Relationships
 | Contract Templates
 | Service Contracts
 | Cases
 | Queues
 | Use Case Corner—Gracefully Transitioning a New Customer to Your Service Department
 | Summary
Chapter 10. Microsoft CRM Reports
 | Report Navigation
 | Report Creation and Modification
 | Use Case Corner—c360 SearchPac for Microsoft CRM
 | Summary
Chapter 11. Configuring Microsoft CRM
 | Why Configure?
 | Configuration Tools
 | Deployment Manager
 | System Customization
 | Customizing Forms
 | Status and Status Reason
 | Use Case Corner—Adding Java Script to the OnChange Event of Picklist Fields
 | Summary
Chapter 12. Workflow
 | Workflow Manager
 | Workflow Actions
 | Workflow Conditions
 | Creating a Sales Process
 | Workflow Monitor
 | Workflow Security Settings
 | Use Case Corner—Automating Business Processes Through the Microsoft CRM Workflow Monitor
 | Summary
Chapter 13. Microsoft CRM Integration and Data Conversion
 | Integration Basics
 | Integration Components
 | Integration Points
 | Integration Deployment
 | Integration Architecture
 | Integration Settings
 | BizTalk Document Tracking
 | Initial Data Migration
 | Use Case Corner—Scribe Migrate for Microsoft CRM: Data Migration
 | Summary
Chapter 14. Customizing Microsoft CRM
 | Microsoft CRM Configuration Files
 | Links Customization
 | Web Resources Customization
 | Microsoft CRM SDK
 | Clone Customization
 | Activity Summary Customization
 | Summary
Chapter 15. Redesigning Your Business for Customer-Centricity
 | Make the Customer the Basis for CRM Design
 | Integrate CRM Across the Enterprise
 | Adopt the Strategic View
 | Manage Customer Information as an Asset
 | Fuse Traditional and e-Channels
 | Utilize CRM Across Business Models
 | Understand Your Business Process
 | From Business Ambiguity to Technical Precision
 | Enabling Customer-Centric Processes with Microsoft CRM
 | Architecting a Shorter Time-to-Market
 | Use Case Corner
 | Summary
Chapter 16. Managing Your Service Vendors
 | Establishing Your Requirements
 | Finding the Best Products and Services
 | Communicating Your Requirements
 | Integrate Your Vendors
 | Tying It All Together
 | Partnership Model
 | Use Case Corner
 | Summary
Chapter 17. Installing and Maintaining Vendor Software and Services
 | Set the Direction
 | Implementation Strategies for CRM Projects
 | Handling Changes and Continuous Improvement
 | The Validation and Verification Processes
 | Use Case Corner
 | Summary
Chapter 18. Understanding the CRM Marketplace
 | Market Dynamics
 | Microsoft's Reseller Partner Channel
 | Three Aspects of Corporate CRM
 | Data Warehousing
 | Other Services Related to CRM
 | Solutions for the Small and Mid-Sized Business
 | Use Case Corner
 | Summary
Chapter 19. Accessing the CRM Online Community
 | Online Communities
 | CRM Communities Benefits
 | Translating from Corporate CRM to Microsoft CRM for the SME
 | Categories of Sites
 | Sites by Category
 | Summary
Chapter 20. Selecting a Consultant for Help Implementing Microsoft CRM
 | Reasons to Hire a Consultant
 | What to Look for in a Business Technology Consultant
 | Due Diligence
 | Defining Specialists
 | What to Expect after You Sign
 | Summary
Chapter 21. Future Directions for Microsoft CRM
 | Background
 | Market Timing
 | The Next Step—Microsoft Business Framework (MBF)
 | Short- and Long-Term Direction
 | Summary
About the CD-ROM
 | What's on the CD-ROM
 | Windows Installation Instructions
 | License Agreement
Index


Copyright

Copyright © 2004 by Que Publishing

All rights reserved. No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher. No patent liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions. Nor is any liability assumed for damages resulting from the use of the information contained herein.

Library of Congress Catalog Card Number: 2003101772

Printed in the United States of America

First Printing: July 2003

06 05 04 03 4 3 2 1

Que Publishing offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales. For more information, please contact

U.S. Corporate and Government Sales

1-800-382-3419

corpsales@pearsontechgroup.com

For sales outside of the U.S., please contact

International Sales

1-317-581-3793

international@pearsontechgroup.com

Trademarks

All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Que Publishing cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark.

Warning and Disclaimer

Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied. The information provided is on an "as is" basis. The authors and the publisher shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book.

Credits

Associate Publisher

Paul Boger

Executive Editor

Greg Wiegand

Acquisitions Editor

Angelina Ward

Development Editor

Howard Jones

Managing Editor

Charlotte Clapp

Project Editor

Andy Beaster

Indexer

Mandie Frank

Proofreader

Leslie Joseph

Technical Editor

Jeremie Desautels

Team Coordinator

Sharry Gregory

Interior Designer

Gary Adair

Cover Designer

Aren Howell

Page Layout

Michelle Mitchell


About the Authors

Laura Brown is President and founder of System Innovations (www.systeminnovations.net), where she advises businesses of all sizes on the people, processes, and technology needed to deliver customer-centric business systems. With many years of experience envisioning, designing, and managing CRM systems for Fortune 500 clients such as Bank of America, Nationwide Insurance, and Delta Airlines, Laura has also assisted many small and mid-sized enterprises. Laura's forward-looking approach to high-tech consulting helps ensure that companies she works with won't fall behind on CRM and the related technologies, and thus, be limited in their ability to manage customers electronically.

Laura speaks regularly at conferences and educational forums. Her business and technology articles are featured online at informIT.com, EACommunity.com, destinationcrm.com, systeminnovations.net, and ganthead.com.

John Gravely is President and cofounder of c360 Solutions, Inc. (www.c360.com) an Atlanta, Georgia-based Customer Relationship Management software development and professional services firm specializing in Microsoft CRM. At c360, John is heavily involved in the development of custom vertical and horizontal CRM solutions built on the Microsoft CRM platform. Prior to c360, John was a Regional Consulting Director for the Professional Services team of Onyx Software, a mid-market CRM software vendor. John has overseen dozens of CRM implementations across multiple industries and has been a hands-on consultant leading successful CRM implementation projects for Dreyfus Mutual Funds, FSC Securities, AT&T Latin America, and Internet Security Systems among others. Prior to entering the CRM industry, John was a consultant, trainer, and project manager for Datastream Systems—a leader in enterprise asset management systems. John began his career as an engineer with Fluor Daniel Incorporated in Greenville, South Carolina, and has a Bachelor's degree in engineering from Clemson University and a Master's Degree in International Business (MIBS) from the University of South Carolina. Stemming from his involvement in the MIBS program, John has lived and worked throughout Mexico, Central and South America, and implemented one of the first enterprise CRM systems in the country of Chile. John is the cochair and founder of the Technology Association of Georgia's (TAG) CRM Special Interest Group, and is an active writer in the CRM community. John is also a founding member and partner in The Atlanta Solutions Group, LLC, a consolidated technology alliance.


Acknowledgments

First, I want to thank John Gravely for his many contributions as coauthor. Without his network of Microsoft partners and the many contacts he has made among users and installers of Microsoft CRM, this book would not have been possible. I also owe a debt of gratitude to Jeremie Desautels, who reviewed and tested the technical aspects of the book, making sure our examples were not only correct, but also understandable.

The original idea for this book came from Angelina Ward of Que Publishing, and thanks go to her for the vision it took to recognize the opportunity that Microsoft CRM represents for small- and mid-sized companies, and the need for a book like this to help them implement the product. I also want to thank my agent, Danielle Jatlow, of Waterside Literary Agency, for her ongoing support with the business side of publishing.

Finally, thanks go to the clients, past and present, who have shared with me their requirements, experiences, and stories about managing customer relationships with automated systems. Without you, as the saying goes, there is no story.

—Laura Brown
lbrown@systeminnovations.net
www.systeminnovations.net

Nearly three years ago Jeremie Desautels (c360 CTO and cofounder) and I began hearing rumors that Microsoft was on the verge of entering the CRM market. It didn't take much to figure out that Microsoft's entrance into CRM was going to have a tremendous impact. What has been surprising however, is the incredible speed and tenacity with which this saga continues to unfold. As of this writing (early May 2003) Microsoft claims to have over 400 CRM customers with additional ones signing on daily. It has become routine to hear about multi-hundred user deals and even the occasional 1,000-plus user deal. In addition, over 100 Microsoft CRM horizontal and vertical solutions are currently in development by Microsoft partners. The community of customers and partners is eagerly demanding more features and increased scalability and Microsoft and its partners are listening.

The tremendous pace of Microsoft CRM has made the development of this book both interesting and challenging. As with any major project, there are many more people to thank than those whose names appear in bold print. First and foremost, I want to thank my wife Kim for putting up with the many long nights and weekends of research and writing that went into this. She has redefined what it means to be supportive in this as well as all of my many ventures.

Neither the book nor c360 would exist without the tremendous contribution of Jeremie Desautels, our Technical Editor and c360's CTO and cofounder. Quite simply: You da man. Jeremie and I are both very grateful to Laura Brown, Danielle Jatlow (Waterside Productions), and Angelina Ward and the rest of her team at Que for giving us the opportunity to contribute to this book.

The book has benefited tremendously from the group of content contributors who either coauthored or reviewed areas of content. Special thanks go out to Bill Patterson (Solonis), Frank Torres (Origin One), Tony Clayton (Acetta), John Moody (Dynamic Methods), and Lynn Harrington and Lisa Marino (Scribe Software).

As you can probably imagine, a tremendous amount of help, favors, and information came from the extremely hard working folks at Microsoft and Microsoft Business Solutions. Our thanks go out to Jen Strunc, Kate Kuchera, Jan Shanahan, Mike Bishoff, Tom Pertzborn, Paul Ledbetter, Heather Combe (bowling queen), David Thacher, Alex Simons, Ken Kranseler, Todd Baana, Ben Syltie, Greg Gawryluk, Nick 'Noah' Johnson, Cory Johnson, Kristen Paulson, Steve Schumacher, John Messelt, Chad Rexin, Dana Martens, Caroline Hinton, and Ryan Trudeau. We appreciate all the assistance and support you have provided.

Finally, I want to thank Randy Astle for the information gleaned as he and Jeremie Desautels developed SearchPac, the world's first Microsoft CRM add-on. My thanks also go out to Lance James (Complete Financial Solutions) for the many helpful tips he provided as he wandered through his company's installation of Microsoft CRM.

As our work around Microsoft CRM continues to evolve, I encourage the readers of this book to contact me with any feedback you might have. I can be reached at John.Gravely@c360.com. In addition, we will be providing ongoing information about Microsoft CRM through our newsletter available at www.c360.com.

Sincerely,

John Gravely


We Want to Hear from You!

As the reader of this book, you are our most important critic and commentator. We value your opinion and want to know what we're doing right, what we could do better, what areas you'd like to see us publish in, and any other words of wisdom you're willing to pass our way.

You can email or write me directly to let me know what you did or didn't like about this book—as well as what we can do to make our books stronger.

Please note that I cannot help you with technical problems related to the topic of this book, and that due to the high volume of mail I receive, I might not be able to reply to every message.

When you write, please be sure to include this book's title and author as well as your name and phone or email address. I will carefully review your comments and share them with the author and editors who worked on the book.

Email: | feedback@quepublishing.com
Mail: | Greg Wiegand Associate Publisher Que Publishing 201 West 103rd Street Indianapolis, IN 46290 USA


Reader Services

For more information about this book or others from Que Publishing, visit our Web site at www.quepublishing.com. Type the ISBN (excluding hyphens) or the title of the book in the Search box to find the book you're looking for.


Chapter 1. Introduction

In this chapter

Who Should Read This Book?

A Multilevel Reference

Special Features in the Book

Summary

This book is a comprehensive user's guide to help you embrace the new capabilities provided by Microsoft's Customer Relationship Management (Microsoft CRM). Microsoft CRM enables small and mid-sized enterprises (SMEs) in any industry to build more profitable customer relationships through increased sales effectiveness and consistent customer service.

This book offers proven methods developed in the trenches based on the authors' real-world experience building CRM systems in both large corporate environments as well as small- to medium-sized businesses. From setting up your software or signing an agreement for hosted services; to using Microsoft CRM to manage customer service, support your sales force, and integrate with back office applications, Special Edition Using Microsoft CRM covers everything you need to know. This information will help you make the move to customer-centric operations using Microsoft CRM. It will provide an in-depth guide to managing the process using the software and making the implementation decisions that will be required.

After the decisions have been made and your Microsoft CRM software is ready to go, the people who must use the software every day will need guidance on deploying the new technology most effectively. Special Edition Using Microsoft CRM shows sales, service, and business development specialists how to manage your company with the sophisticated technology that, until now, has been reserved for large corporations.


Who Should Read This Book?

This book is for the business professional who is already managing customers on a daily basis. Microsoft CRM is designed for small and mid-sized companies with at least one dedicated IT staffer and a single line of business or several closely related ones.

In the typical CRM environment, the people using the software include the following. The benefits particular to each group are discussed in detail:

  • Marketing product managers, information managers, database analysts, and reporting specialists

  • Strategic planners, business-development managers, change managers, and market strategists

  • Financial managers and pricing and profitability analysts

  • Advertising and Public Relations specialists, sales and service personnel, promotion, and campaign managers

  • Customer portal specialists, market researchers, and Internet traffic analysts

  • Account executives and regional managers

Marketing Product Managers, Information Managers, Database Analysts, and Reporting Specialists

Microsoft CRM offers reports on customers, sales, service performance, and other aspects of the customer relationship that marketing experts may want to monitor. Product managers can use this information to manage products, tracking their performance and trends of product ordering and usage. They can also determine the products that are most successful with particular customer segments and tailor marketing efforts accordingly.

Information managers can use Microsoft CRM to get a bird's eye view of a company, producing reports for the needs of various departments, with confidence that the information is single-sourced and will match across departments within the organization.

Database analysts and reporting specialists can use Microsoft CRM to analyze patterns in a customer's behavior and recommend adjustments to products and services or report on their performance.

Strategic Planners, Business Development Managers, Change Managers, and Market Strategists

Having an improved view of their overall business will give strategic planners and other market strategists the information to make better decisions. It will help them define their best customers, providing a basis for targeting and developing the markets that contain the best prospects.

Knowing what types of customers are most attracted to your offerings enables you to expand your business wisely, in the areas most likely to succeed. Getting clear about your market and its trends enables you to invent new markets and expand your business.

Financial Managers and Pricing and Profitability Analysts

Financial managers use CRM systems to help forecast sales, identify price points, understand competitor offerings, and determine the profitability of current customers and products. With this information, they can plan price increases or adjustments based on facts rather than speculation.

Advertising and Public Relations Specialists, Sales and Service Personnel, Promotion and Campaign Managers

Microsoft CRM helps track the effectiveness of sales promotions and campaigns. Advertising and public relations specialists will gain valuable information on which to base future campaigns, and public relations activities.

Service personnel use CRM to track performance, identify needed improvements, and quantify the benefits of making those improvements, both internally and externally. Customer value initiatives use CRM to demonstrate to the customer the value of improvements, services, and products delivered.

Account Executives and Regional Managers

Regional sales personnel and executives use Microsoft CRM to plan, manage, and monitor regional sales activities.

Microsoft CRM offers a centralized, customizable view of sales and support activity and customer history. Account executives can access full sales functionality both online and off with Microsoft Outlook, or work online from any location with a Web browser.

Account executives will be especially interested in Microsoft CRM's complete customer view, which enables them to view and manage customer and account activity and history including contact and account information, pending orders, payment history, and more. They can also track customer profiles across the Web, email, fax, and phone. Customizable reporting will enable regional managers to customize a wide range of reports to identify trends, measure and forecast sales, evaluate performance, and more.


A Multilevel Reference

This book is appropriate for both beginners and advanced users. Because Microsoft CRM is a new product, many readers will be encountering it for the first time and having Special Edition Using Microsoft CRM handy will help ease the learning curve and speed up the process. Further down the road, as your expertise with Microsoft CRM grows and you become interested in the more advanced aspects of the product, you can use this book as a reference as new questions come up.

You can expect to learn the principles of CRM, and how to apply them to your business, as well as how Microsoft CRM specifically carries out those principles for you. You'll learn how to define your requirements and make sure your implementation meets them, and also how to identify and work with other vendors of products and services that complement the Microsoft CRM offering.

Apply CRM Principles in Your Business

Customer relationship management (CRM) is a business practice that is used extensively in large corporations today. It has evolved over the last ten years or so as the de facto standard of handling customer interactions, becoming a movement in the business world.

You can learn the principles of CRM as practiced by large corporations and apply them to any business to enhance your acquisition, handling, and retention of your most profitable customers.

This book will help you learn how to utilize Microsoft CRM to do the following:

  • Sell more effectively

  • Make informed decisions faster

  • Provide efficient and consistent service

  • Help your customers serve themselves

Selling More Effectively

When you own and manage a small- or medium-sized business, you learn very quickly that for your business to grow, you have to get organized. When you can't get your arms around all your current business, it's hard to get ahead of the curve and seek out new business, much less plan and execute long-term marketing strategies.

In many ways, the first step to getting on top of your business and building an organization that can grow and sustain itself is to get the sales process organized. You need to identify and qualify new business opportunities easily, manage leads and contacts, store them, and convert information you've already collected on leads to customer information after the customer has been acquired.

As you begin to get on top of current business activities, you need to manage sales contacts, track the performance of staff and of marketing efforts. You need to be able to identify what's working and do more of that, while improving the activities that aren't working as well as you'd like.

Microsoft CRM is designed to help you do all this. It helps you identify and manage leads and opportunities, forecast expected sales activity, and ensure a shorter sales cycle. These activities can in turn lead to higher close rates on sales opportunities, while increased customer satisfaction improves customer retention.

Making Informed Decisions Faster

Getting your arms around your business means clarifying your view of your business so that you can make better decisions through better information. It also means knowing your customer, their needs and wants, and finding ways to meet those needs quickly and profitably.

It means identifying your best customers and offering them a higher level of service and better terms based on their profitability. You should also be able to identify the lower 10 or 15% of your customer base, which should be abandoned regularly to make room for new growth.

With Microsoft CRM you can forecast sales, measure business activity and performance, track service success, and identify trends and problems. Setting up these capabilities quickly and correctly will boost your business and help you take it to the next level.

Providing Efficient and Consistent Service

Improved efficiency is another way of making your business more profitable. Providing a consistent level of service, 24 hours a day, 7 days a week, will help you acquire the most profitable customers and retain the ones you have.

Microsoft CRM offers a shared knowledge base so that your customers can get information about your products and services quickly and easily through your Web site. It also enables you to solve a problem for one customer, document the solution, and provide it to all customers so that they can help themselves.

Microsoft CRM provides automated routing and queuing of customer questions and issues, which makes it easy to respond quickly and efficiently while allowing customers to track the progress of any problems themselves through your customer portal.

Implement Microsoft CRM for Your Company

Microsoft CRM is provided in different versions for different types and sizes of customers. It can be purchased as a standalone solution, where you buy just the CRM product, through a Great Plains reseller. It can also be purchased as a part of a larger business solution provided through the Great Plains reseller channel, where it comes already integrated with your accounting or other systems that you use to run your business. You can choose to run Microsoft CRM yourself on your own computers, or you can purchase an option that is hosted by an application services provider (ASP), in which charges are per user-per month, and all you do is log on to a Web site to access your services.

Any of those options must be set up and configured for your particular business, and it will take a certain amount of planning and activities to get the software up and running. In this book you will learn the best ways to plan, manage, and carry out these implementation activities so that your installation is seamless, and causes the least disruption to your business, so when you're set up, your information is configured properly and everything works as planned.

Customize Your Installation of Microsoft CRM

How you install the software depends on which components your business needs the most. Some businesses are information intensive, and will make heavy use of the knowledgebase and online portal features, whereas others are more sales intensive and will need all the features of the sales force automation components.

You'll learn how to identify your requirements and plan your installation accordingly so that you've got the best set up for your particular business needs. You'll also learn to carry those requirements into the future and plan for process improvements, and the implementation of new releases with new features of CRM.

Grow Your CRM System as Your Business Grows

You might want to start with the standard edition, which provides basic features of Microsoft CRM for the first few months of your implementation. Then, if your needs justify the investment, as your business grows and your confidence with the software develops, you might want to expand how you use Microsoft CRM and purchase the professional edition, which includes the more advanced features.

Special Edition Using Microsoft CRM will help you quickly and easily implement the basic features of the software and, when you are ready, it will help you understand the advanced features as well.

Understand the CRM Marketplace

Microsoft CRM is a product being introduced into an already robust CRM marketplace. Significant resources are available in terms of vendor services and products that, depending on the size and requirements of your business, you might want to take advantage of.

This book will help you understand what's available and how to navigate your way through the marketplace. It will introduce the main competitors and alternative products and explain related aspects of CRM and how the SME can find products delivering these aspects. We will cover Microsoft's reseller partner channel, and what you need to know to find the right reseller for your business needs.

We'll also cover the three aspects that make up corporate CRM: data warehousing, reporting and analytic applications, and how you can begin to think about utilizing their basic principles in your business.

Manage Your Relationship with Service Vendors

The book discusses how to define the services you will need from vendors, how to communicate your requirements to them, and how to make sure that what your vendor delivers is consistent with those requirements.

You will learn how to establish your requirements, what your role is compared to vendors and other participants, and how to establish project ownership. We'll talk about adopting an iterative approach to requirements and how to prioritize your business needs.

We'll cover how to find and organize the resources that can help you build your CRM capabilities, introducing what's needed and where to find likely sources to draw from. We'll also examine what to look for in a vendor, where and how to collect information about vendors, and how to set up agreements and handle an ongoing relationship with a vendor based on the partnership model.

Integrate Microsoft CRM with Your Other Applications and Data

Microsoft CRM Sales and Customer Service modules work closely with Microsoft Outlook and other business applications. You'll learn how to boost your productivity by working with these modules interactively, and sharing information from one area of Microsoft CRM to another.

Microsoft CRM is also designed to exchange information easily with MS Excel and other data-handling applications. We'll cover the basics of managing your data throughout its lifecycle, understanding the Microsoft CRM customer-data model, and using import/export facilities to share data seamlessly.

Redesign Your Business to be More Customer-Centric

Making your business customer-focused is the best way to sustain business advantage in today's tough marketplace. Special Edition Using Microsoft CRM introduces the concepts of redesign for business process automation, explaining what a business process is, how to explore the many viewpoints of any business, and how to identify and adopt the viewpoint of your customer.

When you align all points of view with the customer view, you will need to reengineer your business process accordingly. You'll sort out any areas in your business currently not aligned with the customer view and work through the steps to get them aligned. At the completion of that alignment, technology can be applied to support the newly customer-centric processes.

We'll also cover how to define and clearly communicate the value you provide to customers. Microsoft CRM will help you capture the information required to demonstrate that value on an ongoing basis.

Access the CRM Community

Although there are currently few online community dedicated solely to Microsoft CRM, a robust and active user community for the general practice of CRM already exists online. You'll learn how to tap into that community to get ideas and help with your CRM questions.

We'll cover the rules of the road for participating in online communities, with tips and pointers for making friends online. We'll also take a look at what you can expect to gain from online communities, and how to translate the corporate CRM discussions to apply to your small- or mid-sized business.

We'll introduce some pre-selected sites with reviews and comments on their strengths and weaknesses to give you a convenient guide as you get started.

Find Consulting Help for Implementing Microsoft CRM

You'll learn the reasons to hire a consultant; from getting objective advice from an industry expert to the proven methods that can shorten your implementation time.

We'll cover what to look for in a consultant so that you get the help you're looking for when you need it. We'll also include tips for checking credentials, getting referrals, and evaluating the information you find.


Special Features in the Book

The Special Edition Using series has long provided the most comprehensive resource books for users and developers of computer hardware and software. This book, like its predecessors, includes many features to make learning how to use Microsoft CRM faster, more efficient, and easier.

Tips

Tips give you quick recommendations for ways to use the software more easily, drawing on the experiences of the author in performing similar tasks.

TIP

A Web service is defined as an application that adheres to new connectivity standards (SOAP, WSDL, and UDDI), which are based on more mature Internet standards (HTTP and XML). This standards-based connectivity enables a Web service implementation to dynamically discover and interact with other Web services automatically.

Notes

Notes present extended Tip information and other helpful hints that go beyond simple tips.

Handling Virtual Connections

When setting up a vendor relationship, you'll often find that most or many of your ongoing contacts will occur remotely. Here are some tips for handling the virtual relationship:

  • Focus on managing by result— Get clear about your objectives and make them clear to your vendor, allowing mid-course corrections and adjustments as your project proceeds.

  • Increase your use of electronic communication devices— Remote relationships can be just as responsive as the face-to-face kind, when participants will keep mobile phones handy and bridge the distance through increased availability.

  • Review progress against objectives in teleconferences— Allow enough time to cover details in your phone conferences, being sure to communicate and deliver any documents for review well in advance so that participants have time to get them even with the occasional hiccup from email systems.

  • Give more feedback— when you don't have the usual visual and body language cues to how people feel and what they're thinking, it's important to fill in the knowledge gap by providing and asking for increased feedback.

  • Create trusting relationships— focus on trust in the relationship, being careful to follow through on commitments and requesting the same kind of care from virtual participants.

Cautions

Cautions tell you about potentially negative consequences of an operation or action, especially if they could result in serious, or even disastrous, results such as loss or corruption of data.

CAUTION

Beware using Microsoft CRM as a bulk email tool. Although it certainly can be used this way, it is probably more intended and practical for use in sending groups of emails to customers and warm prospects. Because the Microsoft CRM email functionality actually sends the emails from your company's Exchange server, you will run the risk of having your Exchange server blacklisted if you are perceived as sending large amounts of unsolicited email (spam).

Troubleshooting

Even under the best of circumstances, sometimes you will encounter problems that defy logic and don't appear in the user manual. For these situations, troubleshooting information gives you advice on how to get out of the problem and recommends some ways to avoid trouble in the first place.

Cross-References

When information in one section of the book refers to operations found elsewhere in the book, cross-references will point you to the related information.

Use Case Corner

A Use Case is a business example that serves to illustrate the functionality of software. It shows a typical case of the software's use. Most of the chapters in this book end with a special section, called Use Case Corner, which provides examples, case studies and user profiles describing how companies are using Microsoft CRM to manage their customer relationships.


Summary

We've reviewed the structure and subject areas that this book covers, as well as what you can expect to get out of it. We've also discussed the benefits this book provides to its intended audience. Now, let's turn to CRM itself and learn the basics of CRM as a business practice, and how you can apply it to your business.


Chapter 2. CRM Basics

In this chapter

CRM is a Business Strategy

Effects of E-business and Evolving Capabilities

Microsoft's CRM Product

Interacting with CRM Systems

Summary

Customer Relationship Management (CRM) is all about finding, acquiring, and retaining the best, most profitable customers. CRM systems offer the automated means of managing your customer, both on the Web and through traditional channels. In the corporate setting, CRM is now a mature, mainstream discipline comprising Customer Service and Support (CSS), Sales Force Automation (SFA), and Marketing Automation (MA), each of which offers its own subset of specializations, value propositions, and challenges.

CRM as a strategy places the customer at the center of a business. When properly implemented, the goal is to give progressively deep information about customers—information that supports the business areas of marketing, product planning, sales, finance, and service. The goal of this customer-centricity is to promote customer loyalty, increasing the lifetime value of each relationship.

CRM has matured in the corporate setting, achieving recognition as a "must-have" technology for large enterprises. Now, for the first time, Microsoft CRM makes it possible for small and mid-sized companies to automate their own practice of CRM. As you read further you will get a clearer picture of what that practice involves and how it can be applied to any business.


CRM Is a Business Strategy

CRM is a business strategy focused on maximizing shareholder value through winning, growing, and keeping the right customers. It employs practices, methodologies, software, and Internet capabilities that help an enterprise manage customer relationships in an organized way.

For example, when a business traveler approaches the service counter at the airport, most major airlines are able to access information that tells them who that customer is. They know whether he travels coach or first class, and how frequently he travels. They can also examine the profitability of the relationship with a particular customer to determine if that customer's travel habits make him a very desirable customer to retain. This knowledge determines, at least in part, what priority that traveler will receive and the level of additional services he can expect.

Major financial institutions regularly develop similar information on banking clients so that when you speak to a customer service representative (CSR) your account information and your ranking as a customer are at their fingertips. This information helps your CSR know what products you currently use and what new products in which you might be interested. If you have a checking account, but no savings account, CRM information would inform the CSR of that, and would suggest that they offer to open a new savings account for you.

As a business strategy, CRM helps a company stay focused on delivering the best services and products to the appropriate target customer. It enables any representative of a company, whether sales representative or service person, to remember who they are talking to, no matter what the transaction might be.

CRM introduces the following innovations:

  • Focuses on customers rather than products— Traditional marketing approaches focused on defining products for mass consumption and rolling out marketing campaigns to sell them. In the late eighties and early nineties it became both technically feasible and commonly recognized that shifting from product to customer-focused marketing allowed for a more tailored, focused approach. Subsequent developments have seen the rise of marketing to the customer segment of one. One-to-one marketing, championed by Peppers & Rogers, authors of Enterprise One to One: Tools for Competing in the Interactive Age. Enterprise One to One (Currency/Doubleday, 1997), extends the customer-focused paradigm to deal with the market of one. The latest CRM systems make it easy to track and build relationships with one customer at a time.

  • Entails changing your processes, systems and culture— The shift to customer-centricity has implications for the entire organization, requiring changes in your business culture, processes, and supporting systems. When organizations are configured on a product-focused basis, they tend to align the organization along product lines, usually deployed geographically, and the supporting processes and systems revolve around those product lines. Shifting to a customer-centered approach requires realigning everything around the customer and retooling processes and systems accordingly.

  • Encompasses the "front-office" functions of sales, marketing, and customer service as well as back-office operations and new product development— CRM concentrates on "front-office" functions such as sales, marketing, and customer service. Microsoft CRM begins by delivering support for sales and customer service primarily. But it is important to note that these front-office components are supported by back-office operations and new product development, and fully developed CRM systems will embrace these functions as well, tying in information from the related systems as needed. Although initial implementation goals might focus on the front office, ongoing planning should address how these other areas will cooperate with your CRM initiative.

  • Encompasses all channels and media from the Internet to field sales— CRM originated in the field sales arena, but was soon enhanced to embrace all product delivery channels and media, particularly the Internet with its information-intensive customer interface. Ideally, customer information is captured and analyzed at every step of the business process in each of the related channels.

  • Involves sales partners both up and down the supply chain— A truly comprehensive picture of your customer might include information collected by sales partners and possibly from partnering organizations, whether discrete suppliers or collaborative service deliverers.

CRM Is Comprehensive

CRM affects all aspects of customer interaction, whether marketing, sales, or service related. At every step of your business process, from initial customer contact, to placing an order, service delivery, and managing the ongoing relationship, there are opportunities for managing the customer relationship more effectively.

CRM promotes focusing on retention of profitable customers through the utilization of a Customer-Centric business model. As all business processes come to revolve around customer requirements, your business can become more streamlined to the specific needs of customers.

CRM Helps You Put the Customer First

Customer-centricity, or organizing the entire enterprise around putting the customer first, will drive redesign of company processes and workflow and is enabled through the use of the appropriate CRM technology solution to meet the new objectives of the organization.

CRM consists of certain key factors including the following:

  • Enabling the identification and targeting of a company's most profitable customers, supporting the management of marketing campaigns with clear goals and objectives, and generation of quality leads for the sales team.

  • Improving telesales, account, and sales management by optimizing information shared by multiple employees, and streamlining existing processes (for example, establishing workflow rules for the routing of sales and service information).

  • Individualizing relationships with customers with the aim of improving customer satisfaction and maximizing profits, through one-to-one marketing and mass customization. CRM creates a two-way dialogue between you and each individual customer.

  • Providing employees with the information and processes necessary to know their customers, understand their needs, and effectively build relationships between the company, its customer base, and distribution partners.

CRM Measures Business Performance

CRM helps a company understand and expand its relationship with a customer by measuring not only market share, but also "share of wallet." For instance, a checking account customer might utilize many other financial services offered by a banking institution, such as savings account, time deposit, money market, and so forth. CRM enables the financial institution to determine which of the offered services the customer currently has, what she might buy, which ones should be offered, and in what order.


Effects of E-business and Evolving Capabilities

It's clear that the Internet has brought about a new level of productivity and competitiveness for individuals and businesses worldwide. But this online revolution has also created significant challenges for organizations. As customers rush to use Web services providing instant and personalized attention, businesses are struggling with managing increased competition, eroding customer bases, and growing financial pressures through outdated business models that are supported by a multitude of unintegrated technologies in their environments.

Enterprise Applications

Global 2000 organizations are defining and implementing a new breed of e-commerce functions that cut across traditional application boundaries. These enterprise applications require corporate-wide strategies for integrating transactions, information, and business processes. The ability to successfully manage the integration of these business processes is a key indicator for success in implementing customer relationship management (CRM) initiatives.

Business Process Integration (BPI)

One challenge large organizations face is reconciling the separate, yet overlapping, initiatives of CRM, extended supply-chain management and sell-side e-commerce, and identifying the shared software components and infrastructure technology required to enable them.

Businesses must define a strategy and technology road map for synchronizing multiple sales and service channels across the enterprise at the business process level (for example, call centers, sales force automation solutions, Web-based self-service, business-to-business (B2B) and business-to-consumer (B2C) e-commerce platforms, public/private marketplaces). Because CRM spans all customer touch-points, and therefore, has implications for each of these business initiatives, it is a prime driver for BPI.

Internal and External Integration

Internal and external application integration functions are becoming key components within the e-business application software platform. Although integration between components within these platforms is currently limited, enterprise application integration (EAI) and interenterprise integration (IEI) capabilities will soon be bundled with other software platform components (for example, application servers, portal frameworks, personalization services).

Industry experts predict that by 2004/05, vendor-provided software stacks will deliver the common core infrastructure services required to deploy, integrate, and manage distributed applications. This will enable application development organizations to focus on increasing corporate value by creating business services and processes that link those services within their organizations as well as across extended commerce chains.

Corporate CRM systems will require the convergence of internally focused EAI solutions and B2B-focused IEI solutions.

Business Performance Monitoring

As technology advances have made it feasible, companies have begun to drive the information that usually resides in management-reporting databases and data warehouses back to the point of origin. Traditionally, companies collect information about all their transactions, performance of processes and products, marketing customer information, and sales and service occurrences and store it in databases designated for the reporting of trends, issues, and opportunities to management.

Business alerts enable companies to identify key business events, or thresholds, which when they occur, trip an alert that notifies management that something important has taken place. For instance in a professional services firm, when a certain percentage of account billings extend beyond thirty days past due, a special report can be delivered to an account manager to start focusing collections efforts on those accounts, significantly increasing revenues collected.

Sometimes called Key Performance Indicators (KPIs), these business alerts notify the appropriate business people when certain thresholds are crossed or certain actions are recognized. KPIs provide a new level of business performance monitoring, keyed to your specific measures and metrics.


Microsoft's CRM Product

Microsoft has entered the CRM market with a product that is tailored and devised to bring the SME into the CRM movement. Although CRM is a broad topic, Microsoft CRM focuses on particular capabilities for the first release or iteration of functionality that will be delivered.

Delivered in Editions

Microsoft CRM is provided in different editions for different types and sizes of customers. Microsoft is offering several versions of Microsoft CRM, ranging from a bare-bones model to premium versions that incorporate additional features.

Microsoft CRM can be purchased as a standalone solution, where you buy just the CRM functionality from your Great Plains reseller, or, it can be purchased as a part of a larger business solution where it comes already integrated with your accounting or other systems that you use to run your business. You can choose to run Microsoft CRM yourself on your own computers, or you can purchase an option that is hosted by an application services provider (ASP), in which charges are per user-per month, and all you do is logon to a Web site to access your services.

Software is typically delivered through a released strategy, and Microsoft CRM is being delivered in this way.

Releases are a method of delivering software that organizes the process of making changes and improvements by scheduling sets of features into specified time frames. The first release of Microsoft CRM will deliver sales and service features, and "lite" marketing functionality. Future releases will deliver marketing automation services. As these features are tested and reviewed by beta testers and actual customers, feedback and enhancement requests will set the direction for product changes and improvements in future releases. In this way the software product continues to evolve and improve over time.

Current editions available include the following.

Core CRM

Core CRM functionality is included in all editions and makes up the central features of the product. It includes the following items:

  • Account and contact management

  • Activity and task management

  • Security management

  • Calendar

  • Search

  • Business and user management

  • Notes and attachments

  • Reporting

  • Customization tools and utilities

  • Direct email via Microsoft CRM Exchange Connector

Sales

Sales functionality can be purchased in either standard or professional editions, and includes the core functions listed previously. Smaller companies might want to start with the standard edition, and later grow into the more advanced features as they become necessary. For more robust implementation, larger companies, or those with intensive needs for certain features, would probably want to go ahead and purchase the advanced features provided by the professional edition.

STANDARD EDITION (INCLUDES CORE)

  • Opportunity management

  • Lead management

  • Lead routing

  • Correspondence/mail merge

  • Outlook Client

  • Territory management

PROFESSIONAL EDITION (INCLUDES STANDARD)

  • Quotas

  • Quotes, orders, and invoices

  • Product catalog

  • Competitor tracking

  • Sales process methodology

  • MSGP back office integration

  • Direct email (Bulk)

  • Workflow

  • Sales literature

Customer Service

As with sales, customer service functionality can also be purchased in either standard or professional editions, and includes the core functions listed previously. Again, smaller companies might want to start with the standard edition, and "grow into" the more advanced features as they become necessary. Or, they might never need the additional features.

Depending on the size and type of your business, you may or may not require the advanced features provided by the professional edition. For example, if your business does not have products (a restaurant, for example, provides services but doesn't maintain a catalog of products), you might not need the product catalog offered in the professional edition. But, if your business is contract intensive, and/or you offer a wide variety of products, you need to manage via a catalog, and you'll probably want the more robust edition that offers these features.

STANDARD EDITION (INCLUDES CORE)

  • Case management

  • Knowledgebase/knowledgebase management

  • Service request

  • Activity and case queuing

PROFESSIONAL EDITION (INCLUDES STANDARD)

  • Contract management

  • Email management (includes auto responses)

  • Routing

  • Product catalog

  • Workflow (enables notification and escalation)

Introducing the Components of Microsoft CRM

Designed specifically for small- and medium-sized businesses, Microsoft CRM will handle the full range of sales and customer service functions and will enable you to access key customer and sales information from Microsoft Outlook and the Web, so you can get up-to-date information from wherever you are, whenever you need it. Figure 2.1 provides an overview of Microsoft CRM software, highlighting some of the features that it provides.

Figure 2.1. This overview screen print shows how Microsoft CRM is presented, and gives some highlights of features that are provided.

Sales

Accessible from Microsoft Outlook and the Web, Microsoft CRM Sales helps small- and medium-sized businesses identify and manage leads and opportunities through the sales cycle, forecast sales activity, and efficiently track customer communications—ensuring a shorter cycle, higher close rates, and improved customer retention.

Microsoft CRM is built from the ground up on Microsoft .NET architecture, delivering tremendous business value through easy integration with third-party applications and Web services. Figure 2.2 shows some of the features the sales component provides.

Figure 2.2. The sales overview shows how the sales module helps you maintain a complete customer view, track the data you need to close sales, and keep information about leads, opportunities, and accounts.

In the Sales component, the features provided include the following:

Complete Customer View

  • View and manage customer and account activity and history including: contact and account information, pending orders, payment history, and more. Track customer profiles across the Web, email, fax, and phone.

Reports

  • A license of the Crystal report viewer is included with each license of Microsoft CRM, which enables all users to view the reports. However, you must buy the Crystal Report Suite separately to be able to customize existing reports and/or create new ones. Microsoft CRM provides a wide range of reports to identify trends, measure and forecast sales, evaluate performance, and more. You can also export data to Microsoft Excel.

Activity Management

  • Microsoft CRM Sales enables you to view and update your calendar and manage your workload. It also provides access to internal news, records, sales and customer service reports, and so forth.

Opportunity Management

  • You'll be able to convert leads into opportunities and use workflow rules to track and manage them through the sales cycle. Leads are records that represent an individual and/or company with the potential of becoming a customer. Leads might include trade show prospect lists, purchased lists, and casual contacts that might have revenue potential. Lead records provide a staging area to work with data that you might later wish to keep in the database (for example, convert) or remove or deactivate. After a lead has been entered/imported into the system and some type of qualification process has been followed, it can be converted into an opportunity. The more opportunities that can be tracked throughout the sales cycle, the better you'll be able to understand your sales performance and identify areas for improvement.

Workflow Rules

  • You will be able to code workflow rules to help automate your business processes. Some examples of the kinds of workflow rules that can be developed include the following:

    • Lead routing— Enables you to enter or receive sales leads and route them to the appropriate party for follow up and rapid response.

    • Notifications and escalations— Provides the ability to notify identified recipients of activities and events, and to develop and encode escalation procedures so that notifications move up the hierarchy as desired.

    • Opportunity tracking and pipeline management— Keeps track of new opportunities, noting where they are in the pipeline, and moving them along through the acquisitions process.

Order Management

  • Manage and automatically update orders with a product catalog, quotes, and invoices. Microsoft CRM enables you to enter product information, such as product name, description, price, and other relevant data. Then you can automatically generate price quotes and notify customers for ordering. The software also enables you to generate and deliver product and service invoices as required.

Microsoft Outlook Synchronization

  • You can access full sales functionality online and offline from Microsoft Outlook, including contacts, Web access accounts, products, sales literature, and more. You'll also be able to work online from any location using a Web browser.

Information Sharing

  • Storing your information in a centralized database will enable your employees to share information across teams and departments. The fact that it's integrated across the Sales and Customer Service modules means that your information will remain consistent and current between these applications. Information about customer queries, service cases, and orders can be shared between applications as well as between employees.

Quotas

  • Quotas enable you to measure sales performance against individual employee goals. Microsoft CRM enables you to set individual goals for performance quotas and report on progress against goals for both individuals and groups.

Sales Library

  • The sales library feature enables you to create and update a searchable library of sales and marketing materials. Sales collateral, marketing brochures, and feature lists can be easily created and provided to customers and sales teams through the automated sales library function.

Direct Email

  • Microsoft CRM provides a bulk email function, which enables you to take an HTML template and merge into it information from customer records. This direct email function enables you to mine your customer data by customer segment and address the needs of each customer segment as a group.

Integration with Microsoft Great Plains Business Solutions

  • You'll be able to integrate your Microsoft CRM data with Dynamics 7.0, Solomon IV 5.0, and eEnterprise key data, such as accounts, contacts, product catalogs, and orders. This means that you'll be able to easily share key information between all your Great Plains business software solutions. But please note that integration is included only with the Sales-Professional and the Professional Suite editions.

Customer Service

With Microsoft CRM you'll be in a position to offer superior customer service and increase your capacity for handling volume without adding headcount. The Customer Service portion of Microsoft CRM enables your service representatives to track customer requests, manage support issues from initial contact through successful resolution, and provide customers with consistent, efficient service.

For example, if a potential customer requests more information about your products, Microsoft CRM will allow you to enter the request in the system. You can then track when it has be fulfilled, and by whom, so that you can more easily ensure that all customer requests are fulfilled quickly and completely.

Customer service representatives will find MSCRM Customer Service, as shown in Figure 2.3, easy to learn and use. Among other features, it offers an intuitive, familiar user interface, automated processes for handling service requests, and a searchable, shared database of support information.

Figure 2.3. The service module provides case support and tracking of support incidents.

The features provided by the Customer Service module include the following:

Case Management

  • Create and assign cases for customer service requests, and manage cases from start to resolution. Manage actions and communications for each case from a central location.

Activity Management

  • Microsoft CRM enables you to view and update task, appointment, phone call, fax, and letter records. Activity management helps you to keep track of activities and organize all activities for optimal performance.

Routing and Queuing

  • Use workflow rules to automatically route service requests and cases to appropriate representatives or queues for resolution or reassignment. Instead of manually selecting and distributing service requests and cases, you'll be able to deliver these items to designated individuals with a minimum of human intervention.

Searchable Knowledgebase

  • Create a knowledgebase of articles and FAQs and automate approval and publishing processes. Search for information by browsing subject trees or entering keywords.

  • The searchable knowledgebase helps you manage the content you provide to customers on your Web site, and easily keeps FAQs and other information up-to-date.

Information Sharing

  • Centralized data storage and integrated Sales and Customer Service modules enable employees to access, update, and share information across teams and departments.

Contracts

  • With this feature you can create, update, and manage contracts as well as service license agreements. You can automatically handle the time-consuming tasks associated with contract administration, keeping it all online and generating documents as needed.

Email Auto-Response

  • Email auto-response uses customizable templates and workflow rules to send automated responses to customer requests. Auto-responding frees up your staff to focus on the top priority cases and queues up items that must be addressed individually according to your predetermined routing rules.

Integration

Microsoft CRM boasts tight integration with Outlook. For example, a salesperson will be able to create contacts and messages with Outlook offline, while his manager assigns new contacts and schedules meetings in Microsoft CRM. Data will be synchronized bidirectionally between Microsoft CRM and Outlook when the salesperson next connects to the server. In addition, email messages can be filtered by Exchange and guided into the Microsoft CRM system. However, incoming emails will be routed to the CRM system by the Microsoft CRM Exchange connector if and only if it's a reply to an email sent by a user from the CRM application.

The types of integration that Microsoft CRM will offer include the following:

Microsoft Office

  • You'll be able to synchronize your use of Microsoft CRM with Microsoft Outlook both online and off. This seamless integration means you can use familiar features from other Microsoft Office products, such as email templates, and Mail Merge.

Existing Business Management Systems

  • Microsoft CRM is developed using the .NET framework, which makes it possible to integrate the Microsoft CRM application with your existing business and financial management systems. You'll be able to customize your implementation utilizing the .NET framework to share information between your existing business-management systems and the Microsoft CRM product.

Microsoft CRM can also automatically import data from Great Plains accounting applications (for example, an account's credit limit or amount purchased last year), and Microsoft is working with ISVs to build connectors for other accounting packages.


Interacting with CRM Systems

How you interact with your CRM systems depends on the goals that you've identified, and how you want to use them. They can enable you to personalize your relationship with your customer, while enabling the customer to personalize their experience of your business Web site. CRM systems can help you know your customers better and identify your most profitable customers. You can provide customer self-service though your CRM portal, gathering the information to perform analytics against customer data. CRM systems can also provide support for knowledge management, helping you organize literature, white papers, and advice you provide online to your customers.

Goals of CRM Systems

What kinds of things can you do with CRM systems? The following is a list of the types of functions that are typical goals of CRM systems:

  • Personalization

  • Knowing customers

  • Identifying most profitable customers

  • Creating unbreakable customer loyalty

  • Customer self-service

  • Integrated analytics

  • Content management

Personalization

CRM systems are used to create a personalized relationship with the customer, including providing the ability for the customer to personalize their version of your Web site to suit their preferences. For example, when your customer logs on to your Web site, they can decide which elements of your content they would like to have presented and in what layout. A customer might decide to have daily news items prominently displayed at the top of the screen and tips and reminders show up in a small box at the bottom.

Knowing Customers

A key goal of CRM systems is getting a better and more in-depth knowledge of your customers. They enable you to collect customer information and match it against other sources of intelligence. They also enable you to collect information such as customer birthdays, spouse's name, household characteristics, and so on.

CRM enables you to know the following:

  • Who your top customers are

  • What percentage of your revenue they generate

  • How to contact them

  • How often first-time customers return

  • Whether your customers are recognized by your staff when they return

Identifying Your Most Profitable Customers

Identifying your best customers is an important goal of CRM, which enables you to provide top service to top customers as you define them. Conversely, you can also identify the accounts that are least profitable and should be evaluated for changes in terms or other adjustments.

Similarly, the most loyal customers help you withstand increasing competition and weather economic downturns. With CRM systems you can create financial loyalty through financial incentive programs; and emotional loyalty, developed through reward systems, return recognition, and being treated like a "regular."

Customer Self-Service

CRM systems, which provide customer access on the Internet through your customer portal, help your customers help themselves through 24-hour portals that make your business more available than ever. While visiting your portal, customers can help themselves by searching for and retrieving knowledgebase articles: papers addressing problems and issues other customers have encountered that your staff has identified and documented answers for.

Integrated Analytics

Integrated analytics means having the ability to analyze customer information, track and forecast sales and service, and monitor performance information. The high levels of integration between product components enhance these powerful tools, so information reported in one component automatically matches information taken from another.

Content Management

Content management helps you keep articles, news, and other textual information offered through your Web portal up-to-date and in synch. It simplifies and automates the process of managing ongoing content changes.

How to Set Up a CRM System

The process for establishing a CRM system has been developed over the course of several CRM projects. The model seen in Figure 2.4 provides a step-by-step guide to the overall process of setting up CRM products.

Figure 2.4. The process model for Establishing CRM Systems shows the steps of the overall process that are followed to set up CRM products.

The steps of the process are listed below, and detailed instructions for performing each step follow:

  1. Define your goals and priorities

  2. Define your requirements

  3. Identify top priorities/define phases

  4. Define release plan (manageable subset of steps)

  5. Implement release 1

  6. Update requirements

  7. Roll out future releases
Define Your Goals and Priorities

Defining your goals and priorities for your CRM system will provide a road map for the project to follow. Your goals might include one or all of the benefits listed previously in the "Goals of CRM Systems" section, or other goals specific to your situation. Getting clear about which goals you are pursuing and the order of their importance is very important to building a project that your organization can support. Identify the key problem(s) you want to solve, and the areas of your business process you plan to improve.

The business case for the project is explored at this stage, including the expected benefits, target user base, related rollout strategy, and expected costs of implementation. This is also a good time to begin deciding how you'll actually use the software. Will you employ all the features provided from the beginning, or will you start with one or two new practices and gradually roll out your new process?

Define Your Requirements

To help get a clear picture of the vision for your CRM system, you can develop a basic list of project requirements and determine the initial project approach plan.

Define your vision—why you wanted to practice CRM in the first place—and return to it often. Think through your motives: Are they strictly sales or service, or do you have marketing agendas as well? These decisions and choices determine the usage of your system, and help you decide how to set it up for your team.

Identify Top Priorities/Define Phases

As you begin to spell out and understand your goals for this project, now is the time to set priorities for achieving them. Priorities will become clear when asking yourself questions such as the following:

  1. Where can you make the most impact with the least amount of process change?

  2. What processes can be changed without requiring new technology?

  3. What processes will require the use of new technology and what needs do you have?

Prioritization alone will practically guarantee the fulfillment of the first 50% of your goals because you're focusing your energies and organizing your time around what you really want. Try brainstorming a list of all the goals you want to accomplish, and then start putting numbers beside them: 1 is top priority, 2 is near-term, 3 is long-term. Using just those three numbers, decide where each goal belongs, and assign its priority. If you get all 1s, you're not thinking big enough, or else not allowing yourself to assign true value. If you get all 3s, you might need to be more willing to experiment, remembering that you are making decisions for today, not forever. Play around with the numbers until you have a balance of 1s, 2s, and 3s.

Define Release Plan (Manageable Subset of Steps)

It's sort of like that environmental slogan, "think globally, act locally." It is important to keep your vision expanded, but implement it a little at a time—incrementally. That's called an iterative approach, which is delivered via a release plan. You will start with a manageable subset of steps, and then add in features later as you are ready.

With your goals defined and prioritized, figure out what it will take to deliver the first set of goals—those with the number 1 beside them. That should be the ideal for the first iteration of your system. Now you will have to consider how much of the ideal is practical to implement and how much will have to wait for future releases.

Go ahead and set up a schedule for Release #1 by detailing the tasks to complete. Be sure to include business activities that must occur, such as user training and planning, in addition to technical tasks. Set milestones and decision-points within that timetable for detailing the following 30–60 day period. Then you will have defined Release #1, your first iteration. Testing and installation of your first release will reveal changes and improvements, which can then be built into future releases.

Implement Release #1

Implementation tasks include installing your software or setting up your account with an application service provider, configuring any user-configurable information required, and testing all configurations to be sure they are working as expected. Backup plans should be identified, and security needs reviewed as well.

The following list includes some keys to a smooth and successful implementation:

  • Plan a timeline and follow it

  • Make significant changes one at a time or bundle changes into one set of related steps

  • Start with the easiest changes and graduate to more difficulty after gaining experience

  • Adjust your expectations and priorities as you go

  • Solicit feedback from your customers and listen to the responses

Update Requirements

Ask yourself whether your implementation is on track for your goals. Are your customers more satisfied and loyal? Is your staff adopting the new processes and related technology as planned?

On reviewing and working with the features and configuration that is implemented in Release #1, you will usually uncover new or unrecognized requirements that you'll want to consider for future releases.

Document these requirements as you go along; keeping a log of implementation issues and solutions can be very helpful in tracking changes that will need to be applied.

Roll Out Future Releases

Having gone through one implementation, you want to be able to repeat the basic process you followed in release one for subsequent releases. You'll streamline the process as you repeat it and you'll find that future implementations follow an easier and more predictable course.


Summary

Microsoft CRM offers the advantage of automated Customer Relationship Management to the small- and mid-sized business for the first time. Until now, CRM has been reserved for large corporations with its big-ticket price tag for ultra-sophisticated technology. Now Microsoft CRM makes these new capabilities available to a much wider group of companies.

Armed with the knowledge of CRM's innovations, and owning the toolkit of Microsoft CRM's capabilities, your company can be positioned, as never before, to find, acquire, and retain the best, most profitable customers.


Chapter 3. The CRM Landscape: Why Now?

In this chapter

CRM System Evolution

Marketing Department Changes

CRM and Transaction Processing

Change Management and Market Strategy

The Technology of Microsoft CRM

Summary

Over the past ten years, CRM systems have evolved from departmental client/server systems to semi-integrated systems. Most CRM systems currently cooperate at the portfolio or application suite level, sharing information between a limited set of marketing, sales, and service applications. The newest CRM suites take CRM functionality to the Internet-enabled, fully integrated Web services applications that are being developed today.


CRM System Evolution

The first stage of CRM systems focused on department-specific objectives, delivered via client/server systems. These systems usually addressed the needs of isolated departments such as the marketing department, sales and service, tech support, or the call center.

One system would extract a list of customer names for direct mail purposes, whereas another would focus on collecting customer information for marketing initiatives. Yet a third system would provide case management to the technical support team or call center personnel.

These systems were limited in their scope and focused inwardly on solving immediate problems of one area within a company. They were often developed by various vendors at different times, with no attempt to integrate information between systems.

During the second stage in the development of CRM systems, the focus shifted to customer relationships, with an emphasis on supporting integration of all customer information for a complete 360-degree view of the customer and all customer interactions.

Disparate systems on disparate platforms began to be rearchitected so that they could operate together. Vendors came out with integrated suites of applications that provided cross-functional customer information.

With the advent and popularization of the Internet for business use, the third wave of CRM saw e-commerce systems developed, enabling customers to serve themselves through your customer Web site. New opportunities opened for collecting customer information, and interacting on a one-to-one basis as never before. Mass customization became a reality because the mechanisms could be put in place to enable customers to personalize their experience on your Web site and to customize your products for their specific needs.

The next logical step in e-CRM systems was to integrate customer-facing applications (Web, customer support, and so forth) with the back-end systems that run your business (ERP, supply-chain management, and so forth). Such integration would give your customer visibility into your inventory so that ordering could be done automatically, and the entire delivery process could proceed seamlessly from there.

For example, when all your business applications are integrated, customers can place an order at your online store, and then have several avenues from which to check the progress of the order: telephone, online support, or dropping by a physical storefront and having a customer service representative pull up the order on the store's computer. Back-end integration is what provides for your customer's order to turn up in synchronized fashion on several different computer systems at the same time.

The Holy Grail for current and future evolutions of CRM systems is the customer-driven portal, which puts the customer first, enables the customer to define the interaction and the relationship, and provides ongoing direction for the reinvention of your business process.

A portal is a Web site that serves as a starting point to other destinations or activities on the Web. Your customer portal is a starting point for customers to interact with your business and find information, services, and resources via your Web site.

As CRM evolves, the customer portal is evolving from a static window on your business to a dynamic focal point for customers to carry out multiple interactions, and to provide the feedback necessary for you to understand how your business can best keep pace with their needs.


Marketing Department Changes

In many companies, the role of marketing has changed in recent years from providing market research and sales support to developing strategies that can change the course of a company's future. This new role has repositioned the marketing function within the corporation and produced a growing demand for customer information that supports strategic decision-making.

When marketing was about mass-marketing consumer goods to the waiting public, research and customer behavior studies determined what the customer wanted, at what price, and within what parameters of time and place. Marketing provided this research and sales support through largely manual processes, and their share of the IT dollar was relatively small. Marketing requests that computer jobs be run to extract a list of customers for direct mail approaches were generally delivered last at the end of the month. And, for direct mail purposes, the delivery of such information was considered timely and sufficient.

But as the mass market has given way to the niche market, the role of marketing has shifted from developing products for mass markets to mass customization of products based on customer demand. Marketing requirements for more customer information, information that would allow relationship selling and customer profiling, have driven the development of CRM systems, with information requirements that have changed dramatically.

The new role of marketing has introduced two new requirements at polar opposites:

  • Summarized homogenized data from diverse application sources that supports strategic decision-making.

  • Detailed customer behavior, demographic, and buying history that supports relationship selling and one-to-one marketing.

Together, these widely divergent requirements set the stage for the evolution of CRM systems, from single-department, isolated systems to the integrated 360-degree view of customers required today.


CRM and Transaction Processing

A day in the life of a piece of corporate data will see that data move through many different perspectives of use and handling. First, it is captured and checked for errors in entry, format, and other attributes according to its validation rules. Next, it travels to the systems that utilize the data for primary business contact, processing transactions and supporting primary business functions such as sales, order-fulfillment, and services. After being cleaned up for corporate standards, the data moves on to be shared with other systems that need it to complete their picture of the company's business, and is manipulated and stored in decision support holding areas. Finally, the data is distributed for selective viewing of both company insiders and external users such as customers and suppliers.

Opposite Needs for Opposite Goals

In the lifecycle of data management, marketing information systems such as CRM occur at the polar opposite of transaction processing systems. CRM needs data across application systems, such as all customer accounts, not just those belonging to one product line or line of business, whereas transaction processing systems often house data for only one product line or line of business. The goals of CRM systems are global, whereas the goals of transaction processing systems tend to be local.

Indeed, at each step of the lifecycle different priorities will surface. They will require different technical design and development approaches employing defined terms and agreed upon structures. Figure 3.1 shows the steps of the cycle and some of the supporting technical structures. It adopts a starting point where customer and supplier interactions initiate business transactions that must be processed. Keep in mind that although it's a common starting point it is a little arbitrary because activities in any step of this model can act as a starting point.

Figure 3.1. The Cycle of Data Management depicts how data is utilized at each step of the process.

The steps of the Cycle of Data Management are listed here:

  1. Process business transactions

  2. Transform data for sharing

  3. Support business decisions

  4. Create external portals

  5. Create internal portals

  6. Interact with customers and suppliers
Process Business Transactions

Business events, such as a customer contact resulting in a sales order being placed, or a customer request that is fulfilled by customer service personnel, produce data that must be managed. They involve relatively small amounts of data that must be maintained with a high level of accuracy at the time of the transaction and access of the data. Business transactions are typically simple transactions involving very detailed data. For example, a customer order includes specific mailing address, product information, and pricing details.

The systems that support such business transactions must handle many simultaneous updates, reads, and insertions of data. They must often be available for processing on a continual basis, 24 hours a day, and 7 days a week. They have low requirements for storage of historical information, usually needing only that information required for supporting the flow of work.

The data model for supporting business transactions is usually highly normalized, which means that data components are structured so that they are stored only once for convenient control of updates. It also attempts to achieve a balance between design for state modification (insert, update, delete) and speed of retrieval or data access. Because the data usage is predictable, the data model can be optimized for these performance concerns.

Data management in business transactions usually prioritizes data persistency and state management. It will be utilized by down-stream systems (subscribers to the information), which are usually unrelated to the systems producing the data.

Transform Data for Sharing

The data produced in business transactions must often be transformed before sharing with other applications. Sometimes sensitive or irrelevant information must be removed before sharing. At other times information must be made generic so that it matches the definitions of other application views. Some data will be summarized and used to support analytical processing or decision support. Other information will be used internally by other departments such as operations or financial reporting, whereas some data is selected for sharing with customers and suppliers, depending on the requirements of their interactions with the company.

Data extract, transformation, and middleware tools are all means of transforming data to make it suitable for sharing. Extract and transformation tools usually help to convert, cleanse, and standardize data. Middleware and messaging technologies facilitate the physical aspects of sharing data, through the use of data delivery mechanisms and subscription maintenance machinery.

The priorities at this stage are for credible data, verified, cleansed, and transformed in a streamlined process. Speed of data availability for sharing with mission-critical applications is also an important factor.

Support Business Decisions

The data that is delivered to decision-support applications, such as CRM systems, is used to help companies measure performance, manipulate revenue and yield ratios, make market decisions, and monitor operational statistics. It is earmarked for business management and strategic functions, and used in determining competitive advantage. It can be used to identify opportunities for improvement and growth of the company.

Decision support data is often derived through summarization and calculations applied to detailed data taken from transaction-processing systems. It often involves large volumes of data, with significant amounts of historical data used for trending and reporting of regulatory and markets information. Analytical processing usually involves complex transactions or queries against the data, utilized in unpredictable ways by processes characterized by discovery. A fairly small user community (managers, executives, and analysts) needs actual access to the data.

Data models for analytical processing are optimized for rapid access through non-repetitive queries, producing unpredictable workloads. The priority is on efficient data retrieval, which requires that data be heavily indexed and de-normalized (more than one copy of a data component stored) for convenient access rather than normalized for convenient update. Integrity constraints such as those utilized for transaction processing (primary keys, foreign keys, and column constraints) are generally relaxed in decision-support systems because the source systems can be expected to enforce the referential integrity that is required.

Create External Portals

External portals provide access to customers and suppliers for carefully selected portions of a company's information. Portals can deliver a personalized view of real-time order and inventory information to customers and supply-chain partners. "Drill down" capability provides self-service access to orders, disposition of service queries or cases, increasing customer satisfaction, while simultaneously reducing support costs.

Portions of the business process in which customers or suppliers participate may be detailed on public Web sites. Financial performance may be provided in annual reports online or investor information packets. Product and service specifications and pricing may also be made available through an external portal on company information.

Wirelessly enabled CRM systems deliver real-time order visibility to any wireless device, empowering salespeople and customer service reps to provide customers immediate answers to delivery inquiries regardless of where they are.

Characterized by selective viewing, external portals usually reside outside a company's firewall, providing a highly secured environment for customer and supplier interactions.

Create Internal Portals

Internal portals allow parties within a company to access data according to the needs of their particular business or application viewpoint. Data warehouses spawn data marts, which house application-specific views of data replicated from the central repository. Intranet portals provide windows on data that might be needed by operational personnel or marketing analysts.

A typical executive view includes up-to-the-moment Key Performance Indicators (KPIs) such as Order Status, Costs versus Goals, and so forth. Portals also enable executives to set custom Business Alert levels to provide immediate notification to business rule exceptions. Timely notification of deviations from plan enables executives to take action to correct problems before they impact production goals, reducing production, and cost variability.

Internal portals represent multiple views against the company's information and are generally accessed with low security requirements, within the confines of a company firewall.

Interact with Customers and Suppliers

Interactions with customers and suppliers can occur through the window of an external portal, or they can be facilitated by business transaction processing systems. Sometimes they occur with replicated versions of company data, carried by a sales or marketing representative in a remote device such as a laptop computer configured to provide price quotes and service specifications.

Interactions are increasingly likely to occur through various means of electronic exchange, whether via XML Web services, extended component technology, or B2B mechanisms.

TIP

B2B (business-to-business), also known as e-biz, is the exchange of products, services, or information between businesses rather than between businesses and consumers. Earlier mechanisms for B2B exchange include EDI, whereas Web services standards are currently underway for business exchange.

Distribution of data becomes important in the interaction step, with an emphasis on convenient access and accuracy to certain limits established within a window of time. Metadata definition, partitioning, and data replication are schemes that facilitate the desired distributed deployment of components of data.

The Horizontal View

The systems that process business transactions usually reside in a vertical slice of the overall business process. Order entry occupies one vertical slice, whereas order fulfillment occupies another. But CRM systems typically look across these verticals to represent the horizontal view.

Because the customer relationship occurs across all applications, as everything a company does ultimately serves customers, the systems for managing that relationship have to span across vertical applications.

The Holistic View

Whereas business transaction processing systems drill down to the details of a particular customer interaction, CRM wants to know about all customer transactions. The CRM portal might support customer access to the details of a transaction, but overall, CRM encompasses all transactions.

For example, in a financial services institution, a customer opens a checking account and a savings account. Later the same customer applies for a loan and a credit card, and then buys a house, borrowing the money from the same institution through a mortgage loan. All these accounts are processed as separate transactions, stored in separate systems, reported on, and serviced separately. However CRM, in looking at the whole customer relationship, wants to know about all the accounts. They represent share-of-wallet—how much of a customer's potential business have we acquired? What further business might we propose, and in what order is the customer most likely to desire to purchase? These are questions that CRM systems are set up to answer, and they require data extracted from all the individual systems that a customer's relationship with the company might involve.

Thus, CRM represents a holistic view. It requires information about the whole customer interface, including all customer touch points and all service and delivery channels. It requires a uniquely comprehensive view of the customer relationship and all the factors that enter into determining the value of that relationship, and its health and potential longevity.

CRM Requirements

Because of the differences between CRM and transaction processing systems, CRM requirements present a whole new ballgame for application developers. Differing requirements dictate different technical solutions.

CRM projects differ significantly from OLTP (online transaction processing) software development projects. The business requirements for OLTP development projects are usually well understood and finite in nature. They are specific to the needs of a departmental tactical solution, and are managed with a clearly structured approach. Requirements for CRM projects, on the other hand, typically evolve as the project unfolds, and are accomplished with a pragmatic approach, which expects mid-course corrections throughout the duration of the project. OLTP development delivers tactical solutions to defined problems, specified to solve departmental concerns. CRM delivers the holistic view of enterprise applications, with a focus on the strategically transparent support of a new kind of customer relationship.

OLTP development projects usually occur in a controlled environment where the technical manager has the freedom to select among predefined and standardized platform options. The development of OLTP solutions is generally treated as a black box, with input and outputs defined, where everything inside the box falls under the project manager's control. He will develop local applications, which are built on either a single platform or a distributed platform using local and internal networks. CRM projects generally take place in an uncontrolled environment. The CRM integrator must deal with a variety of technologies, old and new, which are already embedded in existing systems. The CRM integrator works within the confines of the existing architecture.

On OLTP development projects, team members are specialists who apply the discipline of systems engineering to well-defined specifications. The goals of CRM involve the alignment of legacy systems (usually with little or no documentation available) and their merging with newer technologies in the global CRM/Internet arena. Therefore, the CRM integrator is usually more of a generalist, with expertise in multiple systems arenas. The CRM integrator must also be skilled at utilizing specialized resources at the right time.

CRM projects extend across the enterprise and its relationships with customers and the supply chain, whereas OLTP development projects usually concentrate on local objectives. The data in these local projects tends to be discrete and contained, easily understood and modeled. CRM systems on the other hand, must reconcile data from disparate sources in disparate formats. It is not unusual for a CRM effort to require the merging of data from five to ten, or even fifty different application systems (built on different platforms at different times by different vendors). It can also require that the integrated platform account for less structured data from sources such as various Internet sites, or telecommunications software packages where data is scraped from online screens in a blob, which must be parsed and managed.

The implementation model for OLTP development is usually either top-down in structured projects that proceed from conceptual design to logical analysis and detailed design and development, or bottom-up, in typical object-oriented approaches. The model for CRM projects, on the other hand, is middle-out. First, it focuses on the system's use, in the context of CRM business goals. Then, it builds simultaneously upward to business modeling and downward to detailed technical design to deliver the system. The CRM project can drive process improvements upward to the business model, as well as incorporate technical efficiencies at the system level.

Table 3.1 summarizes how OLTP development projects differ from CRM projects.

Table 3.1. Differences Between OLTP Development Projects and CRM Projects

OLTP Systems

How do they differ?

CRM Systems

Finite requirements

ASSUMES

Evolving requirements

Single transactions

CORE IDEA

Holistic view

Structured, time-boxed

APPROACH

Pragmatic, evolving

Application unique

USER INTERFACE

Unified across systems

Controlled

ENVIRONMENT

Uncontrolled

Tactical solutions

DRIVER

Strategic transparency

New applications

TARGET

New relationships

Local, Intranet

NETWORK

Global, Internet

Specialist

DISCIPLINE

Generalist + specialist

Departmental

DOMAIN

Enterprise

Single or distributed

PLATFORM

Distributed

Top-down or bottom-up

IMPLEMENTATION

Middle-out

Local

COVERAGE

Wide area

Discrete and contained

DATA

Disparate formats

Because of the many differences between OLTP and CRM, CRM systems have evolved separately from many other business applications.


Change Management and Market Strategy

Change management is one of the first influences to adopt the enterprise-wide point of view that characterizes CRM applications in today's business landscape. Focusing on managing corporate resources across the organization, change management harnesses those resources and shepherds them into productive channels.

Whether those channels are productive depends on the strength of your market strategy. The iterative process of developing market strategy and testing it out in the real world has undergone significant changes in recent years because of factors such as the following:

  • Introduction of new channels such as the Internet and wireless devices

  • Business process integration

  • Business to business exchange

Taken together, change management and market strategy have influenced the evolution of CRM by raising the bar—taking the focus from case-by-case customer management to providing the enterprise information needed for driving the corporation as well as getting beyond the corporation's boundaries.

Introduction of New Channels

Internet hype might be subdued since the collapse of the dot com revolution, but the introduction of the Internet as a business channel is not only here to stay—it's just getting started. And, in today's market, a rival force is the wireless revolution, also in its infancy and also with far-reaching consequences for business and consumer alike.

One thing the Internet has done for business, in combination with other forces, is to blur the boundaries. In the early nineties, with the advent of business process reengineering, companies saw the boundaries between themselves and their customers begin to soften. One of the strategies of reengineering is to push work formerly done by the company over to the customer in self-serve arrangements. Suppliers also began to take work off the hands of the acquiring company—their customer, for example, by checking their own inventory levels at the customer's site, monitoring stock levels of their own items, and then replenishing inventory automatically when needed. In these ways, the boundaries between a company and its customers and suppliers had already begun to blur.

The Internet introduced a much more profound blurring, which indeed amounted to a restructuring of customer (and many other) relationships. From the user groups and customer interest groups of the past, buyers have moved into a much more tightly coupled relationship with sellers. Now, customer consortiums can design products, and one-to-one marketing schemes provide individually tailored products that customers can assemble for themselves. Experts talk of user experience and customer intimacy, as the fabric of the customer relationship becomes stickier, and at the same time, more amorphous.

As broadband makes the Internet into the "always on" connection, with the bandwidth for interactive applications, wireless makes it ubiquitous, providing anywhere, anytime, anyone access to your business resources.

Business Process Integration (BPI)

Business process integration, how companies get all their computer systems talking to one another seamlessly, is an increasing priority as companies get more and more of their processes automated and on the Web. CRM benefits from this process integration because it needs data from all the different systems to complete the 360-degree picture of the customer.

BPI gives companies a process for defining how various business systems overlap and relate to each other so that these systems can better share information, processing rules, and platforms. As business process integration methods improve and evolve, new generations of CRM systems are positioned to access more and more of a company's information resources.

Business to Business Exchange

The other really big new influence is .NET, Web services, and all the new standards currently under development for business exchange online. The point of all that is to make services offered over the Web more interoperable (apples to apples), and to make it easy for businesses to exchange information electronically.

TIP

A Web service is defined as an application that adheres to new connectivity standards (SOAP, WSDL, and UDDI) that are based on more mature Internet standards (HTTP and XML). This standards-based connectivity automatically enables a Web service implementation to dynamically discover and interact with other Web services.

On the new technology horizon, methods for business to business (B2B) exchange are evolving. Technology industry initiatives have resulted in the development of the .NET and Sun ONE platforms, industry standards for connectivity, such as WSDL, and the Web services concept for business exchange.

TIP

WSDL (Web Services Description Language) is an XML-based language for documenting what a Web service does, where to find it, and how to access it.

A recent article in the Harvard Business Review was titled "Have Your Objects Call My Objects," and that's what Web services are all about. Whereas a few years ago, people would facilitate schedules, purchases, and so on. Today, computers are taking on that role—ideally, almost without human intervention.

A common example illustrating the Web services vision is the travel agent service:

  1. You sign up online for a conference or a training class and one click sets off a chain of Internet transactions that would take care of a whole series of steps:

  2. Register you for the class

  3. Book airline reservations for the specified dates of the conference

  4. Reserve a hotel room in the destination city

  5. Reserve a rental car for your visit

  6. Make dinner reservations for the first night

  7. Synch all these reservations up and deliver an itinerary

In the Web services world, companies collaborate electronically to automatically deliver a series of transactions, such as the travel agent service, with a minimum of human intervention.

.NET is the architecture framework for Web services. It's the latest and greatest platform definition from Microsoft for component development. Application components are self-contained units of functionality—chunks of code—you can mix and match to put together specific solutions.

What are the implications of .NET and Web services for the average business? New applications that are increasingly plug and play. A director of technology at a Web-enabled insurance company told me recently: "We are an insurance company. We don't need 500 people in systems development (which we currently have because of acquisition and merger activity). We need to consolidate our systems and get back to the business of selling insurance."

That's the sentiment in a lot of quarters. We want technology to be easier, to be something a businessperson can deal with without thousands of developers. That's the vision. It's not here yet by any means, but it's definitely on the horizon.

Information Technology as Enabling Partner

As information technology has matured, the expectations for technology have changed from carrying out tactical plans defined by the business strategist to enabling strategic advantage. The pursuit of new technologies such as CRM for the promise of strategic advantage has resulted in companies incorporating IT strategies into the overall corporate strategy, rather than permitting the corporate strategy to dictate IT strategy. This change represents a fundamental shift in the relationship between IT and business—from IT as subordinate to business to IT as enabling partner to business.

The paradigm shift is evident in business today, where technology is no longer just a supporter, but has become a central priority. The emerging role of IT is that of influencing while the business generates demand, illustrated in Figure 3.2.

Figure 3.2. The emerging role of IT is to influence the business application of new technologies.

The more a company has adopted the new paradigm, the greater the demand will be for systems that are

  • Faster, in terms of both the development cycle and the performance delivered, because speed to market is as crucial as high-performance

  • Stronger, for handling multiple concurrent transactions via multiple channels

  • More strategic in their objectives

This all adds up to more integrated CRM systems as the new standard.


The Technology of Microsoft CRM

The primary technical advance behind Microsoft CRM is the architecture framework: Microsoft's .NET—which is the framework for Web services. By using the Internet to enable software applications to more easily work together, Microsoft .NET promises easier integration within and between businesses, while creating opportunities to more meaningfully connect with consumers. Microsoft CRM is the first in a planned series of business applications from Microsoft to be built from the ground up on the .NET Framework.

Benefits for Business

With .NET software and services, businesses can realize improvements in the time and cost associated with developing and maintaining their business applications. Figure 3.3 shows how an enterprise portal utilizes the .NET framework, enabling customers, trading partners, and suppliers to have controlled access to enterprise applications, as well as empowering employees with the ability to act on vital information anywhere, from any smart device.

Figure 3.3. The enterprise portal model shows how .NET makes the business process hub feasible.

The enterprise portal utilizes .NET to deliver best of breed integration. Exposing XML Web services to customers, partners, and suppliers increases potential reach and exposure, creating new business opportunities. .NET promises substantial savings in development costs, as well as creating new revenue streams, through the use of XML Web services.

The Enterprise Portal provides controlled access to a set of loosely coupled application components, or modular Web services, extending the infrastructure beyond the enterprise. It provides a secure Web site for internal and external access to the XML Web services utilized across the enterprise. These services can then provide business-to-business electronic exchange as well as online GUI Customer access mechanisms.

Web Sites will Evolve

For businesses to truly harness the power of the Internet, Web sites must evolve. As shown in Figure 3.4, Web sites will learn to interact with one another as well as with existing systems and applications. XML Web services will facilitate the evolution of the Web site from standalone pages to a method of business exchange.

Figure 3.4. Web sites must evolve from standalone sites to interacting sites that provide business exchange.

.NET and Integration

.NET offers integration through standard Internet protocols (XML and SOAP). The modular aspects of modern software applications enable them to communicate through XML Web services, offering a direct means by which business processes can interact. As shown in Figure 3.5, applications hosted locally, as well as on remote systems, can be stitched together, allowing businesses to program the Web. Businesses can quickly and economically create specialized solutions that meet unique business needs.

Figure 3.5. .NET integration enables applications to communicate quickly and easily through standard Internet protocols (XML and SOAP).

TIP

SOAP (Simple Object Access Protocol)) is a simple XML-based messaging protocol for calling a Web service typically using HTTP transport.

Internal Integration

XML Web services enable organizations to bridge applications and information written in different programming languages and residing on differing platforms. As seen in Figure 3.6, applications from departments such as Human Resources and Accounting can expose information as XML, sharing information to create a new benefits application.

Figure 3.6. Information from the Human Resources and Accounting applications is combined to create the new benefits application.

Individual components of specific applications within a company can interact by using the common language runtime, part of the .NET Framework. For example, a new customer tracking function written in COBOL can be used with an existing Marketing application that was written in a different computing language.

Integrating for Business Exchange

By using XML Web services, companies can more easily integrate internal applications. They can also access services offered by other businesses, by combining XML Web services exposed on the Internet, as shown in Figure 3.7.

Figure 3.7. External integration enables companies to exchange information via XML Web services, to integrate business processes across the Internet.

Now companies can create a wide variety of value-added applications. For example, a professional services firm could unify benefits, payroll, human resources, and resource utilization into a single seamless resource management portal for its employees, or they could integrate inventory control, fulfillment mechanisms, and purchase order tracking into a comprehensive supply chain management system.

Integrating for Customer Personalization

With the capability .NET provides for different software programs to interact, a user will be able to establish an identity and move seamlessly from one online experience to another. They will control their data and be able to act on it anywhere, anyplace, and at anytime. They can select the user experience they desire, saving those options across multiple pages.

Businesses that provide XML Web service access to their business processes open up the possibilities for customer interactions and create more intelligent, personal user experiences. For example, a customer seeking to buy car insurance online could more easily shop for the best price quote by utilizing XML Web services that communicate driver information, vehicle history, and claims history, enabling them to interact with the XML Web services from the auto insurer.

New Revenue Streams

The potential for new revenue streams is another key advantage of creating XML Web services and exposing them on the Internet. Opening up these key business processes that were typically locked in internal systems can create a number of new and exciting opportunities to make money. For example, an automated proposal-creation component created for internal use could be exposed as an XML Web service, enabling other companies to quickly and easily use the functionality, thus providing a new revenue stream.

Expanded Customer Access

The number of customers and partners who can find and access your services can be greatly expanded. By exposing business processes with XML Web services and making them available on the Internet to customers and business partners, companies can access a whole new arena of contacts.

An airline could expose an XML Web service of its flight schedules and travel agents and businesses in related industries, such as hotels or car-rental agencies, can utilize the information to build their own systems. Customers can enter at numerous points in the process, creating travel reservations in conjunction with hotel reservations and car-rental arrangements.

Shorter Development Times

The goal of Microsoft Visual Studio .NET and the .NET Framework is to empower developers to quickly and easily create cutting-edge XML Web services and applications, building on their existing skills sets. Through multi-language support, developers are freed to use the appropriate language in building XML Web services. Seamless deployment, as well as the ability to use existing XML Web services, presents substantial savings opportunities for the corporate IT department.

In addition to the technical capabilities they offer, these developer technologies help alleviate the greatest scarcity in the world: skilled programmers. Applying rapid application development techniques to Web applications and services increases developer productivity, saving both time and money. Finally, by supporting any programming language, these tools tap the broadest developer talent pool (only about 10 percent of the world's developers know Java), take advantage of existing skills, and let people use the tool most appropriate for a specific task.

Empowering Business People

.NET promises to allow business people to act on the appropriate information where and when they need it, facilitating better decisions by giving people in the field, at the office, and in between the information they need in a suitable and useful form. Important client information, once locked away in isolation on a mainframe, can be easily accessed and acted on by a salesperson on a handheld computer across the country. A contact or appointment added to a Pocket PC by a project manager while at a job site can be instantly accessible to members of the same team scattered around the world.

Distributed Computing

Recent years have seen a shift to distributed computing. Particularly over the last couple of years, communications companies have been laying fat pipes to the point where bandwidth is a lot less limited than it has been in the past. We've all heard of Moore's Law, which declares that processing power doubles every eighteen months while prices are halved, but you might not have heard of Gilder's Law that network bandwidth doubles every six months. This produces an environment in which connectivity gains grow three times faster each year than processing gains. Available bandwidth continues to accelerate and encourages the use of distributed computing in the infrastructure to utilize the "edges" of the computing infrastructure.

Developers now have the option to do really distributed computing for the first time. Now, because bandwidth is less expensive, you can do the actual processing wherever it is most optimal.

Such distributed applications are prevalent today. Napster is an application that uses a rich client talking to a directory service in the cloud, and uses all of the participating computers on the network as servers. Another example of a distributed application is instant messaging, where you have a rich client that talks to a buddy list in the cloud and communicates with other rich clients, such as Instant Messenger and Microsoft Windows, in the network.

.NET is aimed at accelerating this next generation of distributed computing.

Vendor Collaboration

As with any technology, Web services adoption will be accelerated by vendors working together. Thus far, many vendors have cooperated together on Web services. However, it would be naive to believe that vendors will put aside their own interests "for the good of the industry," or to make the lives of their users any easier. After all, they are all public, for-profit companies. Although efforts such as the Web Services Interoperability Organization (WS-I), the Liberty Alliance, and the World Wide Web Consortium (W3C) have the potential to assist with the standards-setting process, they will continue to be rife with politics.

Web services adoption will, therefore, not occur as quickly as it might have. However, there is already agreement on the basic standards, such as UDDI registry, Web Services Description Language (WSDL), and SOAP. This is sufficient for work to begin on many applications. Projects that need to advance beyond the state of these standards must rely on proprietary or potential standard technologies. At this point, given the current situation regarding Web services standards, industry experts estimate the delay in adoption will be approximately 18 months.

TIP

Universal Description, Discovery, and Integration Language (UDDI) is a directory standard for registering Web services that users and systems can find and use.

As these Web services standards mature over the next decade, they will have a substantial impact on how we do business over the Internet and electronically. Web services standards are driving value today by lowering the cost of integration between systems. Going forward, entirely new value propositions will be created as Web service standards are widely adopted to enable applications to dynamically discover each other on the Internet and exchange data.

TIP

New common standards for Web services include SOAP, WSDL, and UDDI, whereas some of the old, nonstandard protocols are CORBA, RMI, HTTP, and proprietary XML.


Summary

This chapter has reviewed the development of customer information technology, from simple list management to the more complex disciplines of CRM in practice today. CRM products have evolved from isolated client-server applications to the Internet-enabled systems that put the customer in control of their interaction with an integrated enterprise.

CRM systems have become focused on the 360-degree view of the modern customer, as seen through multiple business channels and types of access. The Internet has played a huge role in shaping the current direction of CRM, just as Web services, ubiquitous computing, and broadband connections will continue to shape its direction in the future.


Chapter 4. Microsoft CRM Functional and Conceptual Overview

In this chapter

Microsoft Business Solutions, Microsoft, and Microsoft Great Plains

Microsoft CRM Product Positioning

Microsoft CRM Versions and Licensing

Microsoft CRM User Interfaces

Named User Licensing

CRM Platform

Microsoft CRM Concepts

Opportunities and Cases

Core CRM Objects

Use Case Corner—Expediting Activity Record Creation

Summary

Those familiar with CRM packages are aware that they all go about things a little differently. This chapter helps you gain a conceptual understanding of Microsoft's application and outlines and defines the system's functionality as well as terminology. Keep in mind as you read this information that this chapter, and the content of this book, refer to Version 1.0 of Microsoft CRM.

Before launching into a discussion of functionality, let's first establish a definition of the word. Dictionary.com defines the word functional as "designed for or adapted to a particular function or use." Functionality is then defined as "the quality of being functional." Computer-based business applications are generally designed to provide functionality in one of three areas:

  • Tracking real-life transactions, events, and interactions for the purpose of sharing the information with others and to ensure that the information is not lost or forgotten.

  • Analyzing these recorded transactions, events, and interactions to gain knowledge that will provide future benefit.

  • Facilitating the execution of the transactions, events, and interactions so that present activities can be done with fewer resources.

On the tracking side, the end goal is to make the capture of the transactions, events, and interactions as easy as possible. We do this to share and remember the information so that it can help us in the future. On the analysis side, the end goal is to provide the greatest insight into the recorded information. On the facilitating side, the application functionality should save us work in carrying out our job duties.

It stands to reason that any functionality described hereon should fall into one of the three areas listed previously. In fact, as illustrated in Figure 4.1, this maps right into Microsoft's key design point of "Improving Business Productivity" by

  • Making informed business decisions (Analyzing)

  • Improving sales success (Facilitating)

  • Delivering superior customer service (Facilitating)

  • Sharing information (Tracking)

Figure 4.1. Microsoft's Key Design themes in developing Microsoft CRM.

That's enough of the theory; let's move on to the meat of the matter. At a very high level, Microsoft CRM is billed as encompassing Sales Force Automation, Customer Service, "lite" Marketing and Reporting Functionality. However, delving deeper into the application you find that Microsoft CRM is comprised of the following functional areas:

  • Lead Management

  • Contact Management

  • Account Management

  • Activity and Task Management

  • Calendar

  • Opportunity Management

    • Sales Forecasting

    • Sales Process Management

    • Quote Generation

  • Service Case Management

  • Service Contract Management

  • Order Management

  • Invoice Generation

  • Sales Literature

  • Knowledgebase

  • Reporting

  • Announcements

  • Customization Tools

  • Security and User Management

  • Workflow and Routing Tools

    • Workflow Manager

    • Workflow Monitor

  • Implementation Tools

    • Deployment Manager

What is perhaps most deceiving about the application itself is its almost cartoon-like appearance at first glance. The thoughtfully laid out screens with their colorful icons give the impression of a game more than a business application. Don't be fooled; behind this user-friendly facade is surprisingly deep functionality; especially for a first release product.


Microsoft Business Solutions, Microsoft, and Microsoft Great Plains

Throughout the book I'll refer to Microsoft CRM. The official name for this product is really Microsoft Business Solutions CRM. Most of us know Microsoft as the leading developer of personal computer (PC) operating systems (Windows 2000, Windows XP, and so on), desktop productivity applications (Microsoft Word, Excel, and so on) and perhaps application development languages (Microsoft Visual Basic, Active Server Pages, and so on).

On April 5, 2001, Microsoft completed the acquisition of Great Plains, a Fargo, North Dakota company that specialized in Microsoft-based accounting, financial, and operational software. This acquisition catapulted Microsoft into the world of business applications. Great Plains has now become a division of what is referred to as "Microsoft Classic" and the division name is Microsoft Business Solutions. Microsoft CRM is designed and managed out of the Business Solutions Division, hence the long name. In most places I'll save the keystrokes and refer to the product as Microsoft CRM.


Microsoft CRM Product Positioning

One of the most confusing points around Microsoft CRM is its target market. Microsoft's messaging refers to small and mid-market, but the definition of both of those segments is highly variable. Figure 4.2 depicts Microsoft's wide definition of the midmarket. As you can see, this definition includes companies ranging in size from 25 to 500 employees.

Figure 4.2. Microsoft CRM's intended market space.

The short story is that Microsoft CRM's functionality, cost, and infrastructure requirements are not in line with most very small organizations. Hosted offerings of Microsoft CRM might have more appeal to smaller companies if the economics work. However, as of this writing there is only one company specialized in hosting Microsoft CRM, and their offering requires that the customer purchase or lease the software before turning it over to be hosted. At the upper end, there is nothing limiting a very large organization from implementing Microsoft CRM unless the functionality does not meet the needs of the organization. Microsoft CRM is built with the same, and in many cases more advanced, tools as other enterprise CRM packages.


Microsoft CRM Versions and Licensing

To begin a discussion of functionality, it is necessary to discuss the product's packaging. Microsoft CRM is sold in three configurations, each of which has two editions. The configurations are Sales, Customer Service, and Suite (the combination of Sales and Customer Service). The editions are standard and professional. As you've probably already guessed, the professional editions have the same functionality as the standard editions, but with some additional features. Figure 4.3 depicts the editions and configurations of Microsoft CRM.

Figure 4.3. A visual overview of the product packaging.

The product packaging is a little tricky at first, but it makes sense when you think about it. To use an example, a company that has basic sales requirements, but complex service requirements can buy Standard Sales licenses for its sales users and Professional Service licenses for its Customer Service users. However, if the same company wants the Sales users to also be able to see the Service-specific information, they will need to give the Sales users Professional Suite licenses. Likewise, if the company wants the Service users to be able to access the Sales-specific information, they will need to give the Service users Professional Suite licenses, and then upgrade the sales users to Professional Sales or Professional Suite. This is because you cannot mix standard and professional users of the same configuration. For example, you cannot give your VP of Sales a Professional Sales license, while all other sales people have a Standard Sales license. It is an all or nothing proposition. When a user has a Professional Suite license, she in effect has a combined Professional Sales and Professional Service license. Therefore, if even one user has a Professional Suite license, no other user can have any of the Standard configurations. So, in the example where even one user has a Professional Suite license, other users can have Professional Sales or Professional Service licenses, but not Standard Sales, Service, or Suite licenses. All this can quickly lead companies to upgrade all their licenses to the Professional versions. Figure 4.4 illustrates the compatibilities between editions and configurations of Microsoft CRM

Figure 4.4. How editions and configurations of Microsoft CRM can be mixed within a single installation.

Microsoft CRM also requires at least one server license to cover the software being run on your organization's CRM server. With respect to the server licenses, there is no Standard versus Professional designation, only a Sales Server and a Service Server. If you have even one Sales user you must purchase the Sales Server. Likewise, if you have even one Service user you must purchase the Service Server. If you have at least one Suite user, you must buy both the Sales and Professional servers.

In the previous paragraph I mentioned Sales- and Service-specific information a couple of times. This merits a short discussion and gets back to the underlying fact that Microsoft CRM has been built as one application. Changing a user's license from Sales Standard to Sales Professional or Suite Professional does not involve running a new setup application or adding new code, objects, or modules. Rather, as with many well-designed applications, changing the license simply enables the use of additional functionality. This is why I have used the term configuration in lieu of module. When Microsoft CRM is installed, all application code is installed and the license key provided by Microsoft Business Solutions enables the functionality that has been purchased. The license key is an alphanumeric character string that Microsoft Business Solutions provides and an administrator enters into the Deployment Manager application. This string tells the application what functionality can be unlocked and in what quantity. The system administrator can then assign "who gets what" functionality when setting up users and roles.

NOTE

Application refers to the Microsoft CRM Server that is installed once per deployment. This includes the user interface (Web pages), business logic (application server), and data storage (database) components. All users of a single deployment access the same Microsoft CRM application and, thus, the same shared database. Users of the Microsoft CRM Sales for Outlook client will also access the same shared database, but will have a separate, local database (on their laptops, for example) for going offline with those records that are assigned to them.

Regardless of which Microsoft CRM configuration you are using, some core pieces of functionality are common. These core pieces of functionality that all users will have access to are

  • Account and Contact Management

  • Activity and Task Management

  • Security Management

  • User Management

  • Calendar

  • Basic Reporting

  • Customization Tools

Tables 4.1 through 4.4 outline in more detail the specific features of each configuration of Microsoft CRM.

Table 4.1. Microsoft CRM Sales Standard

Account and Contact Management

Activity & Task Management

Correspondence/Mail Merge

Calendar

Search

Territory Management

Notes & Attachments

Reports

Microsoft CRM Sales for Outlook

Direct Email via Microsoft CRM Exchange Connector

Opportunity Management

Lead Management

Table 4.2. Microsoft CRM Sales Professional—Includes All Standard Sales Features Plus

Quotas

Product Catalog

Sales Process Methodology

Quotes, Orders, and Invoices

Competitor Tracking

Lead Routing

Workflow

Sales Literature

Table 4.3. Microsoft CRM Customer Service Standard

Account and Contact Management

Activity & Task Management

Knowledgebase Management

Calendar

Search

Service Request

Notes & Attachments

Reports

Activity & Case Queuing

Direct Email via Microsoft CRM Exchange Connector

Case Management

Table 4.4. Microsoft CRM Customer Service Professional—Includes All Standard Customer Service Features Plus

Contract Management

Case Routing

Workflow

Email management including auto-responses

Product Catalog


Microsoft CRM User Interfaces

To confuse matters more, we need to touch on the user interfaces that are provided with Microsoft CRM. Microsoft CRM has two user interfaces that can be used to access the system, depending on the user's role. The two user interfaces are the Web (i.e. browser) client and the Microsoft Outlook client. The Web client is a browser-based client that provides all application functionality, assuming the user has the appropriate license. The Web client can be accessed with only a Web browser (currently, Internet Explorer 5.5 sp2 and 6.0 are the supported browser versions) and requires no additional client software install.

The Microsoft Outlook client (officially named Microsoft CRM Sales for Outlook) is an application that is installed on the user's machine and works with Microsoft Outlook. In fact, Microsoft Outlook 2000 or Outlook XP (also referred to as Office 2002) must be present to install the Outlook client. The Outlook client enables the user to connect directly to the production database when on the network. The Outlook client also gives the user the option to go offline and work with a subset of records while disconnected from the corporate network. To do this it uses Microsoft SQL Server replication and the desktop edition of Microsoft SQL Server (MSDE) on the user's laptop. More on the Outlook client and the underlying technologies can be found in Chapter 8, "Microsoft CRM Sales for Outlook."


Named User Licensing

Microsoft CRM is licensed on a named user basis. This means that you assign licenses to specific users by name and, as long as a user is assigned to the license, the license is occupied: even when the user is not actually using the system. This is in contrast to the other popular CRM licensing method known as concurrency. With concurrency, you purchase a set number of licenses and the system will not allow access to more users than that number.

Concurrency models provide the benefit that the company pays only for the licenses it is actually using. However, the downside of this benefit is that it can encourage the company to limit access to the system. The tendency inevitably is to come up with the least number of concurrent users necessary to keep the system available for the power users. Those nonpower users may be denied access from time to time and lose interest in adopting the system.

The obvious downside to the named user model is that the company must purchase a license for every user who needs access to the system. However, the benefit of this model is that because it is an "all you can eat" concept it encourages the user to access the system as much as possible. Or, perhaps more appropriately, it encourages the company to encourage the users to access the system as much as possible. This is consistent with the CRM philosophy. The more the CRM system is used by the people actually touching the customers, the more useful a tool it will be.


CRM Platform

Having just discussed the two user interfaces for Microsoft CRM, you might be under the impression that those interfaces are the only way to interact with your CRM data. On the contrary, developers are free to leverage Microsoft's CRM platform to interact with the application through Microsoft CRM's application programming interfaces. For example, let's say your company develops and sells a software product. One of the ways you market the product is by allowing visitors of your Web site to download a trial copy of the software. However, to get to the Web page that enables them to download the software, the user must complete a form to share certain information about herself including name, email, company, interests, and so on.

Currently, you have included logic in your Web site that packages this information up into an email and sends it to your VP of Sales. From there the hunt begins, if the VP does not delete the email! However, with Microsoft CRM you could replace that email logic with a call to the Create method of the CRMLead object in Microsoft's CRM Server. Thus, the information you collected from the visitor would go directly into your CRM database and be subject to any workflow rules you had set up to assign the lead based on territory, and so on. This simple process change would ensure that all leads are logged in Microsoft CRM and a history is maintained. Figure 4.5 depicts how the two standard Microsoft CRM interfaces as well as two custom interfaces can interact with the functionality provided in the CRM platform.

Figure 4.5. Example of Standard and Custom interfaces leveraging the Microsoft CRM platform.

The point here is that what Microsoft has built is an application server with functionality that is available through two user (human) interfaces as well as an entire object model of application interfaces that can be accessed by other programs, Web sites, and so on. The rule of thumb is that nearly any operation you can carry out with Microsoft's user interfaces can be carried out by another interface or application when properly configured to do so. It is even possible to purchase Microsoft CRM and build your own user interfaces, never using the ones Microsoft has provided. This is, in effect, the idea behind CRM. It is a system of automated processes that can be accessed in a number of ways to make your business more efficient.

But let's take this concept one step further and look into the future of business systems. If all the CRM processes run through one common platform and store data in one common data store, why not have all our business processes do the same? After all, every company in the world is in business to serve its customers, so every piece of data the business maintains is in some way related back to those customers. This is the direction Microsoft is taking with its Business Solutions division. With each new release of its business products, Microsoft moves closer to a unified business platform that brings everything together for a seamless environment. Figure 4.6 illustrates this business platform concept. For a sneak peek into the future of Microsoft Business Solutions, be sure and read Chapter 21, "Future Directions of Microsoft CRM."

Figure 4.6. A unified technology infrastructure enables a single business platform for the enterprise.

Figure 4.6 illustrates the unified business platform. The business rules are carried out by business objects that can be programmed to behave differently depending on what type of user is calling them, which interface they are being called from, and a host of other factors. The business platform encompasses all business functionality including CRM, Financial and Accounting, Enterprise Resource Planning (ERP), Human Resources (HR), Supply Chain Management (SCM), and more. Any number of audiences including employees, customers, partners, and suppliers will interact with the platform through any number of user interfaces or applications. Suppliers can interact with the company's inventory system through an automated interface, while customers can interact with the company's service team through the corporate Web site. When data is updated, the change is immediately available to all users and processes that need access to it.

Microsoft currently delivers a product called Microsoft Office to automate the tasks of individual knowledge workers, but in the future we will see something that could be thought of as "Microsoft Company," which will be used to automate and standardize the transactions of corporate organizations. Couple this platform with industry tailored (verticals) solutions provided by partners with industry domain expertise and things become very interesting.


Microsoft CRM Concepts

The theory discussions are complete for now—this section describes the core concepts of Microsoft CRM in terms of their typical intended uses (other concepts are touched on in later chapters). To understand what typical intended uses means consider the following diatribe. At one point or another, we've all bought some product that came with a manual that said "congratulations you are the proud owner of a…" then there's normally some information about safety and a list of the things that you really shouldn't do with the product. Microsoft CRM has no moving parts, so there's little chance of getting hurt. The manual could say "congratulations you are the proud owner of Microsoft CRM now go and do whatever you want with it."

Some pretty interesting things have been done with CRM, and I have no doubt that even more interesting things are ahead. For example, CRM is in use in the United Kingdom for citizen management while at the same time being used to track farmers in rural Wisconsin. CRM can literally be configured for any type of relationship tracking. However, for the purposes of this book, I will describe the typical intended uses of each concept and let you come up with your own uses and interpretations.

Leads, Contacts, and Accounts

Microsoft CRM provides a separate structure for housing Leads apart from Contacts and Accounts. A Lead in Microsoft CRM is usually information that might result in a new customer. The base information typically collected with a Lead includes individual name, company name (if selling to other businesses), and topic (where topic would be something such as large company interested in a new system). A Lead is usually associated with being unqualified and may or may not result in a customer or a sale. In other words, Leads gives you a place to temporarily house data until you either decide to convert it into real data or get rid of it. The great thing about having Leads as a separate structure is that you can do things such as import a list of names from a tradeshow, qualify them, and delete any that turn out to not be worth keeping. This has the very positive effect of keeping your qualified data clean. Figure 4.7 shows the Microsoft CRM Lead screen.

Figure 4.7. The Microsoft CRM Lead screen.

Accounts are records of organizations that might include, but are not limited to, vendors, suppliers, customers, and partners. Accounts can be parented by a single Account and this parent Account can have multiple children or subaccounts. The hierarchy of Accounts has no limit. Each Account can also have a Primary Contact, which is a Contact record that you have associated as being the most relevant Contact for that Account.


Opportunities and Cases

Opportunities are records of any potential revenue generating events. Opportunities must be parented by a single Contact or Account record, but might have an unlimited number of associated contacts referred to as "Other Contacts." In a Business to Consumer business model, an Opportunity will be parented by a Contact. In a Business to Business model, an opportunity will be parented by an Account. In their traditional usage, Opportunities are generally given a projected value (revenue potential), close date, and close probability (best guess as to whether you get the deal). However, in the case of a Financial Services sales professional whose job it is to influence brokers to influence their customers to buy particular securities, it might be impossible to assign projected revenue, close date, and close probability. Rather, you are tracking an ongoing process of relationship building that results in a steady stream of sales. A discussion of Business to Business (B2B) and Business to Consumer (B2C) models can be found in Chapter 7, "Sales Force Automation." Figure 4.8 shows the Microsoft CRM Sales Opportunity screen.

Figure 4.8. The Microsoft CRM sales opportunity.

Cases are records used to track Customer Service interactions. Like Opportunities, either a Contact or an Account record must parent them. Key data points on a Case are its Title, Description, and the Subject to which it is related. The concept of Subjects will be discussed shortly. Note that Leads can parent neither Opportunities nor Cases. If the Lead is worth opening an Opportunity or Case for, convert it into a Contact and/or Account.

Activities and Notes

If you've previously used another CRM package, you might need to shake off your preconceptions to understand Activities and Notes in Microsoft CRM. Put simply, Activities can be associated with almost any record type and represent the various interactions you have related to that record. Activities are what most other CRM systems refer to as Notes. For example, if you call your Contact at an Account where you have an ongoing Opportunity, you would log that call in a Phone Call Activity parented by the Opportunity. The notes related to that phone call would go into the Phone Call Activity record. In contrast, if you are talking with a Contact at an Account and want to remember that the contact is an avid guitar player and Van Halen fan, you could create this as a Note attached to the Contact record. To summarize, Activities are interactions that can be read sequentially to recount a history. Notes can provide information that you want to set apart so as to be accessible without forcing the user to read through a long chain of interactions.

Another difference between Activities and Notes is that Activities can be linked to multiple CRM objects and Notes can only have a single parent CRM object, as shown in Figure 4.9. When you create a Note, you can't specify the Note's parent. The parent is the record from which you created the Note. However, when you create an Activity, there are several fields through which the Activity becomes linked. For example, if you send an email Activity to two Contacts and use the Activity's Regarding field to link it to an Opportunity record, the Activity appears under the Activity History tab of both Contacts as well as the Opportunity. The same concept applies if you create a letter Activity with the recipient being a Contact and the Regarding being an Account. The Activity is displayed in the Activity History tab of both the Contact and the Account.

Figure 4.9. The Microsoft CRM Notes screen.

NOTE

If you open an Activity record of type Phone you will notice that there are fields for the Call Initiator and the Call Recipient. There is also a picklist (drop-down control) field for the Direction of the call. A similar structure can be found in the Fax and Letter Activity screens. By changing the value in the direction field, you will notice that the values in the recipient and initiator fields are interchanged. This feature simplifies capturing the details of the call.

Activities can be assigned to Users and Queues so that, where appropriate, there is a responsibility to take action related to the Activity. Notes cannot be assigned to Users or Queues. They are simply pieces of meaningful data that are attached to a record and require no action. Both Activities and Notes can be attached to nearly every type or record in the system.

When Activities are created they are in "open" status and can be closed and marked as completed or canceled. Chapter 12, "Workflow," goes into detail on the various record statuses. You can close an Activity by selecting Close Activity from the Actions menu of the Activity screen. After an Activity has been closed, it cannot be modified. Users with appropriate permissions can delete closed Activities. However, it is advisable not to give Activity deletion rights to users. Keeping your Activities intact ensures that you maintain a full history of the interactions with your prospect and customer base.

TIP

Clicking the save and close button on an Activity record only closes the actual Activity screen. It does not close (close out) the Activity record and move it to the closed status. You must use the close option on the Actions menu to do this.

Unlike Activities, Notes do not have types. Note records consist of a Title, the Note itself, and a document should you choose to attach one. In addition, Notes cannot be closed in the way that Activities can. A closed Activity becomes uneditable whereas Notes are always editable.

Activities are broken into types and house different data depending on the type of Activity you create. There are six different types, as shown in Figure 4.10.

  • Task

  • Fax

  • Phone Call

  • Email

  • Letter

  • Appointment

Figure 4.10. One of six Activities can be selected to create.

Anywhere you see a grid of Activities in Microsoft CRM you will see two tabs: Activities and History. This is because all Activities are considered open until the user specifically closes them. For example, you might create an Appointment Activity for next week, and then close it, adding your comments, after the appointment has occurred. Email Activities are automatically placed in the closed status and moved to the Activity History tab when they are successfully sent. All Activities have a due date, so you can set goals for their completion.

NOTE

Many of the records in Microsoft CRM allow attachment of documents. CRM geeks will undoubtedly want to know how these documents are actually being stored. Attached documents are stored in the Microsoft CRM database in the AnnotationsBase table. The body of the file is stored in the DocumentBody column. Because these files are stored in the database, Microsoft CRM users will be able to access them anywhere they can gain access to the record through Microsoft CRM. However, the files become static when stored in the database. That is to say that a user cannot open an attached file, make a change to it, and then save that change back to the database. To make a change to the file, the user has to open the file, save a copy of it, modify the copy, and then replace the existing attachment with the updated version of the file.

All Microsoft CRM file attachments have a five megabyte size limitation. This limitation is enforced server-side, so if you attempt to upload a file that is larger than five megabytes you will receive a message at the point that the server has received enough of the file to realize that it is too big. Figure 4.11 shows the screen the user will see when receiving a file upload error.

Figure 4.11. Microsoft CRM file attachments are limited to five megabytes.

What's really nice about Activities is that you can track how you are communicating with your prospects and customers. The differentiation between current Activities and History enables you to separate what is pending and what is complete. Perhaps the nicest thing is that when you write an email from Microsoft CRM it is sent to the recipient and added as an Email Activity on the parent record in one action.

Subjects and Products

Products are the things that you sell, no big mystery there. If your Microsoft CRM implementation is integrated to your back-office accounting system the two systems will most likely share a common master list of products. Subjects, however, are an organizational concept that has been introduced in Microsoft CRM. In implementing Microsoft CRM, you create a hierarchy of subjects that will later be related to Products, Service Cases, Sales Literature, and Knowledge Base articles. Think of Subjects as a vehicle for categorization.

Consider the following examples. Your company sells lawn tractors and you want to create a record for a brochure on your signature "Big Cutter" lawn tractor. As far as products go, the Big Cutter could be identified by multiple SKU's (stock keeping units) based on the different models you sell. For example, your Products might include the Big Cutter X1 and Big Cutter X2. However, for the purposes of categorizing the brochure, all you need is a higher level category to represent the Big Cutter product line. That is where subjects come in. In the example of a firm that sells professional services, you might create a Subject for Web Development Projects because you will not have a Product number with which to associate Cases, and so on. Subjects are discussed in more detail in Chapters 5 "Setting up Microsoft CRM," and 9, "Customer Service." Figure 4.12 shows an example Microsoft CRM Subject tree.

Figure 4.12. The Microsoft CRM Subject hierarchy.

    [ Team LiB ]


Core CRM Objects

Contact and Account records are at the core of Microsoft CRM. They are related to every other area and represent the key link between all the other data. Both Sales and Service data roll up to Contacts and Accounts. Because Contacts and Accounts span all areas, we will discuss them in detail.

NOTE

Throughout the book the terms object and record are used almost interchangeably. Traditionally, the word record has been more widely used to discuss data because we were most often interacting directly with a database, and the term record historically refers to a single row in a single database table. However, because in this book we are interacting with a CRM platform, we are truly interacting with objects that may or may not equate back to a single row in a single database table.

A single instance of a CRM object might pull data from various database tables or other data sources. As users, we shouldn't have to worry about this and, in fact, the Microsoft CRM platform abstracts this detail away from even developers who may be writing API calls to retrieve CRM objects. In reality when we see a list of CRM Leads, we are seeing a list of Lead objects, not records.

Contacts

As we mentioned earlier, Contact records represent individuals. These records can be standalone or can be linked to one Account (company, organization, or entity) record. A Contact can be any type of individual whose information is worth maintaining in your database. This will normally include customers, customer employees, vendor employees, partner employees, and so on. One of the first things you will want to do is identify the different types of Contacts you will be tracking, so you can list them in one of the configurable drop-down fields. The field named role can be used for this, or you can create an additional field. Most of the fields on the Contact screen are fairly self-explanatory, so I won't detail them now. However, there are a few details worth mentioning.

NOTE

Throughout the book I will refer to fields on the various object/record screens. Keep in mind that Microsoft CRM can be customized so that your particular installation may or may not have the same fields as that of a vanilla (standard) implementation. For this book, we are using a slightly modified version of the Adventure Works Cycle sample database provided by Microsoft Business Solutions.

First, all phone numbers in Microsoft CRM get inserted into the database exactly as you've entered them on the screen. Although that might seem obvious, consider the example of a phone number typed in as (404) 867-5309. The entire string, including the parentheses, will be included in the field. If at some point you want to perform a search on all Contacts with business phone numbers in the 404 area code, you will most likely need to search for business phone numbers that begin with "404" and "(404". The moral of the story is to promote consistency in data entry, while at the same time assuming that users will not be consistent.

Another detail worth mentioning is that the State/Province field is a free text (string) field and is not validated against a list of valid states or provinces based on the country selected. This is not a big issue, but again, you will want to promote consistency in how data is entered so that any searches you do will be as accurate as possible. Without standards, some users will enter the two-character state code (GA), whereas others might enter the full state name (Georgia).

Each Contact record can have multiple Addresses, Sales Opportunities, Service Cases, Activities, Notes, and Contracts. Contacts are associated with a single price list, which will become the default price list on any Sales Opportunities attached to that Account. Price Lists are discussed in Chapter 5, "Setting up Microsoft CRM."

Figure 4.13. The General tab of the Contact screen.

Contact Status

All Microsoft CRM objects have an internal status, which can be viewed in the lower-left corner of the object screen. In the case of Contact, there are two possible values: Active and Inactive. By default Contact records are Active until a user or process deactivates them. Selecting Deactivate Contact from the Contact's Actions menu can deactivate contacts (and many other record types). Deactivated Contacts will be in the Inactive status and can be viewed by selecting the Inactive Contacts view in the upper-right corner of the Contacts list view. Views will be covered in more detail in Chapter 6, "Homepage, Workplace, and Navigation." For more detail on object statuses, refer to Chapter 12, "Workflow."

eResources

On the Contact screen, as well as on the Lead and Account screens, there is a menu titled eResources. This menu lists Web sites that can be launched from Microsoft CRM. However, instead of simply launching the Web sites, these links take data about the Contact in question and pass that data into the Universal Resource Locator's (URL) of the Web sites being called. Figure 4.14 depicts the eResources menu options on the Contact screen. The power of the eResources menu is tremendous, but the menu options are preset and cannot be changed using the Microsoft CRM configuration tools. For an example of how to create your own eResource type customization, refer to Chapter 14, "Customizing Microsoft CRM."

Figure 4.14. How Microsoft CRM enables you to pass Contact data into a Web URL using the eResources link.

The eResource concept of, for example, taking a zip code from your CRM record and passing it into a weather Web site is interesting, but let's take this concept a step further. Suppose your company has an application that is used to track billing information on your Contacts. If that application has some sort of Web interface, you could create a custom field on the Contact screen to house the Contact's ID from that system and also create an eResources link to call the appropriate URL of that system and pass it the Contact's ID. It would be similar (yet less irritating) to shouting over your cube wall to the Billing department and asking for the billing history on Contact 12D45. Further, if the other system supports Windows integrated security, the Web page could launch and let the user access it without asking them for a password. This is very simple integration at the user interface level. Very little data must be synchronized between the two systems, yet they can work together as if they were one. By implementing this concept, your CRM has become a portal through which your users can access all other systems, which contain data about your Leads, Contacts, and Accounts.

Accounts

Accounts represent companies, organizations, or entities. They can be your customers, partners, vendors, and so on. As with Contacts, determining the various types of Accounts should be your first priority. The Relationship Type field can be used for this with the caveat that it only allows for a single value selection. You will want to add additional fields if Accounts can be classified as more than one type (for example, a partner that is also a customer). Figure 4.15 shows the Microsoft CRM Account screen.

Figure 4.15. The General tab of the Account screen.

Each Account record can have multiple Addresses, Sales Opportunities, Service Cases, Activities, Sub-Accounts (for unlimited Parent/Child linking), Contacts, Notes, and Contracts. Accounts can have only one Primary Contact and one Parent Account. Like Contacts, each Account is linked to a Price List, which becomes the default Price List on any Sales Opportunities that are attached to that Account.

Accounts, like Contacts, have an eResources menu and an Account Status field, which can be Active or Inactive.


Use Case Corner—Expediting Activity Record Creation

As we mentioned earlier, Activities, not Notes, are what we will use to track our ongoing conversations with our prospects and customers. Let's take a look at how we can properly use these in our daily interactions.

In our first example, let's assume the role of a Customer Service representative who has just taken a call from a customer with an open Service Case. In this example, the company providing the service does business at the B2B level, so an Account record parents the Case record.

Upon finding the proper Case record, the user takes the call and documents the details in a Phone Activity, shown in Figure 4.16.

Figure 4.16. A Phone Activity related to a Service Case.

We will set the Activity's "direction" field to Incoming and we'll make sure we have the correct values for call initiator and call recipient. We'll give the Activity a brief description and enter the notes related to our conversation. Then, we will need to save the call record and select Close Phone Call from the Activity's Action menu to move the Activity to the History tab.

If these steps seem like altogether too much work for us we can expedite the process with some relatively simple code level customization. Because we have the entire Microsoft CRM object model at our disposal, we can create a button on the Case record to automatically create a Phone Activity record. Refer to Figure 4.17.

Figure 4.17. A customized Quick Call button on the Case record.

Imagine that clicking the Quick Call button pops a simple screen with only a place for notes and a save button. The code behind the save button would take care of defaulting the other fields to some predetermined values as well as saving and closing out the Activity. This customization would save time by allowing us to skip over fields that we did not want to enter.

We'll go into more detail on these types of customizations in Chapter 14. For now, just be aware that if there are processes in the system you would like to modify or expedite, there are options to do so.


Summary

CRM Systems are designed to track and analyze data relating to your customers and your organization's interactions with your customers. In doing this, CRM systems facilitate the every day tasks that make up the user's job. Microsoft CRM was specifically designed to improve business productivity, provide low total cost of ownership, and integrate powerfully to a company's existing applications.

Microsoft CRM Version 1.0 has surprisingly deep functionality for a first-release product. It is offered in various configurations and editions with functionality centered on Sales Force Automation, Customer Service, "lite" Marketing and Reporting.

Microsoft CRM provides two user interfaces that can be used to access the system. The Web interface is accessible through a Web browser and requires no additional client software installation. The Microsoft CRM for Sales Outlook interface requires Microsoft Outlook and an additional component install, and provides the capability for the user to work offline with a subset of the corporate CRM database. Developers can leverage the Microsoft CRM platform to create new interfaces and to enable Web sites and applications to integrate with Microsoft CRM's application programming interface. Microsoft CRM is sold on a named user basis requiring each user to have an assigned license.

Key concepts found throughout Microsoft CRM are Leads, Contacts, Accounts, Opportunities, Cases, Activities, Notes, Products, and Subjects. Each of these record types is integral to building a complete view of a customer.


Chapter 5. Setting Up Microsoft CRM

In this chapter

Arriving at Consensus

Global Settings

Microsoft CRM Organization Structure and Security

Delete Versus Deactivate

Microsoft CRM, Exchange Server, and Active Directory

The Mircosoft CRM Exchange Connector

Owners, Assignment, and Sharing

Subject Hierarchy in Microsoft CRM

Product Catalog

Template Manager

Use Case Corner

Summary

This chapter deals with setting up Microsoft CRM at the organizational level. For information about how to set user options, refer to Chapter 6, "Homepage, Workplace, and Navigation."

Microsoft CRM marketing talked about how it requires little setup time and has a low need for consulting. However, those who have been involved in CRM projects know that a lot needs to happen outside of the actual CRM product to make the initiative as a whole successful. This is not to say that CRM projects need to be lengthy and expensive, rather it is important to understand that implementing CRM is about more than installing a software package. CRM projects by and large involve organizational change, process refinement, and the integration of multiple technologies. Just because the software is easy to use doesn't mean you can install it and go.

All this is leading to the fact that, as with all things in life, it pays to involve trained, experienced resources that have been through CRM implementations. On that note, think of this chapter as a guide to help you become organized when working with a trained consultant to implement your system. We'll review the data you need to gather for your implementation as well as how to set it up in the system. Throughout the chapter we'll sprinkle in design considerations and their possible repercussions.


Arriving at Consensus

An important factor to consider when embarking on your CRM project is the dynamics inherent in implementing an enterprise application. To illustrate this, consider a scenario where a single individual purchases a low-end contact management product for his/her personal use. In using this product the individual would have to make decisions about values of custom fields and how he/she would plan to use certain functions. Perhaps there is a priority field on the Lead records. The user would certainly develop some convention, albeit informal, to use in defining the options for that field. Now, think through these same scenarios where the package will be used by dozens, perhaps hundreds, of users. There must be some agreement about how to use custom fields and how to define existing ones. In some cases, standard fields will not be used or needed. These decisions affect all users of the system, so their needs must be considered.

Here are two suggestions to ensure that the system is put in place so that it will, as much as possible, serve the needs of all involved groups. First, form a steering committee where at least one key person (a system champion) from each business area is involved. This committee will be present at project status meetings to hear about issues related to the implementation and will understand the overall impact.

Having the different areas involved ensures that one person's needs don't trample another person's. The steering committee should continue to evaluate the system, and its modifications, after the initial implementation. CRM must continually evolve as your business evolves. The second recommendation is that during the project you hold at least two prototype meetings. These meetings involve showing an actual representation of the system so that the steering committee, as well as a larger group of potential users, will be able to see the system and offer feedback.

Always keep in mind that there are psychological implications of implementing a new system, especially CRM. If one of your business objectives is to have accurate sales forecasts, then it stands to reason that if even one salesperson resists entering their opportunity and forecast information, the forecast will not be accurate. In short, you are requiring those users to use the system. It will be much easier to get users to buy-in to the system if you have involved them in the process along the way as opposed to simply dropping it on them at the end.

Regardless of what you might have heard, Microsoft CRM is not something you just install and start using. As with any system, there are a lot of areas where the involved groups will need to agree on how they want things set up. The best advice is to take advantage of the knowledge of certified professionals.


Global Settings

Let's start by making some high-level decisions that will affect the system as a whole. Navigate to the System Customization section under the Settings Sub-Area and you will find three common tasks—System Settings, Auto-Numbering, and Fiscal Year Settings. These three tasks are grouped together in the Task Box section of the System Customization page. If you cannot see the Setting tab on the Home area's left navigation bar, this means you are not set up as a System Administrator. Global Settings are typically managed by the System Administrator.

System Settings

Figure 5.1 shows the System Setting screen. These settings deal with how users will see name, number, currency, and calendar settings. In Version 1.0 this information is global, so if you have users of mixed nationality, you will need to make all users aware of the conventions you choose. Microsoft CRM will not look at the user's Culture or Regional Settings as set on their computer.

Figure 5.1. System Settings screen.

NOTE

With Microsoft's acquisition of Navision, a European publisher of business software, increased focus has been put on internationalized versions of Microsoft CRM. Foreign language releases of Microsoft CRM are scheduled to ship soon after Version 1.0 and improvements in internationalization are planned.

Auto-Numbering

Auto-Numbering gives the administrator control over how the system will automatically assign identification values to Contracts, Cases, KB Articles, Quotes, Orders, and Invoices. All these record types can be prefixed with a common, administrator-defined prefix, which will be immediately followed by a system generated, auto-incrementing identification number. Quotes, Orders, and Invoices will also be followed with a dash, and then a suffix of 4, 5, or 6 characters in length as selected here by the administrator. This suffix is randomly generated and serves the purpose of avoiding identity conflicts because Quotes, Orders, and Invoices can be created "offline" with the Microsoft CRM Outlook client.

NOTE

Curious administrators who crack open the CRM database will see that all records in the system have a very long identifying string associated with them. This string is system generated by SQL Server and is known as a GUID or Global Unique Identifier. They look like {63112A23-5097-4375-BFAF-A54284E1F8E2} and are, theoretically, globally unique. GUIDs are used in Microsoft CRM because they are required for SQL Server replication, the mechanism that enables users of the Outlook client to synchronize a subset of records for use when not connected to the network.

Fiscal Year Settings

Fiscal year settings enable the administrator to set when the fiscal year starts and how the organization arranges the fiscal year. In addition, these setting determine how the fiscal year information will be displayed in reports as well as in other parts of the application. These settings are shown in Figure 5.2.

Figure 5.2. Fiscal Year Settings screen.

It is important to note that Fiscal Year settings can only be set once. After they are set, they become read-only. Figure 5.3 shows the warning the user receives upon saving the Fiscal Year settings.

Figure 5.3. Fiscal Year settings can only be set once.

    [ Team LiB ]


Microsoft CRM Organization Structure and Security

Understanding Microsoft CRM security is crucial to setting up your implementation in a manner that will provide your needed functionality. Security in Microsoft CRM is set up under the Business Unit Settings section of the Settings tab in the Web Client. The actual mechanics of setting up security are very straightforward once you understand the concepts. Figure 5.4 shows the options available under the Business Unit Settings area.

Figure 5.4. Microsoft CRM Business Unit Settings.

Microsoft CRM's security model impacts all areas of Microsoft CRM. For example, the results that a user sees in reports are governed by that user's security settings. By running all operations through a single security model, Microsoft has eliminated the situation whereby users can bypass the security model to gain access to unauthorized data.

The concepts that make up the Microsoft CRM security model are

  • Organization

  • Business Units

  • Teams

  • Users

  • Privileges

  • Access Levels

  • Roles

  • Queues

  • Quotas

When Microsoft CRM is installed, an Organization name must be provided. This becomes the top-level Business Unit to which all other Business Units are directly, or indirectly, linked. It is the only Business Unit that does not have a parent. All other Business Units must have one, and only one, parent. Figure 5.5 illustrates an Organization hierarchy.

Figure 5.5. The Microsoft CRM Organization Hierarchy.

Users and Teams

Users are assigned to one and only one Business Unit, but can be assigned multiple roles. Users can be disabled and only active users can log in to the system; users cannot be deleted. Disabling a user enables you to keep track of historical information when a user has left the company. A user can also be disabled temporarily in the case where the user is on vacation and you want to remove her from workflow processes. Keep in mind that simply disabling a user will not release the use of their license. You must go into the Licenses tab of the User record if you want to remove the license and give it to someone else.

Teams are ad hoc groups of users and are created to facilitate information sharing. Figure 5.6 shows a team being setup in Microsoft CRM.

Figure 5.6. Setting up a Team in Microsoft CRM.

Teams cannot be owners of records (i.e., it is not possible to assign a record to a Team), but records can be shared with Teams. Teams can include users from business units other than the team's business unit. Teams can be used to group those users working together on a large opportunity or to delineate regional sales groups. Keep in mind that teams do not have a relationship to access levels as business units do.

NOTE

Teams can be great structures to organize ad hoc groups of users for things such as a large opportunity pursuit team. However, this structure lacks the capability to show each user's role with respect to the opportunity in question. Ideally, Microsoft will add the capability to link users to other records and to specify their relationship to that record. For example, it would be very helpful to be able to link an Account's Sales Representative and Service Representative to the Account record so that other users can see who is playing what role with respect to the Account.

Privileges and Access Levels

Privileges represent a user's ability to do something. For example, creating a Contact or deleting an Account are privileges. The standard Microsoft CRM objects have eight privileges; create, read, write, delete, share, assign, append, and append to. Some objects have nonstandard privileges. For example, the quote, order, and invoice objects have an OverridePriceEngine privilege and the Business Unit object has a ReParent privilege. Some objects do not have certain standard privileges. For example, because Products cannot be assigned or shared, they do not have the assign or share privileges. Table 5.1 later in this chapter defines some of the more common privileges.

Figure 5.7 shows the five Microsoft CRM Access Levels. Access Levels define the scope of where a user can exercise her privileges. For example, you might give a user access to create Contacts only in their Business Unit, or across all Business Units. Microsoft CRM defines five access levels:

  • None (None Selected)

  • Basic (User)

  • Local (Business Unit)

  • Deep (Parent: Child Business Units)

  • Global (Organization)

Figure 5.7. Microsoft CRM Access Levels.

A user with no (none) access to a privilege cannot exercise that privilege. For example, if a user has none access to the Read Contact privilege, that user will never see a Contact record: not on a screen, not in a report, nowhere. A user with basic access level for a certain privilege can exercise that privilege only on records specifically assigned to them or specifically shared with them. Keep in mind that the ability to share records is also a privilege, so you can set who can share records and within what access level.

A user with local access for a privilege can exercise that privilege only within the current business unit. So, for example, if a user with local access to view Accounts selects the All Accounts view, she will only be able to see all Accounts in her Business Unit. To see all Accounts in the current Business Unit as well as any child business units, the user needs Deep access for the privilege. Deep simply refers to the current Business Unit and below. Finally, Global access to a privilege gives the user the ability to exercise a privilege on any record in the entire organization.

Business Units

Now that you understand Access Levels, let's return briefly to Business Units. Because Access Levels are built around a hierarchy of Users, Business Units, and the Organization as a whole, this should be considered when determining how to define your Business Units. This is important because the phrase Business Unit might evoke images of large organizational units such as divisions and subsidiaries. In fact, you might want to forget the traditional meaning of the phrase Business Unit entirely and think of Microsoft CRM Business Units as a way to structure your teams from the top level Organization all the way down to the individual sales and support teams. Many CRM systems refer to this as User Groups, and it might help to think of Business Units this way. The key is to remember the User, Local, Deep, and Global Access Levels as you define your organizational hierarchy. Typically, the best way to organize your Business Units is to make the mirror the actual reporting structure of the company.

A very important consideration when structuring Business Units is whether you plan to deploy the Microsoft CRM Sales for Outlook client. By default, the Outlook client will synchronize all records in the user's Business Unit and to which the user has access. This means that if you wanted to have only one Business Unit for simplicity and you set up no record access restrictions, all Outlook client users would be forced to synchronize all records in the database. That could get very ugly as data volumes grow. If the Outlook client is in your future, be sure and review chapter 8, "Microsoft CRM Sales for Outlook," prior to setting up your Business Units.

The organizational structure of Users and Business Units created in Microsoft CRM can be reorganized by simply changing the parent Business Unit to which a Business Unit reports. By reparenting a Business Unit, you are also moving any Business Units that roll up to it. The only Business Unit you cannot reparent is the top level Business Unit, also known as the Organization name.

You can also delete and disable Business Units. When you delete a Business Unit, you are deleting all its users, customer information, and activities as well as any child Business Units and their users, customer information, and activities. As you'll learn shortly, the records only become marked for deletion and will only be physically deleted from the database if the administrator has enabled Microsoft CRM's deletion service. Regardless of this, when a record is "deleted" through the Microsoft CRM interface it will no longer be visible to the users.

Disabling a Business Unit leaves its structure intact although the Business Unit has temporarily or permanently ceased operation. One area where this can be helpful is if you are planning a merger, acquisition, or reorganization and want to build out the organizational structure before actually exposing it to the users. You could create new Business Units and disable them until they are needed. Keep in mind that when you disable a Business Unit, its users will not be able to log in to Microsoft CRM or access their CRM data.

Roles

Roles are groupings of Privileges along with the Access Levels granted for each privilege. Users are assigned to roles, and the users inherit the privileges and access levels outlined in their assigned roles. Users can be assigned to multiple roles and, when privilege conflicts are encountered, the least restrictive access level will be applied. For example, if a user belongs to one role that allows her to delete Accounts at the Organizational level and one role that only allows her to delete Accounts at the Local level, she will be able to delete Accounts at the Organization level. Figure 5.8 illustrates a custom role with limited privileges.

Figure 5.8. A custom telesales role giving local read and write access to lead records only.

For the purposes of creating and modifying roles, Microsoft CRM divides record types into the following groups:

  • Core Records

  • Sales

  • Service

  • Business Management

Core records are records that a user will work with regardless of the configuration she is using. Sales and Service records pertain to records specific to those areas. Business Management covers setting up users, roles, and so on. When setting the Access Level for each record type, a combination of the privileges shown in Table 5.1 are available:

Table 5.1. Microsoft CRM Privileges

Privilege

Definition

Append

The capability to add other records to the record in question. For example, a Note can be added to a Contact if the user has Append rights on the Contact.

Append To

Append To does the opposite of Append. With Append To, the record in question can be appended to, or attached to, another record. For example, a Note can be attached to a Contact if the user has Append To rights on the Note. You can also think of Append To as Attach.

Assign

The capability to change the owner of a record.

Create

The capability to insert a new record.

Delete

The capability to delete records (see the section titled "Delete Versus Deactivate" later in this chapter).

Enable/Disable

Relevant only to Business Units and Users. This privilege enables the user to turn entire Business Units on and off.

Read

The capability to view and own a record

Reparent

Relevant only to Business Units and Users. This is the act of changing a Business Unit's parent Business Unit. This is, in effect, a reorganization of the organizational structure.

Share

The capability to allow other users to have access to the record.

Write

The capability to update or modify a record (includes the capability to activate and deactivate records).

New roles can be built from scratch or can be copied from an existing role and modified. Microsoft CRM comes with eight standard roles, all of which can be deleted or modified. These roles are listed in Table 5.2.

Table 5.2. Predefined Roles

Role

Description

CEO-Biz Mgr

A user who manages the organization at the corporate business level.

CSR Manager

A user who manages customer service activities at the local or team level.

CSR

A customer service representative at any level.

Marketing Professional

A user engaged in marketing activities at any level.

Sales Manager

A user who manages sales activity at the local or team level.

Sales Rep

A salesperson at any level.

System Admin

A user who manages the organizational setup, business settings, and so on at the business and subbusiness level.

VP of Sales

A user who manages the business at the subbusiness level.

TIP

One thing to keep in mind while working with users and roles is that Microsoft CRM enables you to remove all privileges from your own user account. For example, it is entirely possible to login with the administrator role, and then navigate to your user account and remove all roles. The next thing you will see is an error message telling you that you've lost all privileges.

The Microsoft CRM predefined roles have very liberal read access rights. Despite people's initial reactions to this concept, open access to data is really a good thing. When discussing CRM with a company that has never had a true CRM system, one of the common discussions that surfaces early centers around what users should be able to see what information. The concept of CRM is one of information sharing and keeping everyone in the loop, so locking records down naturally makes this information sharing difficult. In fact, in our experience there have been very few cases where there is a justified business need to hide information from users. Some of these are

  • When working with a contractor doing telemarketing, it can make sense to limit their access to only the records to which they are placing calls.

  • Some Financial Services firms that deal with mergers and acquisitions or initial pubic offerings might have a legal obligation to limit access to certain records.

  • Some companies have divisions with very different business lines serving distinct customer segments and information sharing might actually cause confusion or clutter.

Other arguments for open access to data center around the need to let the users of the data keep it clean and updated. One of the biggest issues around CRM data has to do with its cleanliness, accuracy, and integrity. Because CRM data can and should include prospects, customers, vendors, suppliers, and so on the amount of data can grow rapidly. The only way to ensure that the data is up to date and as free as possible from duplicate records is to empower the people using that data daily to keep it clean. Obviously, this cannot be done without the proper access.

Queues

Microsoft CRM uses the concept of Queues with respect to Activities and Service Cases. Queues are simply a place to park Cases or Activities for review by a User or workflow process. Sales Opportunities cannot be assigned to Queues.

Unlike Teams, Queues do not have members and, therefore, cannot share records like Teams can. However, Queues are associated with an owner and an email address and single and bulk emails can be sent from Queues. This can be helpful if you want to send out emails from a generic email alias (for example, info@domain.com) instead of a specific user. Figure 5.9 shows a queue designed for sending emails.

Figure 5.9. A queue for use in sending emails.

In addition to sending email, Queues can also be configured to receive emails. To enable this, the queue must have a specially configured disabled user in Active Directory. The user must be created and then a mailbox must be created for the user before the user is disabled. The user must have one of the 15 extended Active Directory attributes set to CrmEmailEnabled for the Queue to receive email.

Microsoft CRM Email configuration in-depth

If you go to the Microsoft CRM tools menu, select "Options" and then go to the Activities tab you will see a setting titled as "Convert incoming email." This is illustrated in Figure 5.10. The setting has two options:

  • All incoming email (Requires additional configuration on the server)

  • Only email about existing Microsoft CRM records

Figure 5.10. Configuring incoming email behavior for the active user.

The Microsoft CRM Email connector (an option provided when you install the Microsoft CRM server) installs a service called the Microsoft CRM Exchange Queue service. The role of this service is to monitor incoming email and determine which emails are related to Microsoft CRM. Once the service determines that an email is related to Microsoft CRM, it converts the email into Microsoft CRM as an email activity record. There are two ways that the service will determine that an email should be converted into Microsoft CRM. These are

  • The connector determines that the email originated from Microsoft CRM

  • The recipient's mailbox has been configured to receive all incoming emails into Microsoft CRM regardless of whether they originated from Microsoft CRM

In the first case, the Microsoft CRM Exchange Queue service can tell if an email originated from Microsoft CRM if the email has a GUID (globally unique identifier) appended to the email's subject line. By default, Microsoft CRM adds this GUID to emails so that it will be able to associate the email with the object (case, opportunity, etc.) from which it originated. Without the GUID, the Exchange Queue service will not know that the email originated from Microsoft CRM, therefore it will not convert the email into a Microsoft CRM activity. Many users of Microsoft CRM complained that the GUID appended to the subject line of Microsoft CRM emails looked bad and even caused problems with email systems that mistook GUID appended emails as spam. Microsoft responded to these complaints with an update (TK29660) that disables the GUID. This update turns off the GUID which, in turn, means that email activities will not be tracked to their originating crm object. While the update solves the problem of having the GUID appear in the subject line, it also eliminates the tracking functionality that the GUID is intended to provide. If you have applied this update to disable the GUID and later want to turn it back on, you may re-enable the GUID by simply setting the MessageTagBehavior value in the Exchange server's HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM key to "1". A value of "0" in this key means the GUID is disabled and will not be appended.

When the GUID is disabled, no emails will be converted into Microsoft CRM activities unless you have selected the first option in Figure 5.10 ("all incoming email") for specific users and have done the appropriate server configuration as the option suggests. This additional server configuration involves setting one of the active user's 15 Exchange Custom Attributes to "CRMEmailEnabled" for the users as pictured in Figure 5.11. Having this attribute set tells the Exchange queue service to convert all of the user's incoming email into Microsoft CRM activities regardless of whether the GUID is present or not.

Figure 5.11. Setting a custom Exchange attribute tells the Exchange queue service to convert all incoming email into Microsoft CRM activities.

To set a user's custom exchange attribute to CRMEmailEnabled, go to the user's properties screen in Active Directory Users and Computers and click the Custom Attributes button on the Exchange Advanced tab. If you do not see the Exchange Advanced tab, go to the Active Directory Users and Computers view menu and select Advanced Features.

When all emails are converted into Microsoft CRM email activities, these activities will be attached to CRM records where matching email addresses can be found and resolved. If no matching emails are resolved, the emails will still be converted into activities and the user must then resolve the email addresses and/or link the emails to other CRM objects through the email activity "regarding" field.

Converting all emails into Microsoft CRM activities will result in emails that are totally unrelated to CRM being converted into CRM activities. While this will likely not be what you want for regular users, it may be appropriate for queues. Since queues can be associated with exchange email aliases, you might want all email sent to those queues/aliases to be automatically converted into Microsoft CRM activities even when the emails did not originate from Microsoft CRM. A good example of this is the inbound support alias (support@domain.com) for companies that support products. Having support emails go directly into a queue will allow your support representatives to retrieve those emails directly from the queue and attach them to Case records.

To set up a queue to receive all inbound emails, you must create the user, set one of its Exchange custom attributes to CRMEmailEnabled and then create a queue with that email alias. A detailed set of instructions on how to do this can be found on Microsoft Business Solutions PartnerSource and CustomerSource techknowledge (available to Microsoft CRM partners and customers) in document 30150.

Quotas

The Salespeople with Quotas section enables you to assign quotas to salespeople based on the fiscal periods set under Fiscal Year settings. Figure 5.12 shows the quotas screen for an Organization using a calendar year fiscal period grouped by quarters.

Figure 5.12. Setting a user's quarterly sales quota for 2003.

The quota information is used in the standard Microsoft CRM reports.


Delete Versus Deactivate

Neither the Delete nor the Deactivate functions in Microsoft CRM physically delete the record in question from the CRM database. A separate Windows 2000 service, the Microsoft CRM Deletion Service, monitors tables to find records marked for deletion and then performs the physical deletion. This service looks for records marked for deletion every two hours and can be turned off if physical deletion is not desired. Both the deletion and deactivation commands simply change the value of the field named DeletionStateCode in the underlying database table so that the user will no longer see this record. This is what is known as a logical deletion. The Delete function logically deletes the record in question as well as all of its child records (opportunities, notes, activities, and so on). The Deactivate function only logically deletes the record in question in certain views. Deactivated records can be seen by selecting the inactive records view from view control. However, they won't show up in searches or in other views.

The three possible values for the DeletionStateCode field are

  • 0: The record is active

  • 1: The record has been deactivated

  • 2: The record has been deleted

When a record with children records is deleted, the DeletionStateCode for the record and its children are set to a value of 2.

NOTE

You will see the terms Disable/Enable and Deactivate/Activate in Microsoft CRM. They are essentially the same concept, but the terms Disable/Enable are used with Users and Business Units (internal records), whereas the terms Deactivate/Activate are used with customer/prospect records including with Leads, Contacts, Accounts, and so on.


Microsoft CRM, Exchange Server, and Active Directory

Microsoft CRM's email integration (the Exchange Connector) is designed to work with the latest version of Microsoft's email server, Microsoft Exchange 2000. In earlier versions of Exchange, users were organized separately between Windows and Exchange. With Exchange 2000 and Active Directory 2000, you set up one organization, therefore you do not have to create users in two different places. After you set up a user in Active Directory, you are asked if you want to give that user a mailbox in Exchange.

For those readers not familiar with Active Directory, think of it as a database used to organize all the resources in the organization. Resources can be users, printers, servers, and so on. Active Directory keeps track of these resources as well as the relationships and access rights between resources. Active Directory is the "big brother" that knows who can get into what and when.

Like Exchange 2000, Microsoft CRM uses Active Directory for its user base. To gain access to Microsoft CRM you must be a user in Active Directory. From there you are assigned Microsoft CRM Roles and given a license to use Microsoft CRM. After you've logged on to your network, you will not need to logon to Microsoft CRM again. Your Active Directory user profile stored the roles you have access to in CRM. This is the main idea behind Active Directory and what is known as Windows authentication. Rather than having different usernames and passwords for every application you use, your access to all applications is associated with your Active Directory user profile.

It's important to note that Microsoft CRM requires a Native mode active directory tree as opposed to a Mixed-mode tree. This is important because Native mode is not compatible with the Windows NT 4 operating system. Therefore, all of an organization's servers must be running Windows 2000 to run Active Directory in Native mode. An alternative to upgrading all servers to Windows 2000 is to create a separate Active Directory tree specifically for Microsoft CRM. You can then create a trust relationship between the main Active Directory tree and the new Native Active Directory tree.

NOTE

Active Directory studs will be quick to ask the question, "does Microsoft CRM extend the Active Directory schema?" The answer is no. Active Directory is simply housing the CRM roles and Organization units.

Microsoft CRM's Deployment Manager tool includes a wizard for adding users to CRM. This tool, called User Manager, enables an administrator to select an Active Directory user and assign it roles and a business unit in Microsoft CRM. Microsoft CRM users can also be created directly in the Microsoft CRM Web client. However, this method does not allow the direct selection of Active Directory users. Figure 5.13 shows the CRM user creation wizard. Deployment Manager is covered in Chapter 11, "Configuring Microsoft CRM."

Figure 5.13. The Microsoft CRM User Creation Wizard.

    [ Team LiB ]


The Microsoft CRM Exchange Connector

We've already discussed how email Activities can be created and sent from within Microsoft CRM. Microsoft CRM provides additional functionality with respect to inbound emails that are replies to emails sent from Microsoft CRM. This functionality is provided through the Microsoft CRM Exchange connector.

When an email is sent from Microsoft CRM, a GUID (globally unique identifier) is attached to the email. When the recipient of the email replies to the email, the GUID is also included in the reply. When the reply returns to the Exchange server from which it was sent, the Microsoft CRM Exchange connector, which is monitoring incoming email, identifies the email by the GUID and then matches the GUID to the corresponding CRM object. The connector then attaches the email to the object (as an email Activity) and links it to the Workplace Email personal work queue in Microsoft CRM. This personal work queue can be though of as the user's Microsoft CRM inbox. It is covered in more detail in the following chapter.

Using Microsft CRM with the Exchange connector, all emails related to a CRM object can be autmotically captured in Microsoft CRM and attached to the object from which they originated. There is no need to copy and paste from emails to notes fields. In fact, the Microsoft CRM for Sales Outlook client even provides the ability to promote an email to a Microsoft CRM Activity should the email be related to a CRM object but was not originated from that object.

At times, the Microsoft CRM Exchange connector might not be able to recognize a sender's email's address. For example, a user could initiate an email from Microsoft CRM, and the recipient could reply from an address other than the address in the user's CRM system. In this case, the connector converts the email to a Microsoft CRM Activity, but the address remains unresolved. This is illustrated in Figure 5.14.

Figure 5.14. An unresolved email address.

When the user clicks on the unresolved email address, he is presented with a screen enabling him to resolve the address to an existing record, or quickly create a new record with which to resolve the address. The email Activity is then linked to the record the user selected or created. Figure 5.15 shows the address resolution screen.

Figure 5.15. Resolving an email address.

It is feasible that an organization could give users access to the Microsoft CRM Web client with no separate email client application. The users could manage all email exclusively through the Microsoft CRM Web client as long as their email was limited to CRM objects. Since users generally use email for more than business correspondence, this might prove difficult to implement. However, in the scenario of a contract telesales, marketing or technical support resource, this could be the ideal setup.


Owners, Assignment, and Sharing

These three concepts can get fairly confusing if you think about them too hard. They are, however, actually really quite simple. An Owner of a record is the key User associated with that record. By default, the Owner will be the User who created the record. Not all records have Owners; for example, in the Sales area Products and Competitors don't have owners. However, Leads, Opportunities, Accounts, Contacts, Quotes, Orders, and Invoices do. Sales Literature records don't have Owners per se, but they do have an Employee Contact, which represents the User for maintaining that content. Most records can be owned by a User.

Records in Microsoft CRM have one and only one Owner at any given time. You can change the owner of a record by assigning it to a new Owner (if you have the privilege to do so), but it will always have only one Owner. So, the Owner is the same as the person to whom the record is assigned. Any number of users can be given access to the record through Sharing. When you share a record, you are adding the user(s) to a list of users with whom the record is shared. The list of who the record has been shared with can be found under the record's Actions menu by clicking Sharing. Records can also be shared with Teams. Teams are groups of users.

NOTE

On the Administration tab of many of the records it appears that you can click the magnifying glass (look up icon) next to the owner's name to assign a new owner to the record. However, this is not the case. You actually have to use the Assign option on the Actions menus.

Sharing records is a privilege that is dependent on the user's role. When you share a record, you are presented with options to determine the amount of control the user will have over the record. This is illustrated in Figure 5.16.

Figure 5.16. Sharing a contact record with a User.

    [ Team LiB ]


Subject Hierarchy in Microsoft CRM

Microsoft CRM introduces the concept of Subjects as a way of organizing aspects of your CRM data. Subjects are built in a hierarchy and can be associated with Products, Service Cases, Sales Literature, and Knowledge Base articles. These are shown in Figure 5.17.

Figure 5.17. The Subject Hierarchy in Subject Manager.

As discussed in the last chapter, Subjects can allow you to associate Cases, Literature, and Knowledgebase articles with a product line without having to drill down to a particular product version or SKU. Additionally, Subjects provides an organizational structure for concepts and/or issues that are operational rather than product or service oriented. When developing your Subject hierarchy, consider your product and service hierarchy as well as the hierarchy of issues for which you will be creating Service Cases and Knowledgebase articles. In this respect, you might think of Subjects as your Service Case types. Another way to think of them is a categorization of all the reasons that will lead you to interact with your customer. For example, to organize the types of Service Cases you are creating, you might want to create subjects called collections, project, product enhancement, product defect, and so on. Cases used to track the collection of a past due amount would be associated with the collections subject while Cases used to track the installation/implementation of your product would associated with the project subject.


Product Catalog

The Product Catalog refers to all the items your company sells. In addition to a list of the items themselves, the catalog includes prices, discounts schedules, and units of measure. In fact, when setting up the Product Catalog in Microsoft CRM, you will set up four components in the following sequence:

  • Discount Lists

  • Unit Groups

  • Price Lists

  • Products

  • Kit Products

These four options are available by navigating to the Product Catalog section from the Settings Tab.

TIP

If you are integrating Microsoft CRM with your company's Great Plains Accounting system, you will need to synchronize your Great Plains Product Catalog to your Microsoft CRM Product Catalog. The catalog is then mastered in Great Plains. This means that all additions and changes to the catalog must take place in Great Plains, not in CRM.

Discount Lists

Discount Lists might make more sense if you think of them as Discount Schedules. They are, in fact, schedules of the discounts that you would like to be automatically applied based on quantities of items sold. The discounts can be set up as percentages or as amounts in cases when you want to state specific prices, as shown in Figure 5.18.

Figure 5.18. Setting up a Discount List.

Discount Lists are associated with Price List Items, as shown in Figure 5.19. Price List Items are items (Products or Services) that have been added to a price list. Discount Lists are never required, but can be used in the case when you need to apply volume discounting on a certain item or items when a specific Price List is used.

Figure 5.19. Discount Lists can be associated with Products on a Price List.

Unit Groups

Unit Groups are simply hierarchies of units of measure. For example, if you sell beer by the six pack, twelve pack, or the case, you would have a base unit of a single beer, and then a unit of measure called twelve pack, which would consist of twelve beers. You might also have a case unit of measure that would consist of 24 beers, or four six packs, depending on how you actually packaged the product. The combination of these four units of measure is the Unit Group. Each Product must have a Unit Group assigned so the system will know how to measure its quantity on Sales Opportunities, Quotes, Orders, and Invoices. See Figure 5.20.

Figure 5.20. Each Product must be assigned a Unit Group.

Price Lists

Price Lists are groups of Products with potentially different prices from the Product's list price. Price Lists give you the ability to create specialized pricing down to a very granular level. You can, if it makes sense, create price lists by customer. Or, if your prices don't vary, you can use one price list for all customers. Price Lists come into play when setting up Sales Opportunities, Quotes, Orders, or Invoices. Each of these must be assigned a Price List so that the system knows what to charge for the Products in question, as shown in Figure 5.21. In fact, you will not be allowed to add Products to a Sales Opportunity, Quote, Order, or Invoice if you have not assigned a Price List.

Figure 5.21. Opportunities, Quotes, Orders, and Invoices must be assigned a Price List.

Products

Products are just what you'd expect. They are records that represent items you sell on a repetitive basis. The reason we say repetitive here is because Microsoft CRM also gives you the opportunity to create write in products on-the-fly as you create Quotes, Orders, and Invoices.

NOTE

For some reason (probably an oversight) Microsoft CRM does not include the capability to add write-in products to Sales Opportunities. This is inconsistent with Quotes, Orders, and Invoices and will likely be added in a future release.

Write-in products are used to add products that do not need to be part of the master product catalog. However, here we will discuss the Products you set up in the Product Catalog. Let's start by navigating to the Settings tab—Product Catalog section, Products section and opening a Product record, as shown in Figure 5.22.

Figure 5.22. The Product Screen.

Notice that there are several tabs along the left navigation bar of the Products screen. You'll learn about these as we go through the rest of the book, but take a look at the Substitutes tab. This tab enables you to link (Append) existing product records to the current record so your users will be aware of products that can be considered as substitutes. This can be helpful for companies that sell various competing products or when there are products that will work in place of other products when product availability is an issue.

TIP

If your company has a lot of products, consider prefixing the product name with something that will enable you to group similar products. This can be helpful because the main product lookup screen only allows you to search on the product's name and does not give you the option of browsing products by subject (subject is the main way to categorize your products).

Setting up the Product List is straightforward, but you definitely want to consider the relationship between Subjects and Products. You normally don't need your Subjects to mirror your Products and most likely will want your Subjects to be at a higher level than the Products. Think of the Product record as being as specific as possible, so you will know which customers have which exact product models or versions. Your Subjects should be at a level sufficient to enable you to capture trends across sets of similar Products. An example of this is provided in Chapter 9, "Customer Service."

Kit Products

Many companies sell combinations of their products as kits with special bundled pricing. Microsoft CRM supports this by letting you create a Product record and convert it to a kit. Enter a Product record normally, save it, and then use the Convert to Kit option on the Product's Actions menu to convert that Product to a Kit, as shown in Figure 5.23.

Figure 5.23. Converting a Product to a Kit.

After the conversion selection has been accepted, a Kit screen replaces the Product screen. The Kit screen differs from the Product screen in that it enables you to associate multiple Product line items to each Kit. See Figure 5.24.

Figure 5.24. The Kit screen enables multiple products to be bundled together with a single price.

Each Kit record has a single price that represents the price of the entire kit.


Template Manager

The Template Manager is also accessible under the Settings tab. It enables you to set up the templates you will use for Service Contracts, Email and Knowledgebase articles. We'll go over Service Contracts and Knowledgebase articles in detail in Chapter 9, so for now let's dig into email templates. Email templates are preformatted emails that can be quickly sent to one or more recipients. Email templates have the ability to merge CRM data into the body of the email.

Setting up email templates is straightforward. When you select the New Email template button you will first be asked to select a type of template to create, as shown in Figure 5.25.

Figure 5.25. The types of email templates that can be created.

The types of templates along with the associated records from which data can be merged are listed in Table 5.3.

Table 5.3. Email Template Types

Template Type

Associated Records from Which Data Can Be Merged

Global

User

Lead

User, Lead

Opportunity

User, Account, Contact, Opportunity

Account

User, Account, Contact

Contact

User, Account, Contact

Quote

User, Account, Contact, Quote

Order

User, Account, Contact, Order

Invoice

User, Account, Contact, Invoice

Case

User, Account, Contact, Case

Contract

User, Account, Contact, Contract

Note that in the case of Contact templates, the word "Contact" in the preceding table refers to the Contact itself and the word "Account" refers to the Contact's parent account. In all other cases, what the words "Account" and "Contact" refer to, depend on what the current object is linked to. "Account" may be the linked object (or the linked Contact's parent account) and "Contact" may be the linked object (or the linked Account's primary contact). For example, let's suppose we have an Opportunity template that displays the first name field on the Contact and suppose that we also have two opportunities. Opportunity A's potential customer is a Contact named Bob Jones and Opportunity B's potential Customer is ACME inc. When you highlight Opportunity A, click on "Send Direct Email," select the template, and Bob's name will be merged in the email. However, when you repeat the same operation with Opportunity B, the email will show ACME's primary contact's name.

This is excellent functionality. Imagine the scenario where you are a software company and you need to send out notices of software maintenance renewal based on the maintenance renewal date on the Service Contract. You could create a Contract email template to merge in the appropriate data points and turn this email generation into a short monthly task. Let's look at an example.

NOTE

One glitch with email templates is that the subject line you create when setting up the email template is not applied to the email when you manually insert the template into an email. It does, however, get added to emails when you use the Send Direct Email option from the Actions menu.

First, navigate to the Template Manager by clicking the Settings tab and selecting Template Manager. In Template Manager select Email Templates, and then select New Email Template. You will receive a dialog box asking you to select a template type. Select Contract and click the OK button. Now you will see the email template creation screen. Provide a title, description, and subject for your template, and then you can begin to compose the body of the email and insert merged fields. Select the Insert/Update button on the button bar of the email template and you will see the Data Field Properties dialog box, as shown in Figure 5.26.

Figure 5.26. Inserting a field into an email template.

Select the add button and you will be able to add a field to be merged. You can add several values, and then set their order of insertion using the Move Up and Move Down buttons. You can even use the "Default Text" field to include a substitute value that will be used if the merged field does not contain a value. When the email is created the system looks for a value for your highest-ranked choice first and, if a value does not exist, it will move on to the next highest ranked field. If a value cannot be found for a field you have selected and you have entered a value in the Default Text field, that default value will be merged into the email. Continue to add fields and text until the email is in the structure you desire. If you want to add a graphic to the email, open the graphic in a browser window, right-click the graphic and choose copy, and then paste the graphic into the email. With respect to adding autopopulated dates into an email, when Microsoft CRM adds date fields to emails, it inserts the date in the 2003-03-23T00:00:00-05:00 format. Although this does provide the requested information, it is not likely the date format one would prefer to read. Figure 5.27 depicts an email template for expiring Service Contracts.

Figure 5.27. An Email template for expiring Service Contracts.

In this example, I've set up an email template from the Template Manager section of the Settings tab. These templates can be thought of as System templates because they are created in Template Manager and made available to all users who have the right to create emails. Templates can also be created for use at the User level. These are referred to as Personal templates. Personal templates can be created by the user by going to the Tools menu and Selecting Options. The Email tab displays all existing personal templates and the New Email Template button enables the user to set up an email template. This is shown in Figure 5.28. From here the process is identical to that found in the Template Manager.

Figure 5.28. Creating personal email templates in the user options screen.

TIP

A personal, global email template can be used to simulate the auto-signature feature most people use with Outlook. Create the template with just the signature and then insert the template in ad hoc emails you create manually. By creating this template as global, it can be used with any CRM object.

Besides sending email to groups of Leads, Contacts, and Accounts, email templates can be used for sending single emails directly from the individual Lead, Contact, or Account record. The Use Case Corner in this chapter provides a great example of how this functionality can be used. More on Microsoft CRM's email capability will be covered in the Marketing section of Chapter 7, "Sales Force Automation."


Use Case Corner

Email templates are great for standardizing communications to groups of Leads, Contacts, and Accounts. However, they can also be used to facilitate individual communications and expedite individual processes.

Take the real-life example of the technical support department of a software company for whom I used to work. For one of their earlier products, a large percentage of the support calls they took were resolved with the user having to follow one of two standard procedures. The first was referred to as deleting locks and nets and the second, which was a running joke in the organization, was referred to as cleaning your privates. These procedures involved deleting lingering database locking files or cleaning unnecessary files from the private directory (ha, ha). In each case, a user would call in, discuss the issues they were experiencing and, after some analysis, the support technician would open a standard resolution procedure document from a share folder, paste it into an email, and send it to the person on the other end of the phone. Although the steps to get this email out the door were not tremendously time consuming, they were taking place often enough that the time added up.

With Microsoft CRM email templates, standard procedures such as these can be written into an email template, and then pulled into individual emails. Figure 5.29 shows the template creation screen.

Figure 5.29. Creating an email template for a standard process

After you've created the email template for the standard process, it's just a matter of letting the users know it exists so they can pull it into emails as the need arises. Not only will they save time, but the CRM record will be automatically updated with the email, so the resolution of the case is clearly documented. Figure 5.30 shows newly created template in an email Activity.

Figure 5.30. An email template used in a single email.

Service is not the only place where email templates can be used in this way. Standard follow-up templates for salespeople can be created to allow your sales staff to quickly and easily find contacts they have made through the course of networking. Additionally, templates can be used in Workflow processes to standardize process related communications.


Summary

Implementing CRM is about more than installing a software package. A successful CRM project requires planning, communication, and the participation of all involved parties. Because CRM is a shared corporate system, consensus must be reached among the various players.

Understanding how security and organization works in Microsoft CRM is critical to setting up your system so that it will provide the flexibility you need as you continue to expand its use further into your organization. Microsoft CRM is organized in Business Units that are made up of Users having access to system resources through a system of Roles, Privileges, and Access Levels. Microsoft CRM's tight integration with Exchange and Active Directory promote the concept of an integrated security system where applications leverage the authentication mechanism of the operating system.

Subjects and Products are keys to organizing the data in Microsoft CRM. Understanding the relationship between these concepts and the other records in the system is important in setting up your data in a logical manner.

Email templates provide a great deal of power and potential for efficiency. Templates can be created for specific objects and can merge data from the object and related objects. Templates enable you to personalize your messages, and save you time creating them.


Chapter 6. Home Page, Workplace, and Navigation

In this chapter

The Microsoft CRM Homepage

Microsoft CRM Navigation Map

Setting the Miscellaneous User Options

Microsoft CRM Info Views and Searching

Workplace

Errors in Microsoft CRM

Use Case Corner—Navigation to Other Resources Through a Simple Quick Launch Customization

Summary

This chapter covers the Microsoft CRM home page and Workplace screens as well as the key concepts for navigating within Microsoft CRM. Because the look, feel, and operation of the Microsoft CRM Web interface is very similar to that of the Outlook interface, the focus here is on the Web interface. Specific details related to the Outlook interface can be found in Chapter 8, "Microsoft CRM Sales for Outlook."

The first difference between Microsoft CRM and other Web applications is that it looks very much like a traditional client-server application interface in that it has menus and buttons and does not display the controls of a Web browser. In fact, when navigating Microsoft CRM the only indication to the user that they are using a browser application is the bar at the very bottom of the screen. Although the browser's buttons are not displayed, the application still reacts when the user executes a keyboard shortcut. However, this is generally not advisable because the results will seldom match the user's expectation. For example, if the user presses the F5 key to refresh the screen, the screen will refresh, but the user will always be returned to whatever page they have set to their home page in the user options section (to be discussed later). Refresh will not simply refresh whatever the user perceives to be the current page.

NOTE

There is an option (in the web.config file) available to make the Microsoft CRM Web client display the normal Web browser controls. This option may be helpful for debugging if you are customizing Microsoft CRM. For more information on this option, refer to Chapter 14, "Customizing Microsoft CRM."

Likewise, if the user presses the Alt+left arrow key ( [image]) to simulate the Back button, the user will most likely not be returned to what he perceives to be the last page. This is because of Microsoft CRM's design. In short, what the user perceives to be a unique page might not be a unique page to Microsoft CRM. If you play around with this concept, you'll quickly get a feel for it and then decide when keyboard shortcuts will work for you.


The Microsoft CRM Home Page

By default, a user's first page in Microsoft CRM will be the home page. Figure 6.1 illustrates the home page and divides it into several sections.

Figure 6.1. The Microsoft CRM home page.

User Indicator

The User Indicator provides the name of the user currently logged into Microsoft CRM. Because Microsoft CRM uses Windows authentication, a user logged onto the domain never needs to see a login box or enter a password to gain access to the application. The authentication is transparent to the user and Microsoft CRM simply opens. Because of this ease of access, having the user's name at the top of the screen can be very helpful. The User Indicator is always present regardless of where the user is within the application.

Menu Bar

The Menu Bar is very similar to the menu bars found in any other application. It is always present and its options do not change from screen to screen. The menu bar and the navigation pane can be customized by Independent Software Vendor's (ISV). What this means is that additional custom tabs can be added to the Menu Bar and Navigation Pane to provide functionality beyond what the core application provides.

Navigation Pane

The Navigation Pane, unlike the Menu Bar, is context-sensitive and changes as the user navigates through the application. It is the control that enables an area of the application (for example, Sales) to have subareas (for example, Leads).

Quick Create

Quick Create is a feature of the Navigation Pane that remains constant throughout the application. As the name states, Quick Create is a usability feature that enables the user to quickly enter basic information about an Account, Contact, Lead, or Opportunity without navigating to another section of the application. You might think of this as the ability to create a placeholder to remind you to follow up later. It helps to ensure that people enter data into the system without taking their focus too far off of what they were doing when the information came to their attention.

The Quick Create always displays an object's required fields. This ensures that any fields that have been set as required must be entered to create the object. If desired, the Quick Create can be turned off for the installation as a whole (although we haven't thought of a reason why this would be advantageous). This can be done through a setting in the web.config file. The web.config file is discussed in Chapter 14, "Customizing Microsoft CRM." Figure 6.2 shows the quick create screen for an Account object that has been customized to add additional required fields.

Figure 6.2. The Quick Create screen for a modified Account object.

Content Area

The Content Area is where the main content of each area and subarea is displayed as the user navigates through the application. Depending on the area of the application, the Content Area will look very different. In the case of the home page, the Content Area is divided into two cells—Activities and Announcements.

Activities Cell

The Activities Cell lists all activities based on whether they are past due, due today, or due tomorrow. As we discussed in Chapter 1, "Introduction," Activities in Microsoft CRM refer to Tasks, Faxes, Phone Calls, Emails, Letters, and Appointments.

NOTE

You might be thinking "Great! with all communications falling into one of the six Activity types and the home page listing them when they are due, we'll always be reminded of our obligations." This is only partially true. Due date is not a required field on Activities, so you can create Activities without due dates and they will never show up on the home page. To see all Activities, regardless of due date, use the Workplace area.

On the right side of the Activities cell are two lists; the first is a list of buttons to create an Activity (Task, Email), and the second is a list of buttons to create a record (Lead, Contact). The buttons to create an Activity provide the same functionality as the New Activity option on the New menu. The buttons to create a Record enable the user to open the full record creation screen and enter all fields. This differs from the Quick Create option, which takes the user to a simpler screen where she can enter only the basic data points.

Using the home page buttons to create Activities and Records presents the user with data-entry screens with blank field values. Figure 6.3 illustrates the contact screen that is presented from the home page. A quicker option for creating Records and Activities is to create them from a parent record to which they are related. For example, if you are creating a new Contact record from the Account record to which the Contact is related, much of the data on the Account record will be copied over to the Contact record, thus saving time in entering information. What data gets transferred over depends on how the Account to Contact field mapping is set up in the Microsoft CRM Deployment Manager, which will be discussed in detail in Chapter 11, "Configuring Microsoft CRM."

Figure 6.3. Creating a new Contact from the home page. Note that no information has been prepopulated.

As illustrated in Figure 6.4, in the lower-right corner of the Activities cell is a link titled In Progress. If the user has configured his/her personal options to see the Sales view of Workplace, this link takes the user to the Workplace email screen. If the user has configured his/her Workplace personal option to Service, this link will take the user to the Assigned Personal Work Queue in Workplace. We'll cover Workplace in more detail shortly.

Figure 6.4. The In Progress link takes the user to the Workplace area.

Announcements Cell

The Announcements Cell is a feature that is simple, yet remarkably useful. As the name implies, this cell lists Announcements that all users of Microsoft CRM will see when visiting the home page. Two things are to be considered when discussing announcements. First, each user can define a start-up page to see when they enter Microsoft CRM. Because of this, it is incorrect to assume that all users will see the Announcements page by default. Second, the user creating the Announcement has the option of publishing the Announcement to the home page. Notice that after the final Announcement on the home page there is a link titled Show All Announcements. This link takes the user to another page that will list all Announcements, both those published and unpublished to the home page. Figure 6.5 shows the Announcements page with all announcements.

Figure 6.5. The Announcements Page lists all Announcements. The home page lists only those Announce-ments that are marked for publication to the home page.

NOTE

Announcements are visible to all users of Microsoft CRM. In an earlier beta release of Microsoft CRM, the person who created an Announcement could publish the Announcement to all users or to a subset of users. This would have been very useful in communicating team-specific information (for example, a Sales Manager could have announced a "Spif" just to her sales team). However, this functionality was removed (and hopefully will be reincorporated in Version 2.0) from the product.

Announcements are created in the Announcement section of the Settings page. Like everything else in Microsoft CRM, the system administrator can determine who can create Announcements. Figure 6.6 shows the Announcement creation screen.

Figure 6.6. The Announcement creation screen.

Beyond a title and description, Announcements can have an associated URL as well as an expiration date. The associated URL is displayed with the Announcement, and the Announcement will disappear from the Announcements page on the day of expiration.

Bottom Bar

The Bottom Bar enables the user to navigate through the main areas of the application. Throughout this chapter, the terms Areas and Sub-Areas are used to specify portions of the application. Areas are the high-level application pieces including Home page, Workplace, Sales, Service, and Reports. After you've used the Bottom Bar to navigate to an Area, you can use the tabs on the Navigation Pane to navigate to a sub-area of the area. For example, the home page area has two sub-areas—Home and Settings. Refer to Figure 6.7.

Figure 6.7. The main areas of Microsoft CRM.

    [ Team LiB ]


Microsoft CRM Navigation Map

Now that we have a feel for the major navigation components, let's study the overall navigation map of the application, shown in Table 6.1.

Table 6.1. The Microsoft CRM navigation map.

Area

Sub-Area

Section

Sub-Section

Record Level

Home

Home

Settings

Business Unit Settings

Business Units

Information

Organization (Users, Business Units, Teams)

Teams

Information

Members (Users)

Queues

Users

Security Roles

Template Manager

Contract Templates

Email Templates

Knowledge Base Templates

Subject Manager

System Customization

System Settings

Auto-Numbering

Fiscal Year Settings

Record Management

Customize Form

Customize Preview

Create a New View

Set Default View

Edit Associated View

Edit Advance Find View

Sales Territory Manager

Information

Members

Announcements

Product Catalog

Discount Lists

Information

Discounts

Unit Groups

Information

Units

Price Lists

Information

Price List Items

Products

Information

Substitutes

Price List Items

Sales Literature

Competitors

Notes

Workplace

Workplace

Calendar

Activities

Knowledge Base

Sales

Leads

Information

Activities

Notes

Opportunities

Information

Products

Other Contacts

Sales (Quotes, Orders, Invoices)

Competitors

Activities (Sales Process)

Notes

Accounts

Information

Addresses

Sales (Opportunities, Quotes, Orders, Invoices)

Cases

Activities

Sub-Accounts

Contacts

Notes

Contracts

Contacts

Information

Addresses

Sales (Opportunities, Quotes, Orders, Invoices)

Cases

Activities

Notes

Contracts

Competitors

Information (Analysis)

Opportunities

Products

Sales Literature

Notes

Products

Same as above

Sales Literature

Information

Documents

Competitors

Products

Quotes

Information

Products

Other Contacts

Activities

Notes

Orders

Information

Products

Other Contacts

Activities

Notes

Invoices

Information

Products

Other Contacts

Activities

Notes

Service

Cases

Information

Activities

Notes

Accounts

Same as above

Contacts

Same as above

KB Manager

KB Articles

Contracts

Information

Contract Lines

Cases

Activities

Notes

Products

Same as above

Reports

Sales Reports

List of Sales Reports

Service Reports

List of Service Reports

Admin Reports

List of Administrative Reports

The Navigation Map is designed to show you the flow through the application. The Area and Sub-Area columns correspond to the Bottom Bar and the Navigation Pane, respectively. They also correspond directly to the first and second levels of the GoTo menu on the menu bar. The Third column, titled Section, corresponds to the major headings within the Content Areas. The final column, titled Record, corresponds to the Navigation Pane items at the record level after you have opened a record from its Info view.

As a general rule, this book doesn't walk through every button click and menu selection as we navigate to the different areas of the application. This map is included as a guide for navigating through the application so that the content can focus as much as possible on usage, tips, and helpful information. Bookmark this map so you can refer back as needed to find your way through the various areas of the application.


Setting the Miscellaneous User Options

I mentioned earlier that users are able to define which page they would like to see upon entering Microsoft CRM. This setting and others are available through the Options… selection under the Tools menu, as shown in Figure 6.8.

Figure 6.8. The Miscellaneous tab of the User options dialog box.

In addition to being able to set the start page, the Miscellaneous tab of the Options screen enables the user to select how many records they want to see per page as well as their time zone.

NOTE

The time zone the user selects here is important in ensuring that they are correctly reminded of their appointments. For example, suppose a user is working in Atlanta with the time zone set to Eastern Standard Time and he creates a meeting for noon the following day. If on the following day the user is on the West Coast and has not reset his time zone to Pacific, he might look at his calendar and mistakenly think that the appointment is at noon Pacific. Had he reset his time zone to Pacific, Microsoft CRM would have shown the appointment as starting at 9 a.m. Pacific on the calendar. It is important to note that this time zone setting is completely independent of the time zone on the client computer through which the user is accessing Microsoft CRM.


Microsoft CRM Info Views and Searching

When you wander from the home page to many of the sub-areas under Sales and Service, you will see the Content Area change to an Info view listing of records. Figure 6.9 shows the Info view for the Leads sub-area of the Sales Area.

Figure 6.9. The Leads info view.

Find Control

The Find Control enables the user to quickly find records by searching through the first displayed column in the grid listing. For example, in the Contact Info view, the primary (first) column is Full Name where the full name is formatted based on the system settings for the installation. By default, Last Name is listed first followed by a comma and the First Name. If the user enters the letter g in the Find Control and clicks the Go button, the system will search through all Lead records available to the user to find those Contacts whose last names begin with the letter g. It is important to note that the Find Control does not only search within the records listed in the current view when the search is initiated. Rather, it searches through all the records to which the user has access.

TIP

The Full Name column in the Contact Info view is not the dynamic concatenation of first and last name columns in the underlying database table. Rather, this column is selected from the FullName column in the ContactBase table in the CRM database. When Contacts and Leads are initially created the first and last name columns are concatenated and copied into the FullName columns in the ContactBase and LeadBase tables, respectively. The comma that separates the first and last names also becomes part of the FullName column so that a user entering "smith john" in the Find Control box will never find the record for John Smith. The user has to enter "smith, john" to locate any matches. The exact format of the full name field is dependent on the format selected under System Settings.

The asterisk character (*) represents a search wildcard in Microsoft CRM and is assumed at the end of any search string. For example, entering smi in the Find Control results in a list of all Contacts whose last names begin with the letters "smi" (for example, Smith, Smitz, Smithereen). Entering *mi in the Find Control results in a list of all Contacts that have the characters "mi" contiguously anywhere in their full name (for example, Smith, Miller, Michelson).

The # character is the wildcard for numeric values if and only if it is used by itself. For example, a search on # returns all leads that have a name starting with a number between 0 and 9. However, a search on a# returns all records with a full name starting with a#.

View Control

The View Control enables the user to select the view used to display the listing of records. Views can be created and modified at the administrative level and are customizable on two levels—the column listing and the data filter. Chapter 11 goes into detail about how to change the column listing in a view and how to filter the results set it returns.

Figure 6.10. List of views for the Lead Info view screen.

Action Bar

The Action Bar provides the buttons to enable a user to take various actions including

  • Print the active list of records

  • Export the active list of records to Microsoft Excel

  • Create a new record

  • Take an action against the selected records using the Actions List

Selecting the Print button brings the user to another screen where he can then choose to print the list. Figure 6.11 shows the record print screen. It is a simple html page of the data in the record listing

Figure 6.11. Printing the Info View list of Lead records.

The export button calls Microsoft Excel and passes it the active list of records in the Info view. If the user does not have Microsoft Excel installed he will receive an error. If the user has Microsoft Excel installed, he will be given the opportunity to open or save the Excel file.

The Create a new <object name> button enables the user to create a new record from scratch. This is useful when the record you were seeking does not exist.

Let's take a look at the Actions list. This is displayed in Figure 6.12.

Figure 6.12. The Actions List for Lead records.

The Actions List is context-sensitive based on the type of record you have listed in the Info view. Table 6.2 lists the Actions that a user can execute against the various CRM record types. The actions a user can execute are dependent on the user's security settings. For example, a user with access only to view records will not see the Delete action.

Table 6.2. Available Actions by Object Type

View

Available Actions

Business Unit

Enable, Disable, Change Parent Business

Teams

Add Users to Team, Remove Users from Team

Queues

Delete

Users

Enable, Disable, Assign Role, Change Business, Change Manager

Security Roles

Delete

Contract Templates

Delete

Email Templates

Delete

Knowledge Base Templates

Delete, Deactivate, Activate

Sales Territory Manager

Delete

Announcements

Delete

Discount Lists

Delete, Deactivate, Activate

Unit Groups

Delete

Price Lists

Delete, Deactivate, Activate

Products

Delete, Reclassify, Deactivate, Activate

Activities

Delete

Workplace Assigned Activities

Delete, Assign, Accept

Workplace In Progress Activities

Delete, Assign

Workplace Queues

Delete, Assign, Accept

Leads

Assign, Delete, Sharing, Send Direct Email, Apply Rule

Opportunities

Assign, Delete, Sharing, Send Direct Email, Apply Rule

Accounts

Assign, Delete, Sharing, Deactivate, Activate, Send Direct Email, Apply Rule

Contacts

Assign, Delete, Sharing, Deactivate, Activate, Send Direct Email, Apply Rule

Competitors

Delete

Sales Literature

Delete

Quotes

Assign, Delete, Sharing, Send Direct Email, Apply Rule

Orders

Assign, Delete, Sharing, Send Direct Email, Apply Rule

Invoices

Assign, Delete, Sharing, Send Direct Email, Apply Rule

Cases

Delete, Sharing, Send Direct Email, Assign

KB Articles

Submit, Delete

Contracts

Assign, Delete, Sharing, Send Direct Email, Apply Rule

These Actions Lists are also available after searching on the records through the Advanced Find screen on the Tools menu.

Grid Header

The Grid Header is a simple display of the columns that make up the record list. Each column heading can be clicked to sort on the values in that column. The check box on the far left can be used to select all records (to carry out Actions) and the refresh button on the far right can be used to re-retrieve the list from the CRM database.

NOTE

You might be asking yourself what is happening inside the application when you click the refresh button. The button makes a call to the CRM Server (the application server) query engine using a Microsoft CRM proprietary query language known as FetchXML. Using FetchXML, the query engine calls into the SQL Server database and returns XML, which is then rendered into an HTML page and sent to the interface for display.

One more thing to note about the Grid Header is that the column listing can be modified using the system customization tools. The only exception to this is that the default first column, referred to as the Primary Column, in all Info Views cannot be changed.

Grid Control

The Grid Control lists all records retrieved in the current sort or filter. Each record has a check box to select it and an arrow that can be clicked to show preliminary data about the record in the preview pane. The preview pane can be customized to show any fields on the record. You can right-click on the grid to open or print the currently highlighted record, or to refresh the content of the grid.

Grid Footer

The Grid Footer displays the total number of records retrieved. Additionally, it shows how many of the records are selected (checked). On the far right of the Grid Footer is the Page Control, which displays the currently active page of records. Remember that the number of records retrieved per page can be set at the user level by choosing Options from the Tools menu.

ABC or Jump Bar

The ABC, or Jump bar, as it is called by some enables the user to quickly jump to a list of records that begins with the selected letter of the alphabet. It is important to note that the jump bar selects only records that fall within the current result set as defined by the selected view. In other words, if you have set the view to "My Leads" and only two of your Leads' names start with the letter w, you will see only those two results. This is the opposite behavior of the Find Control, which will search through all records in the database. Keep in mind that when we say that the Find Control will search through all records in the database, it can only search records for which the user has the appropriate viewing rights. The Microsoft security model is never ignored.

Advanced Find

Having covered the Find Control and the ABC Bar, let's discuss how to search on records using multiple criteria. The Advanced Find tool under the Tools menu was made just for this. Refer to Figure 6.13.

Figure 6.13. The Advanced Find screen.

The first step in using the Advanced Find tool is to select the type of records you want to search. The options are

  • Accounts

  • Activities

  • Cases

  • Competitors

  • Contacts

  • Contracts

  • Invoices

  • Leads

  • Opportunities

  • Orders

  • Products

  • Quotes

  • Sales Literature

  • Users

After you have selected the record type you will be able to build filters by choosing Fields, Conditions, and Values related to that record type. The search is straightforward, but there are a couple of tricks that might not be obvious.

The filters within the Advanced Find can act as AND or OR operators. Figure 6.14 shows an example of the AND operator for a situation in which a user wants to retrieve a list of all users with the letters g AND v in their last names.

Figure 6.14. The AND operator in the Advanced Find screen.

Figure 6.15 shows an example of the OR operator for a situation in which a user wants to retrieve a list of all users with the letters g OR v in their last names. Notice that only one filter is built, and the semicolon character is used to separate the OR conditions.

Figure 6.15. The OR operator in the Advanced Find screen.

The AND NOT operator can also be used as is shown in Figure 6.16 where the search will return records where the last name contains the letter "g," but not the letter "v."

Figure 6.16. The AND NOT operator in the Advanced Find screen.

Notice that the Advanced Find screen has buttons for adding and deleting rows. This enables you to add additional rows to build additional filters as well as to delete unwanted rows. When you click the Delete Rows button, any filter with a check next to it will be deleted. Keep in mind that the checks have nothing to do with whether the checked filter is being used in the search. The checks are there only to indicate which rows to delete.

By default, the column list for the Advanced Find results set is the same as the column set for each record type's default view. However, the Advanced Find view column set can be customized for each record type.

The presence of the Actions List on the Advanced Find screen is a nice touch. The Actions available on the list will depend on the record type selected.


Workplace

To understand Workplace, it helps to think back on the discussion of Activities earlier in the book. A great thing about Microsoft CRM is that all interactions with our prospects, customers, contacts, and so on, are organized as Activities. This helps foster a working environment where we can ensure that nothing slips through the cracks or, to say it another way, where no balls get dropped. In this sense, Workplace can be thought of as the place to go to see all the balls that we have in the air. Whereas the home page showed us a quick glimpse of what was current or past due, the Workplace shows us all activities, including those that do not have due dates assigned.

The Workplace area is broken into four sub-areas: Workplace, Calendar, Activities, and Knowledge Base. The Workplace sub-area comes in two different versions: Sales and Service. Determining which version a user sees is configured through the user options screen. This screen can be reached by selecting Tools, Options from the main menu, as shown in Figure 6.17.

Figure 6.17. Selecting the user's version of Workplace.

The Workplace Sub-area

The Workplace area consists of two separate sections: the user's Personal Work and Queues. In the Personal Work section, both the Sales and the Service versions of the Workplace sub-area have common folders named Assigned and In Progress. The Assigned folder shows the user all Cases and Activities that have been assigned to him by another user or by a workflow rule. It also shows all incoming emails that the Microsoft CRM Exchange connector has created as Email Activities. The user can check the Cases and Activities that he wants to accept and can then use the Actions list to accept these Activities. The accepted Cases/Activities will be moved to the In Progress folder. The In Progress folder lists all the user's Cases and Activities except those which have been assigned to the user, but not yet accepted. Both the Assigned and the In Progress folders display only Cases and Activities and not other records such as Leads, Contacts, Accounts, and Opportunities which have been assigned to the user.

Figure 6.18 shows the sales version of the workplace screen.

Figure 6.18. The Sales version of the Workplace screen.

The Sales version of the Personal Work section of the Workplace sub-area has two additional folders titled Email and Draft Email. The Email folder lists all incoming emails that are related to Microsoft CRM records. You might think of this as an email inbox exclusively for emails related to Microsoft CRM. As we've previously discussed, the Microsoft CRM Exchange connector takes incoming emails related to CRM objects, converts them to Email Activities and attaches them to those objects in CRM. These Activities are listed on the related objects' Activity History screen and are also displayed in the Workplace. Once in Workplace, the user can read, reply to, and forward these emails. When the user is finished working with the email, he may delete it from Workplace. Deleting the email from Workplace does not delete it from the CRM record(s) to which it is attached. Figure 6.19 shows the screen the user will see when deleting emails from Workplace.

Figure 6.19. The message a user sees when deleting emails from Workplace.

The Draft Email folder contains any Email Activities that have not yet been sent. After these emails are opened and sent, they disappear from this folder and appear in the Activity History tab of the record to which they are related.

Queues

The Queues section of the Workplace sub-area lists all the Queues across the organization. Because the Queue privilege set in Microsoft CRM security is either all or none (that is, Organizational/Global or none) users will see a list of all the Queues across the Organization regardless of their Business Unit. However, they will only see the Service cases over which they have view access.

The Calendar Sub-area

The Calendar sub-area shows a daily, weekly, or monthly view of the user's Appointment Activities. In addition, it enables the user to create a new Appointment by selecting the Appointment link to the right side of the screen, as shown in Figure 6.20.

Figure 6.20. The Monthly Calendar view.

In version 1.0 of Microsoft CRM, a Web client user's calendar in Microsoft CRM is not synchronized with the user's calendar in Outlook. However, user's of the Microsoft CRM Sales for Outlook client will be able to create calendar appointments that appear in their Outlook calendar, their Microsoft CRM calendar, or both.

The user has control over two Calendar items through user Options. The Options screen can be accessed my selecting Tools, Options on the menu bar and then selecting the Activities tab, as shown in Figure 6.21.

Figure 6.21. Changing the user's Calendar options.

On the Activities Options screen, the user can set which Calendar view they would like to see by default. These include Day, Week, or Month. Also, the user can select their typical working hours. This setting affects which hours are presented in a lighter grey color on the user's daily Calendar view.

The Activities Sub-area

The Activities screen shows all of the user's open Activities regardless of whether the Activities have just been assigned or are in progress. This is the catch all view for Activities, as shown in Figure 6.22.

Figure 6.22. The Activities screen in Workplace.

One downside of this view is that, in Version 1.0, you cannot customize the column set and, as such, are stuck with the Activity Subject column as your main way to identify the Activity without opening it. For most users, this makes it difficult to discern one Activity from another; especially when you have automated workflow rules creating Activities with the same subject descriptions. This view does, however, enable the user to sort Activities by type and due date, which is helpful.

The Knowledge Base Sub-area

The final sub-area of the Workplace Area is Knowledge Base. The Microsoft CRM Knowledge Base component enables users to create multiple Knowledge Base (KB) article templates, which can then be used to create KB Articles. After a KB Article is created, it is submitted for approval. When the Article is approved, it is considered to be in published status and can be searched or browsed through the Knowledge Base sub-area of Workplace, as shown in Figure 6.23.

Figure 6.23. The Knowledge Base sub-area of Workplace.

Because each KB article must be associated with a Subject, you can use the Browse tab of the KB sub-area to browse lists of all KB Articles associated with a particular Subject. One thing to keep in mind when doing this is that when you select a Subject that has child Subjects attached to it, you will not see articles associated with the child Subjects unless you choose those child Subjects specifically. We'll cover Knowledge Base in more detail in Chapter 8.


Errors in Microsoft CRM

Because we've just had an overview of Workplace, let's take a look at a Microsoft CRM error that I came across while accessing the Workplace sub-area screen. Although I fully expect this error will be fixed by the final release of Microsoft CRM, this example does serve to provide some insight into how errors are presented in Microsoft CRM.

If you think back to the discussion on security in Chapter 5, you will remember that there is a set of privileges for just about anything you can do in the system. Looking at the Core Records tab of the Role configuration screen, you will notice that there is a set of privileges for Queues. To see this screen go to Home, Settings, Business Unit Settings, Security Roles and then select a role to open its detail screen. Figure 6.24 displays this screen.

Figure 6.24. The Core Records tab of the Role configuration screen.

As with anything else, there is a set or privileges relating to Queues. These privileges actually refer to the Queues themselves, not the records that can appear within the Queues. Because this user does not have any privileges relating to Queues and because the Workplace screen lists Queues by default, this user should not be able to see the Queues when selecting the Workplace screen.

As of this writing, a user in the aforementioned scenario will receive an error when selecting the Workplace screen. In our case, I have set my system to provide me with developer level information on all errors. This setting is found in the Microsoft CRM web.config file on the Web server. This file and its settings are outlined in Chapter 14, "Customizing Microsoft CRM," When the key named DevErrors in this file is set to On users will see additional details when errors are received. Figure 6.25 shows the error we received.

Figure 6.25. The Microsoft CRM Platform Error report screen.

The error that Microsoft CRM produces gets us part of the way toward understanding what is going on. The Error Description says "the user does not hold the necessary privileges." Based on this, we can guess that we are dealing with a security issue. Further, the error details state "The caller does not hold the privilege with ID: {B140E729-DFEB-4BA1-A33F-39FF830BAC90} ." Because we know that Microsoft CRM uses GUID's at the database level to identify records, we can guess that the GUID listed in the error details probably lives somewhere in the database. We'll look in the main Privilege table because the Error Details mention the word privilege.

TIP

If you study the database schema for the Microsoft CRM transactional database, you will quickly notice that the core tables relating to the various objects are named after that object with the suffix Base added to the end of the table name. For example, if you are looking for the main Lead table, you will want to look for a table named LeadBase. Consequently, the table we will query in this example is named PrivilegeBase.

Doing a select on the PrivilegeBase table and including the GUID in our where clause, we find that the privilege we do not hold is labeled prvReadQueue, as shown in Figure 6.26.

Figure 6.26. A SQL Query of the PrivilegeBase table.

From here it becomes obvious that we are receiving this error because we do not have the necessary privilege to see what this screen displays by default. This information is consistent with the information we see as we look through the three other screens the error message supplies, shown in Figures 6.27, 6.28, and 6.29.

Figure 6.27. The Microsoft CRM Error Details screen.

Figure 6.28. The Microsoft CRM Basic Server & Client Information screen.

Figure 6.29. The Microsoft CRM error user experience screen.

Hopefully, by the time you are reading this book, this error will no longer exist. However, this example does give you some insight into how Microsoft CRM is able to present errors returned from the CRM platform.


Use Case Corner—Navigation to Other Resources Through a Simple Quick Launch Customization

Now that we've mastered Microsoft CRM navigation, let's look at an extremely simple customization that can link our employees to other sites they need to access.

With CRM you are always hearing about the concept of the Portal. This refers to one place from which you can access all the information you need. Well, in about 15 minutes a mildly technical person can create a custom page in Microsoft CRM to give users a list of all the relevant links they need to do their jobs, as shown in Figure 6.30. This Quick Launch customization will turn your CRM system into your Employee Portal from which your employees can effortlessly navigate to other internal and external sites of relevance.

Figure 6.30. The Quick Launch customization was created in about five minutes.

The Quick Launch page pictured in Figure 6.31 is not fancy, but does provide relevant links and enables the user to launch those sites from within Microsoft CRM. The page was created in a couple of minutes using Microsoft Frontpage, and then was copied into a folder on the Web server. From there a single line of code was added to a configuration file and, voila, the page appears. This customization required only knowledge of simple HTML and did not require the modification of any standard Web pages in Microsoft CRM.

Figure 6.31. Viewing a link launched from the Quick Launch page.

Figure 6.31 shows CNN as launched from the Quick Launch page. The site has been launched within the content area of Microsoft CRM, but it could just as easily have been launched into a new browser window.

The code along with the steps necessary to create the Quick Launch has been included on the CD that accompanies this book.


Summary

We've covered a lot of ground in this chapter and now you should be able to find your way around the application. Refer back to the Navigation Map as we continue through the book and you should be able to find your way to all corners. Microsoft CRM navigation is straightforward if you think in terms of the five major areas (Home, Workplace, Sales, Service, and Reports) and their sub-areas.

The home page is your initial view by default and gives you a glimpse at your current, upcoming, and past due Activities. Depending on how you use the system, you might want to change your user options so you go directly to the Sales, Service, Workplace, or Reports areas by default. If you do so, remember that you'll want to visit the home page from time to time to check on any new announcements that might have been published in your organization.

Workplace is where you can go to get a handle on all your Activities as well as to look into detail at your calendar and to search the Knowledge Base. This will no doubt become a default view of many customer service workers and managers.


Chapter 7. Sales Force Automation (SFA)

In this chapter

B2B Versus B2C

Leads

Sales Territory Manager

Quotas

Opportunities

Products

Competitors

Activities and Sales Process

Marketing Functionality

Use Case Corner—Tracking Marketing Campaigns

Summary

Now that the basics are covered, let's get into some specifics. As we've mentioned before, Sales users of Microsoft CRM have two interface options for accessing Microsoft CRM; the Web client and the Microsoft CRM Sales for Outlook client. The Web client can be accessed through a Web browser (IE 5.5 SP2 or IE 6.0) when the user is connected to the company network. The Outlook client, named Microsoft CRM Sales for Outlook, can be used in two modes with the user being connected to the main corporate CRM database while on the company network, or using a remote database while disconnected from the network.

The goal of this chapter is to cover all the Sales Force Automation concepts and functionality. Because not all Sales users will use the Outlook client (for example, Inside Sales people), we'll stick to the functionality provided in the Web client and cover the specifics of the Microsoft CRM Sales for Outlook client in the next chapter.


B2B Versus B2C

The determination of whether you will associate Sales and Customer Service objects with Contact and/or Account objects depends on whether you are conducting business with other businesses (B2B; Business to Business), or you are conducting business with individual consumers (B2C; Business to Consumer). Some companies serve both markets and will have a mix of B2B and B2C. Many of the modeling decisions you make in setting up your system will be driven by this determination.

Based on your business model, you will want to establish guidelines around how users attach objects to each other. In a straight B2B model, it is preferable to have all Contacts, Opportunities, Service Contracts, and Service Cases attached directly to (that is, parented by) Account objects. In a B2C model, you will want Contacts to act as the parents of all these objects. Of course, this can vary based on the details of how you do business, but the concept of consistency should be introduced and enforced through training and business rules.


Leads

In Chapter 4, "Microsoft CRM Functional and Conceptual Overview," we introduced the concept of Contact and Account records. In most business, Lead records will be the first step at arriving at a Contact or Account record.

Many marketing and salespeople will be happy with the way Microsoft has chosen to model leads into Microsoft CRM. Specifically, by keeping Leads separate from Contacts and Accounts, Marketing can import and qualify data without cluttering the views sales-people use.

NOTE

Consider how having a separate Lead container affects the implementation of your sales process. Most formal sales processes have some sort of a qualification step in the process that can be removed in favor of the Microsoft CRM lead structure. The rule of thumb to follow is that nothing that is not at least initially qualified should be created as a sales opportunity. Qualify it as a Lead and convert it.

Leads are records that represent an individual and/or company with the potential of becoming a customer. Leads will most always be individuals/companies that are not already customers. This is because if they are already customers, they should already be in the system as a Contact and/or Account to which you could simply add a new Sales Opportunity record.

Leads are where you will import trade show prospect lists, purchased lists, and casual contacts that might have revenue potential. Lead records provide a staging area to work with data that you later might want to keep in the database (that is, convert) or remove or deactivate Figure 7.1 shows the Lead screen.

Figure 7.1. The General tab of the Lead screen.

After a Lead has been entered/imported into the system and some type of qualification process has been followed, you will reach a point where it is time to convert the Lead into a Contact, Account, and/or Opportunity record. If the Lead has no promise, you might want to deactivate or delete it from the system.

In reviewing the Lead screen, you will notice that Activities and Notes are the only other objects that you can attach to Lead records. You cannot link a Sales Opportunity, Quote, Order, or Invoice to a Lead. This is because after you have qualified a Lead, you must then convert it to a Contact, Account, and/or Opportunity to take advantage of the other Sales Force Automation functionality available in Microsoft CRM.

Lead Conversion

Microsoft CRM has a built-in function for Lead conversion. After you have entered and saved a new Lead, you will see a button labeled Convert Lead at the top of the Lead screen. Selecting this button brings you to the Lead conversion screen, shown in Figure 7.2.

Figure 7.2. The Lead conversion screen.

The Lead conversion screen enables you to convert the Lead or disqualify it, specifying a reason for why the Lead was disqualified. Preconversion Leads are said to be in Open status and post-conversion Leads are in either Qualified or Disqualified status based on the options set upon conversion. You can view all Disqualified Leads by changing the view to the Closed Leads view.

Leads can be converted even if they do not bear the promise of revenue potential. For example, you might want to convert a Lead to a Contact record alone if you feel that the person will be a good contact to stay in touch with. Figure 7.3 illustrates the various scenarios for Lead conversion.

Figure 7.3. Scenarios for Lead conversion.

Now that we understand Leads and conversion, let's take a look at the other SFA objects.


Sales Territory Manager

In setting up Microsoft CRM, you have the ability to create Sales Territories. Sales Territories can have multiple members (Users) and a single manager (also a User).

Users and Managers can only belong to one territory, but can be switched between territories as needed.

Territory is an attribute on Account records, enabling you to associate each Account record with a single Territory. Territory is not associated with any other object type. However, because many other object types can be associated with Accounts (for example, Contacts, Opportunities, and so on) you can reverse engineer your way back to Territory from those objects.

Territories can be used with Workflow processes for assignment of new Sales Opportunities. Territories also impact how certain sales and Account reports are organized. For example, it would be possible to create a workflow rule so that when a new Account is created, it is classified in the appropriate territory based on the Account's state, city, or any other piece of data on the Account object. Furthermore, you could create another workflow rule so that when a Sales Opportunity is created, it is assigned to the appropriate Sales Representative based on the Account's territory.

Figure 7.4. A Sales Territory in Sales Territory Manager.

    [ Team LiB ]


Quotas

Quotas were discussed in Chapter 5, "Setting up Microsoft CRM." Microsoft CRM allows the entry of quota numbers by salesperson by fiscal period. For example, if your organization's Fiscal Year settings are configured for quarters, then you may enter quarterly quotas for each salesperson.

Quotas cannot currently be broken down to a level lower than fiscal period. For example, it is not possible to reflect quota components by product line, revenue stream, and so on. You can, however, enter quotas for multiple fiscal years at once, although there are probably not too many organizations that know quotas (much less who their salespeople will be) a year in advance.

The principal use of quotas in Microsoft CRM is for the Sales reports that reference them.


Opportunities

Sales Opportunities (Opportunities) are a central object in the Microsoft CRM Sales functionality. Opportunities represent potential revenue-generating events. For example, in the case of a software company, an Opportunity will typically represent the possible sale of a particular product or mix of products and services. Normally, you will associate a total revenue potential amount, a projected close date, and a probability of closure. The word close in both cases refers to the successful completion of the transaction. The combination of this information creates what is known as the forecast for the opportunity. For example, an Opportunity with potential revenue of $100,000 and a 50% close probability has a $50,000 forecast value. The close date tells us when that $50,000 is likely to materialize. In a financial services environment, an Opportunity record might be used to track the ongoing relationship between a broker and his/her client. There might never be a single revenue number that is being pursued; rather the ongoing relationship development causes the client to steadily purchase the services being offered. In this type of scenario, revenue might be projected based on history and trends as opposed to specific, current deals in the pipeline.

Sales Opportunities that are in progress represent the organization's pipeline. Many of the Microsoft CRM reports are named with the term pipeline, whereas others simply have the word opportunity in the name. Reports with the word pipeline in the name will display only active opportunities. Reports that generically refer to opportunities take all opportunities, open and closed, into account.

After a company really starts to track its sales process, a lot of meaningful data can be gleaned. For example, if your company implements a sales methodology for all products or a particular product line, after some historical information is built, you can track metrics about the steps or stages of the sales methodology. Some of these metrics might be

  • Average probability of close based on stage in the sales cycle

  • Average sales cycle length

  • Average length of time per sales cycle stage

  • Overall win/loss ratio

  • Average number of Activities (calls, meetings) per opportunity

Used correctly, this can be valuable information. For example, consider that you've studied your sales process and have determined that opportunities in the Needs Assessment stage historically have a 10 percent chance of being won. If you also determine that the average Opportunity in the Needs Assessment stage takes three months to close and there is currently $1,000,000 in that stage, you can likely expect $100,000 in three months.

Similarly, imagine that you have a five stage sales methodology including Lead Conversion, Needs Assessment, Solution Definition, Proposal, and Solution Implementation, and you discover that historically Opportunities in the Needs Assessment stage have a 5 percent chance of closure, whereas Opportunities in the Solution Definition stage have a 40 percent chance of closure. The way your process is set up, your junior sales representatives handle the opportunity through the qualification stage, and then passes it to the more senior sales representatives. Based on this, you could surmise that a lot of qualification is happening in Needs Assessment, with a lot of unqualified Opportunities actually being weeded out before making their way to Solution Definition. This analysis leads to the conclusion that the junior sales representatives are not doing a very good job qualifying the opportunities, so the senior representatives are, effectively, repeating the qualification process.

Now, notice that our example four-stage sales process does not include a Qualification stage. This is because the Qualification stage should occur while the record is still a Lead. Leads cannot have attached Sales Opportunities. Only Contacts and Accounts can have attached Sales Opportunities. However, you might have Opportunities that are created on existing Contacts and Accounts where you need a Qualification stage. Not to worry, Microsoft CRM can support as many different sales processes as you need. We'll get to more of that in Chapter 12, "Workflow." We could go on for days about this sort of thing, but let's get into the specifics of Sales Opportunities. Figure 7.5 shows the Microsoft CRM Sales Opportunity screen.

Figure 7.5. The Sales Opportunity screen.

Setting up a Sales Opportunity

The first decision in setting up a Sales Opportunity record is which CRM record will act as the Opportunity's parent record. Sales Opportunity records can have a single parent object, which will either be a Contact (in a B2C business model) or Account (in a B2B business model) record. Table 7.1 goes into detail about the attributes that make up the Sales Opportunity record.

Table 7.1. Sales Opportunity Fields and Their Uses

Field

Description

General

Topic

Topic is the one-line overview of the Opportunity. Because this value alone is referenced from many places in the application, you will want to get in the habit of including the customer's name at the beginning of the topic. For example, if you enter "big opportunity" as the topic of an Opportunity, that is literally all you will see when you are doing a lookup of Opportunities from a related screen. Figure 7.6 illustrates this point.

Potential Customer

This field links to the Contact or Account for this Opportunity.

Price List

This is the price list from which Products are added to the Opportunity and its related Quotes, Orders, and Invoices get their prices. If you create the Opportunity directly from a Contact or Account record, the Price List on that record (if there is one) will pull over automatically. If you want the system to automatically generate the Opportunity's revenue potential from the Products you have added, you must have a Price List.

Estimated Revenue

Revenue

Revenue is a radio button where you must specify whether you want the system to calculate the Opportunity's revenue potential based on the value of the associated Products or if you simply want to enter in a Revenue amount. Your selection here affects the Est. Revenue field.

Est. Revenue ($)

Estimated revenue for the Opportunity. This is either based on the Products entered on the Products tab or by an amount that you manually enter.

Probability

The probability that the Opportunity will be won. This probability can be automatically set by the sales process. The probability can increase to pre determined values per stage in the process.

Est. Close Date

The date you believe the opportunity will be won.

Rating

This field can be used to provide a little extra information on how the sales rep or his/her manager feels about the Opportunity's chances of success or its importance.

General Description

Description is a short overview of the Opportunity.

Administration

Owner

The User who is responsible for the Opportunity.

Originating Lead

A link to the Lead from which the Opportunity was converted. Because Leads have a field called Lead Source, by linking the originating Lead to the Opportunity the possibility exists to analyze successful opportunities by Lead Source.

Status Reason

By default the Status Reason field lists two values: In Progress and On Hold. This can be helpful in placing an opportunity off to the side if unexpected delays arise.

Figure 7.6. The Opportunity lookup screen.

After you have completed the Opportunity attributes outlined in Table 7.1, you can add the various associated records as necessary. The other tabs on the Opportunity record are for other associated records. Figure 7.7 illustrates how Opportunity records link to other records in CRM. The following record types can be associated with Opportunity records:

  • Products

  • (Other) Contacts

  • Quotes

  • Orders

  • Invoices

  • Competitors

  • Activities

  • Notes

Figure 7.7. The relationships between Sales objects.

Let's discuss each of these associated records and their relationships to the Opportunity record.


Products

Product records associated with Opportunities represent the products and services that you are attempting to sell to the client or prospect. Setting up Product records is covered in Chapter 5, "Setting up Microsoft CRM."

When you associate Products with Opportunities, the Product's price with respect to the Opportunity will be determined based on the Price List associated with the Opportunity. That Price List is inherited from the default Price List value of the Opportunity's parent Contact or Account. You can, however, change the Price List at the Opportunity level after you have created the Opportunity.

Price List comes into play when you have selected the System Calculated option for the revenue amount of the Opportunity. This means the Est. Revenue ($) field is going to calculate the sum of all Products by taking into account their quantities listed on the Opportunity as well as their prices listed on the associated Price List. If you select the User Provided method, you will be allowed to enter an amount in the Est. Revenue ($) field for the projected revenue of the Opportunity. Figure 7.8 shows how products are listed on an Opportunity record.

Figure 7.8. Products on a Sales Opportunity.

When we start looking at Quotes, Orders, and Invoices, we will see that these objects introduce the concept of Write In Products. Write In Products are products that are not in our master catalog, but can be added on-the-fly to fill a specific need. We are mentioning this here because there is no place to write in a product on the Products tab of the Sales Opportunity. Because the revenue that is used in all pipeline and forecast reports is based on the Products listed on the Opportunity, you might want to set up some sort of catchall product for items that you want to write to Sales Opportunities. For example, if your company occasionally provides some sort of service with the sales of a product, you could have a product generically called Service and give it a Price List cost of $1. This would allow you to include it on an Opportunity with a quantity that would bring the total to the desired amount for the engagement.

Other Contacts

The other contacts tab on the Opportunity record enables you to link any other Contacts in the database to the Opportunity record. This defines who outside your organization is involved in the Opportunity. Although this is a helpful feature, it would be even nicer to be able to define each Contact's role in the Opportunity.

Sales

The Sales tab on Opportunities is where Quotes, Orders, and Invoices are attached. Each Opportunity can have multiple Quotes, Orders, and Invoices and these can be created in succession starting from the Opportunity record itself. Figure 7.9 outlines the steps of a full Sales Opportunity life cycle. The reason we refer to this as a full life cycle is because there are a lot of different ways you can use Opportunities and their related objects.

Figure 7.9. The life cycle of a Sales Opportunity.

Quotes

A Quote is an offer to sell a mix of products or services for a specified amount of money. Quotes generally contain a list of the specific products and services offered as well as their prices and any discounts offered. Quotes can have an expiration date to indicate the term for which the offer will stay in effect. When you create a Quote from an Opportunity in Microsoft CRM, the list of Products on the Opportunity is automatically pulled onto the Quote. From there you can modify the product mix and even add Write In Products. As discussed earlier, Write In Products can be used to specify offered Products and Services that are not part of your organization's master Product list. In fact, you can create an entire Quote that consists solely of Write In Products. Figure 7.10 shows the Quote screen.

Figure 7.10. The Quote screen.

NOTE

Like a lot of Web-based CRM applications, Microsoft CRM uses Web pages to generate a printable Quote document from the Microsoft CRM Web interface. The benefits of this approach are that the CRM server can pull the appropriate fields from the Quote record, quickly merge them into an ASP page, and send the resulting HTML to the client for viewing and printing. The downside is that an administrator has to modify the ASP quote page to format the Quote. However, in the Microsoft CRM Outlook client, Quotes are created through merging the Quote data into a Microsoft Word template on the user's computer. This means that savvy end users will be able to customize their Quote templates to meet their individual or departmental formatting needs.

Quotes in Microsoft CRM provide tremendous flexibility in terms of pricing and discounting. The total amount of any given Quote is equal to the sum of its Product line's items less any overall discounts. Each line item can be individually discounted, and the sum of all the individual discounts is totaled and displayed on the main Quote screen just before the Quote discount fields. The user can then see these cumulative discounts and add an overall discount to the Quote.

Figure 7.11 shows a Quote line item. Each Quote is made up of at least one line item. Each line item represents a distinct product that is being offered as part of the quote. Keep in mind that if you are including a Kit product on a Quote, the single Kit line item will represent multiple products.

Figure 7.11. A Quote line item.

At the Quote line item level, a user can elect to use the default price from the Opportunity's default Price List, or the user can override the price altogether. The user can even enter different addresses for each Quote Product and specify whether to ship the item or have it held for pickup.

Orders

After a prospect or customer has accepted a Quote, an Order is typically placed. Microsoft CRM automates this process by allowing the user to create the Order from the Quote with one click of the Create Order button on the Quote screen. This is illustrated in Figure 7.12. Of course, an Order can be created without a Quote if the Quote process is skipped. When the user selects the Create Order button, he is presented with the option of updating the Opportunity to the closed status or not updating the Opportunity. The user can elect not to update the Opportunity in a situation where the active Order provides only a partial amount of the products and services on the Opportunity. Additionally, when the user is creating the Order, he can override the total price at that time and manually enter a total for the Order.

Figure 7.12. Creating an Order from a Quote.

The Order screen, shown in Figure 7.13, is nearly identical to the Quote screen. The major difference is that the effective dates are not on the Order because it is assumed that it is in process and agreed upon billing terms will be in effect.

Figure 7.13. The Order screen.

After the Order has been created, an Invoice can be generated and delivered to the customer. Clicking the Create Invoice button on the Order screen generates the Invoice and opens the newly created Invoice's screen.

Invoice generation is an area where Workflow rules can be a big help. By configuring a Workflow rule to fire when Invoices are created, you can take a number of actions with respect to the Invoice. One simple action is to simply assign all Invoices to a user or Team in the Finance/Accounting department of your organization so that the Invoice can be entered into the billing system and delivered to the customer. This is a simple, yet effective, means of process integration. Of course if your organization is using the integration to Great Plains or another accounting system, this process will be automated. For information on configuring workflow, refer to Chapter 12, "Workflow." For information on the Microsoft CRM to Great Plains integration, refer to Chapter 13, "Microsoft CRM Integration and Data Conversion."

Invoices

The Invoice record is nearly identical to the Order record. The biggest difference is that a Close Invoice button replaces the Create Invoice button. Invoice records are used to create the bill that is sent to the customer. Order records are used to record the acceptance of the Quote and to trigger the creation of the Invoice. See Figure 7.14.

Figure 7.14. Closing an Invoice.

As with Quotes, Invoice records can be printed using Word merge by users of the Microsoft CRM Outlook client. Invoices can also be printed from the Microsoft CRM Web client, but customization of the format is more difficult and requires more of an administrative skillset.


Competitors

Microsoft has done a good job of integrating the need to track data about competitors with the need to track where you are seeing your competitors and how successful you are as you confront them.

Competitor records, pictured in Figure 7.15, can be set up under the Sales area of Microsoft CRM. With respect to Competitors, Microsoft CRM enables you to track

  • Key high-level data points

  • SWOT Analysis (Strengths, Weaknesses, Opportunities, and Threats)

  • Opportunities where you are competing against the Competitor

  • Your Products that compete with those of your Competitor

  • Your Sales Literature that can be used to compete against your Competitors

  • Notes and Attached documents providing further information on your Competitors

  • Additional, custom fields added through system customization

Figure 7.15. The Competitors screen.

Because you can associate Competitor records to Opportunity records, you can easily see who your competitors are on an Opportunity-by-Opportunity basis. Likewise, you can also see all Opportunities where you are competing with a given Competitor. Perhaps most useful is the ability to group all information about each Competitor in a single area. For example, you can attach documents related to the Competitor directly to the Competitor record in Microsoft CRM.

One thing to consider when setting up Competitor records is that Competitors don't always come in the form of companies competing directly in your market space. It is just as easy to face competition from your prospect's internal resources or budget shifting to another priority. Consider setting up Competitor records for non-traditional competitive factors such as these.

If there were one thing we could change about the way Competitors are handled in Microsoft CRM it would be the inability to denote which Competitor won an Opportunity. Of course, you can always add a custom field at the Opportunity level to do this, but it would be nice to have an intersection between Opportunity and Competitor to define the outcome of the Opportunity.


Activities and Sales Process

As discussed in Chapter 4, "Microsoft CRM Functional and Conceptual Overview," Activities represent specific interactions relating to the various records in Microsoft CRM. Specifically, you will create Activities to track

  • Tasks

  • Emails

  • Phone Calls

  • Letters

  • Faxes

  • Appointments

Activities are where you track all ongoing conversation notes related to the object to which you are attaching the Activity. Activities are comparable to what many CRM systems refer to as notes or work notes. Microsoft CRM Notes are presented separately from Activities and can be used to store relevant data and attachments related to the object to which the Note is attached.

With all other Microsoft CRM Activity tabs, there is an Activities tab and a History tab. When an Activity is created, it appears on the Activities tab. When the Activity is closed (remember that closed here means that the record's status has been changed to closed, not just that the record's screen has been physically closed), it moves to the History tab. This enables the user to look through all the interactions to date.

The Activities tab on Sales Opportunities has an additional tab titled Sales Process. Activities are automatically added to the Sales Process by Workflow rules in the system, as shown in Figure 7.16.

Figure 7.16. Newly created Activities for a Sales Process.

Workflow rules for sales processes are created in a Microsoft CRM application titled the Workflow manager. A system administrator or power user will normally use this tool. Workflow manager enables multiple sales processes to be configured for the different types of products and services you sell. Figure 7.17 depicts the creation of a Sales Process.

Figure 7.17. Configuring a Sales Process in Workflow Manager.

The Workflow manager can automatically add sales processes to Opportunities. Additionally, Sales Processes can be manually added by selecting Apply Rule from the Actions menu on the Opportunity screen, shown in Figure 7.18.

Figure 7.18. Manually applying a Sales Process to an Opportunity.

Each stage of a Microsoft CRM Sales Process can trigger events like Activities and can require that certain Activities be marked as complete before advancing to the next stage in the process. The Opportunity screen displays the current sales process stage in its lower-right corner, so any user can easily see how far along the Opportunity is in the process.


Marketing Functionality

Microsoft CRM Version 1.0 has been promoted as having sales, service, and light marketing functionality. Let's take a look at the features in Microsoft CRM that can be categorized as marketing functionality. Specifically, the marketing-related features of Microsoft CRM Version 1.0 are

  • Lead Management

  • List Management and User Data Import

  • Direct Email

  • Mail Merge (Outlook Client)

  • Marketing Encyclopedia (Sales Literature)

  • Competitors (already covered in this chapter)

Lead Management

Lead Management refers to the capability to work with Lead records in what might be referred to as a marketing sandbox. The term sandbox is used to make the point that the Lead records are contained in a separate data structure from Contacts and Accounts. This is beneficial not only to marketers, but also to salespeople in that, unlike many CRM systems, these unproven Lead records are not piled in with all your day to day data. This allows for a process where Leads can be nurtured and qualified, and then either converted to Contacts, Accounts, and Opportunities or disqualified and set aside away from the main data area. Most Opportunity qualifications occur in the Lead area, and then are converted and assigned to sales personnel upon qualification.

List Management and User Data Imports

List Management refers to the capability to easily import lists of Lead data and work with it in the system. The Import function under the main Tools menu enables a user to import Contact or Lead data from various file types. This tool is shown in Figure 7.19. This data import tool enables non-technical marketing personnel to easily import trade-show lists and purchased lists for Opportunity qualification.

Figure 7.19. Mapping fields using the data import tool.

NOTE

The data import tool presented here is a basic tool for importing core Lead and Contact information. We'll refer to it as the user data import tool because it is designed for users of the system. As of this writing, Microsoft was still in the process of creating another data import tool for importing standard format versions of competing CRM tools such as ACT!, Goldmine, SalesLogix, and Great Plains Siebel Front Office.

The data import tool is fairly straightforward. You can access it by selecting Import from the main Tools menu. The first time you use this tool, it will download an ActiveX control to your browser, and you will be asked to accept the download. Following this, you are asked to browse for a file and, after you select a supported file type, you are presented with a page (Figure 7.19) to map the fields you want imported. The term map comes from the phrase data mapping, which refers to specifying how one field in one file (the source) will be imported, and potentially transformed, into another file (the target). The term transformed refers to performing some operation on a source data field to alter it before it is inserted into its mapped target data field. An example of data transformation is taking all instances of the string Georgia and turning it into the string GA. The data import tool does not provide transformation utilities, so you will want to do this in another tool (for example, Microsoft Access, SQL Server, or Excel) before importing your data. The data import tool accepts tab, comma, and delimited text files.

TIP

If you are importing dates, you must use the YYYY-MM-DD format or the date will be rejected.

The Microsoft user data import tool enables you to import data into either Microsoft CRM Lead or Contact records. If you choose Leads you are given the option to import either from a CSV or text file. CSV stands for comma-separated value and is a type of text file with all data fields being separated by commas. Often, the first row of a CSV file will contain the names of the fields being imported.

TIP

The user data import tool also accepts the semicolon as a valid field separator.

Microsoft Excel can recognize CSV and Text (TXT) files and open them with each field being placed in a different row. Microsoft Excel can also export data to CSV and text files so that you can transform your data in Excel, and then export it to CSV or Text for import into Microsoft CRM. The main difference with respect to how Microsoft Excel works with CSV and text files is that because CSV is a standard format (that is, Excel knows what to expect) it can open these files directly. With text files, Excel will launch the Text Import Wizard, which will walk you through steps so that you can define some variables about how the data is formatted and how you want it to be imported into Excel. So, like most things in life, one option (CSV) is faster, while the other (text) is slower, but provides more flexibility.

TIP

If your data is in an Excel format, open it and choose Save As and you will be given the option of saving it in CSV (Comma delimited) (*.csv) format. This format enables you to import the data.

If you choose to import your data into Contacts records, you are given the option to import the data from a file or from Microsoft Outlook. If you choose to import from a file, the process is identical to importing Leads. However, if you choose to import from Outlook, you are then asked to identify a profile and Contact folder from which to pull the data. This can be a good option for importing the data of a new salesperson who has personal contact information in an Outlook .pst (Outlook's Personal Folders format) file. The data import tool pulls Outlook data regardless of whether it is in a .pst file or in a mailbox on your organization's Exchange server.

Direct Email

We've already mentioned that Microsoft CRM provides the capability to perform direct emails to lists of Leads, Contacts, and Accounts. In Chapter 5 we outlined the process of setting up email templates. Now let's explore those templates and get used to what is taking place behind the scenes.

Email can be sent from Microsoft CRM in one of two ways. The first is on a one-to-one basis as Activities. The second is in bulk from the Actions menu. Both of these operations allow you to select from a list of email templates that you can create. The beauty of email templates is that they allow you to pull data points from the records in question and merge them into the body of the email. Microsoft CRM even enables you to pull data points from records that are related to the record in question. For example, if you set up an email template for Opportunities, you will be able to merge in data from the Opportunity, the User's profile, and the associated Contact and Account records. Additionally, you can specify the user or queue from which the email will be sent. This will enable a marketing employee to set up a batch email to be sent under the name of another person in the company or by a company email alias that has been mapped to a Queue. Figure 7.20 illustrates a batch email being sent from a Queue.

Figure 7.20. Sending a batch email from a Queue.

TIP

When using Microsoft CRM's direct email functionality to send emails to Account records, be aware of the pecking order used to determine the recipient email address. Microsoft CRM will first look to see if the Account has a primary contact with an email address and, if so, will send the email to the primary contact's email address. If a primary contact is not linked to the Account, Microsoft CRM will use the Account's email address if populated.

NOTE

Beware using Microsoft CRM as a bulk email tool. Although it certainly can be used this way, it is probably more intended and practical for use in sending groups of emails to customers and warm prospects. Because the Microsoft CRM email functionality actually sends the emails from your company's Exchange server, you run the risk of having your Exchange server blacklisted if you are perceived as sending large amounts of unsolicited email (spam). Having your company's Exchange server blacklisted can have significant repercussions especially if large email communities such as America Online blacklist it. If bulk email is part of your marketing strategy take a look at vendors like Silverpop Systems www.silverpop.com, or Microsoft's own bcentral.

Mail Merge

The email capability just discussed is available only through the Web interface of Microsoft CRM. This is because the email functionality makes a direct call to Exchange server, something that cannot be achieved when a user is disconnected and using the Microsoft Outlook version.

Similarly, the Microsoft mail-merge functionality provided with the Outlook client is not available through the Web client. This is because it is generally accepted that a computer running the Outlook client will have a local copy of Microsoft Word available to automate (that is, start up and send data to). Mail merge is covered in detail in Chapter 8, "Microsoft CRM Sales for Outlook."

Marketing Encyclopedia (Sales Literature)

The Sales Literature tab of the Microsoft CRM Sales area provides the capability to create a central, shared Marketing Encyclopedia for your organization. We use the phrase Marketing Encyclopedia here because the tab can be used for much more than just Sales Literature, as shown in Figure 7.21.

Figure 7.21. The Sales Literature screen.

With Sales Literature, you can label and classify each group of attached documents, as shown in Figure 7.22. Each Sales Literature record is associated with a Subject and has a type field to denote whether the item is a presentation, price list, and so on. As with all fields, you can modify the values of the type of field as desired. You can also give each Sales Literature item an expiration date. This is very useful for price lists and other time sensitive documents.

Figure 7.22. Attaching a file to a Sales Literature record.

With each Sales Literature record, you can attach multiple files of any type. Each file can be given a description as well as an abstract describing its use and any other relevant information about it. Furthermore, you can associate Sales Literature records with Competitor records.

TIP

Because you can associate Competitor records with Sales Literature records, you might want to attach all competitor documents to a Sales Literature record, and then associate that record with the corresponding Competitor record. This avoids the situation of having to attach all documents related to Competitors to Notes on the Competitor record.

Sales Literature records can be used to centralize all marketing information across your organization. Because users of the Microsoft CRM Outlook client can synchronize these records, the information and attached files can be available to remote users even when they are not connected to the network.


Use Case Corner—Tracking Marketing Campaigns

From what we've learned of future versions of Microsoft CRM, extended marketing functionality is a feature set that will be added (albeit probably not until late 2004). This is great news because the actual tracking of marketing-campaign information is not provided in Version 1.0 of Microsoft CRM. There are, however, 3rd party add-on products that provide marketing campaign tracking functionality.

There is a way to track campaign information that classifies as a workaround, but actually works very well. This workaround involves keeping a Microsoft Excel list of marketing campaign event codes and associating these codes with Lead and Contact records through the addition of a new tab and a couple of custom fields. The components necessary to implement this customization are

  • Create the file CampaignCodes.xls (a template is provided on the book's accompanying CD) and add it as a Sales Literature Item

  • Create the field, CampaignCodes, on the Leads and Contacts objects through Schema Manager in Deployment Manager

  • Add the field, CampaignCodes, to the Leads and Contacts forms through System Customization

  • Modify the Lead to Contact mapping in Deployment Manager, so Campaign Codes on Leads will flow through to Contacts when a Lead is converted

Without further adieu, let's get busy. We'll start by using Deployment Manager's Schema Manager to add the fields, as shown in Figure 7.23. Deployment Manager and Schema Manager are discussed in detail in Chapter 11, so refer there for details.

Figure 7.23. Adding a field in Schema Manager.

Next, let's set up our spreadsheet to list the campaign codes, as shown in Figure 7.24. We'll attach this to a Sales Literature record so that other users can have access to the codes.

Figure 7.24. Excel spreadsheet to track Campaign Codes.

Using System Customization, we'll add a Marketing tab to the Lead and Contacts forms and put our Campaign Codes fields on these tabs, as shown in Figure 7.25. For more information on System Customization, see Chapter 11.

Figure 7.25. Adding custom marketing tab and fields to the Lead and Contact forms.

The Campaign Codes field is used to maintain the campaign codes of the marketing events for which the Lead or Contact has been targeted. By tracking this information, we can easily pull a list of these individuals for mailing, emailing, and so on.

The final step in the process is to map the Campaign Codes field on the Lead record to the Campaign Codes field on the Contact record, as shown in Figure 7.26. This mapping will ensure that when a Lead is converted to a Contact, the campaign codes are pushed over to the Contact record.

Figure 7.26. Mapping fields in Deployment Manager.

With all the pieces in place, all you have to do is ensure that your users know to add the appropriate campaign codes as they interact with their Leads and Contacts. By having the campaign codes on the Lead and Contact records, you will be able to easily track the subject of each campaign. You can take this a step further if you want and create additional fields to show who actually attended which events. You could also do this by concatenating a suffix on to the campaign codes to indicate that a Lead or Contact attended an event (for example ASG1.A = attended event ASG1). The bottom line is that where there's a will there's a way.


Summary

This chapter went into detail on the Sales Force Automation Functionality of Microsoft CRM. I stuck to the Web client because there is a lot to cover, and we'll be looking at the Outlook client in the next chapter.

Lead records in Microsoft CRM provide a great way to keep your prospect data separate from the rest of your data. This keeps service people from having to wade through a lot of information that is irrelevant to them. After a Lead has shown promise, it can be converted to a Contact, Account, and/or Opportunity and put in with the rest of your data.

Microsoft CRM enables you to divide your sales team into Sales Territories. This gives you flexibility when reporting and enables you to assign specific Accounts to territories if this makes sense in your business model.

Sales Opportunity records in Microsoft CRM give you the flexibility of tracking all touch points related to your potential revenue generating events. From Sales Opportunity records you can create Quotes, Orders, and Invoices. You can also automate sales processes through workflow so that Activities are automatically generated and attached to the Opportunity. Sales Opportunities can be associated with Competitor records to show who your competition is on any given Opportunity. Additionally, these Competitor records enable you to track and analyze your competition.

Although Version 1.0 of Microsoft CRM is said to have "lite" marketing functionality, there is a lot you can do with it to improve your marketing efforts. Marketing capabilities in Version 1.0 include Lead Management, List Management, User Data Import, Direct Email, Mail Merge, and Marketing Encyclopedia.


Chapter 8. Microsoft CRM Sales for Outlook

In this chapter

Offline Concepts

The Microsoft CRM Sales for Outlook Interface

Mailboxes and Folders

Typical Microsoft CRM Configuration

Going Offline/Synchronizing

Synchronization Under the Hood

Configuration and Customization

Deployment Considerations

Use Case Corner—Mobile Portal: Extending the Reach of Microsoft CRM

Summary

Now the real fun begins. Sales people all over the world finally have the kind of tool they have always wanted but could never find; a CRM system that is fully integrated into their email, contacts, and calendar application.

Microsoft CRM's Outlook client, Microsoft CRM Sales for Outlook, provides an interface that combines email, contacts, calendar, and tasks with true CRM functionality; and it does it all within a unified interface. For purposes of brevity I'll refer to Microsoft CRM Sales for Outlook as CRMSO. With CRMSO, there's no more switching from CRM to email and no more pasting emails into CRM work notes. On top of all that, sales users can work with their data even when they are not connected to their network.

Before we go any further, we should explain what is and what is not included in this chapter. This chapter covers using the CRMSO interface. It does not repeat most of the information covered in Chapter 7, "Sales Force Automation." If you haven't read Chapter 7 yet, you'd do well to go through it before reading this chapter.

Because we're fresh from discussing the feature set of the Web (that is, online) client of Microsoft CRM, let's compare the features found in the offline versus the online clients. Table 8.1 lists the main feature sets of each version.

Table 8.1. Web Client Versus Outlook (CRMSO) Client Features

Feature

Web Client

Outlook Client

Home Page

Yes

Yes

Leads

Yes

Yes

Contacts

Yes

Yes

Accounts

Yes

Yes

Opportunities

Yes

Yes

Competitors

Yes

Yes

Products

Yes

Yes

Sales Literature

Yes

Yes

Activities

Yes

Yes

Quotes

Yes

Yes

Orders

Yes

Yes

Invoices

Yes

Yes

Cases

Yes

No

Knowledge Base

Yes

No

Contracts

Yes

No

Reports

Yes

No

Workplace

Yes

Yes/No—the Outlook client has a view called Activities, which is similar to Workplace

Settings (Configuration)

Yes

No

Mail Merge

No

Yes

Word Merge

No

Yes

Bulk Email

Yes

Yes/No—the Outlook client lets you mail merge Lead, Contact, and Account information into Word templates that can be automatically emailed from the user's computer

Workflow

Yes

No—workflow takes place when records are synched

Promote Email

No

Yes

Attach Documents

Yes

Yes—user has ability to filter documents based on size

Convert Quote to Order

Yes

Yes/No—A user working with CRMSO in offline mode can select Create Order, but the Order does not get created until the user goes back online. A user working with CRMSO in online mode can create an Order from a Quote just as a user of the Web client would.

Create Invoice

Yes

Yes

Create Invoice from Order

Yes

No, A user in offline mode can create an Order record and can create an Invoice record, but cannot create an Invoice from an Order. In other words, the user does not see the Create Invoice button on the Order record. A user working with CRMSO in online mode can create an Invoice from an Order just as a user of the Web client would.

Work without network connection

No

Yes

The offline client is focused on sales functionality and also adds Microsoft Word merge functionality for producing mail merge letters, as well as merge documents such as quotes and invoices. Also, if you look at the Actions list on Leads, Contacts, and so on, you'll notice that the mail merge functionality takes the place of the Bulk Email functionality. This enables the user to perform Microsoft Word mail merges that can produces letters, envelopes, lists, and emails.

Users of CRMSO have access to all the functionality that their license provides, even if this functionality is not part of the CRMSO client. An icon on the CRMSO client provides this access. This icon, labeled Online Services, lists Reports, Cases, Contracts, and Settings links. When a user clicks any of these links, the Web client is launched and the user can access the requested function.


Offline Concepts

One of the most powerful and compelling features of the CRMSO offline client is its capability to take the users' data offline. What this means is that a user who has the Outlook client installed can synchronize her records and work with those records even when her computer is not connected to a network. This is extremely useful for traveling sales people who want to work in hotels, customer offices, airplanes, and other locations where Internet access in unavailable or limited by speed or ability to connect to the corporate network.

NOTE

The ability to work with a copy of your data while not being connected to a network is called by many different names in the CRM world. Some of these names are remote, disconnected, unplugged, and, of course, offline.

Let's discuss what is meant when we say that users are able to take their records offline. By default, the CRMSO client will synchronize copies of all records in the user's Business unit and to which the user has access when using the online client. The exception to this would occur if the user deselects the "only synchronize data from my business unit" checkbox on the synchronization screen (see Figure 8.14 later in this chapter). In this case, the user would only synchronize copies of all records to which they have access.

Figure 8.14. Preparing a mail merge by selecting from the list of available Contact record fields.

What all this means is that if the Outlook client is to be used in your deployment, you will do well to put extra thought into record access rights as well as the structure of your Business Units. Consider the example of a company with a single organizational unit and no record access restrictions. In this case, the user would synchronize all records she has access to when online, not just those records in her Business Unit. As we'll discuss later, less data is more when dealing with offline solutions. Make sure to plan properly and avoid synchronization overload.

NOTE

The phrase go offline means a copy of a record will be synchronized to the offline database.

Figure 8.2 depicts working with offline records as taking a copy of a slice of the records in the main CRM database. For the most part, any company that installs Microsoft CRM will have a single, central CRM database where master copies of all CRM records exist. By going offline, the user is taking a copy of these records to work with when he is not connected to the company network.

Figure 8.2. The concept of working with records offline.

Microsoft CRM uses Microsoft's database product, SQL Server 2000, for its central database. CRMSO installs the desktop edition of SQL Server, known as MSDE (Microsoft SQL Desktop Edition), on the sales user's computer. The synchronization is carried out by SQL Server replication.

NOTE

Microsoft CRM Sales for Outlook is not supported on Microsoft Windows 98, Windows 98 SE, Windows Millennium Edition, or Windows NT Workstation 4.0.

When a user has a copy of a CRM record in his offline database, he is able to perform any actions on the record that his security roles and privileges allow. If the user has authority to edit the record and changes the phone number, for example, this change will be reflected in the master CRM database when the user goes back online and synchronizes his data. When a user is working in the offline mode and chooses to "go online," the system will synchronize any offline changes to the master CRM database. This synchronization ensures that all changes made while offline are incorporated into the master CRM database each time the user goes back online.


The Microsoft CRM Sales for Outlook Interface

Figure 8.3 shows the CRMSO interface. Perhaps the first thing you notice is that the CRM screens look identical to their Web-version counterparts.

Figure 8.3. The Microsoft CRM Sales for Outlook (CRMSO) interface.

Installing Microsoft CRM Sales for Outlook has added two main components to Microsoft Outlook. First, the installation added a new toolbar under the traditional Outlook toolbar. Second, the installation added a new shortcut bar with icons that give access to the CRM folders. Figure 8.4 presents the same screen as Figure 8.3 except that the folder list has been displayed using the view menu. Notice that each of the CRM areas has been modeled as a separate Outlook folder in the folder list.

Figure 8.4. The Microsoft CRM Sales for Outlook (CRMSO) interface with the folder list displayed.

We mentioned before that CRMSO uses the MSDE database, so all the synchronized CRM data is housed in this MSDE database. This is good news because it means that your offline database is capable of handling a large amount of data.

TIP

If you are seeing generic folder icons instead of the snazzy Microsoft CRM folder icons in this chapter's screen shots, it is because you have installed Microsoft CRM Sales for Outlook with Outlook 2000 instead of Outlook 2002. Outlook 2002, which ships with Office XP, enables the presentation of the descriptive icons. Both Outlook 2000 and Outlook 2002 are supported versions for CRMSO.


Mailboxes and Folders

If you've used Microsoft Outlook for a while, you've probably heard the terms mailbox, personal folders, public folders, offline folders, and archive folders. Add to this the new concept of CRM folders and it can get a bit confusing. Let's make some sense of it.

To use CRMSO, your company must be set up to use Microsoft Exchange Server as its email server software. Exchange is responsible for receiving, sending, and storing email, among other things. When using Exchange server, you can specify where you want your messages to be delivered. The options are

  • Exchange Mailbox

  • Personal Folder file

Exchange Mailbox

Mailboxes are structures on the Exchange server where your mail can be delivered. In reality, the term mailbox is deceiving because this mailbox holds more than just email. Your Exchange mailbox also holds tasks, appointments, notes, and contacts. If you're set up to only use your mailbox without other folders (offline and/or personal folders), all your mail stays on the server and each time you open a message, Outlook fetches it from the server and displays it on your computer. Exchange sets up a mailbox by default when a new user is added.

Personal Folder File

You can optionally create a personal folder file for mail delivery and/or storage locally on your computer. A personal folder file is a file with a .pst extension that is stored locally on your computer. If you choose to have your mail delivered to your personal folder file, each mail item will be downloaded to your computer when you check your mail. Copies of your downloaded messages will not be stored on the server. You can create a personal folder file and not have your mail delivered to it. This is common in cases where you want to keep copies of more mail than your system administrator has configured Exchange to allow.

The other file types involved with Exchange/Outlook/CRM are

  • Offline Folder File

  • Public Folders

  • Archive File

  • CRM Folders

Offline Folder File

If you use your Exchange mailbox for email delivery and storage, you can set up an Offline Folder file to provide you with copies of messages so that you can read and reply to them when you are not connected to the network. Offline Folder files end in an .ost extension and enable you to specify which folders are synchronized.

Public Folders

Public Folders are folders that reside on the Exchange server and provide a common place for the storage of messages and other Exchange objects. You can synchronize public folder information to Offline Folders for disconnected use.

Archive File

Outlook can be set up to archive objects on a scheduled interval or on demand. Archiving is a way of keeping local copies of items to which you might want to refer in the future. An archive file is a local .pst file (typically named archive.pst). Outlook's archiving mechanism makes it easy to move items into archive files.

CRM Folders

CRMSO installs a series of folders to house CRM objects including Contacts, Leads, Accounts, Activities, and so on. To do this, CRMSO uses a personal folder file (MSCRM.pst) to represent the folders in the interface. However, this .pst file does not store the offline CRM data. All data storage is handled by the MSDE database.


Typical Microsoft CRM Configuration

With CRMSO, the most typical configuration is one where email is delivered to your Exchange Mailbox and you potentially have an offline folder file set up to work with email, appointments, and so on, when you are not connected to the network. You can also have a personal folder file set up to store important messages when you reach your allotted mailbox space limit. Furthermore, at some point you will probably set up an archive file to move off older messages that are worth keeping.

The previous scenario is illustrated in Figure 8.5, which shows the relationship between the Exchange server, CRM server, user's computer, and user's Personal Digital Assistant (PDA).

Figure 8.5. Typical Email/CRM/PDA configuration with user having mail delivered to their Exchange Mailbox.

CRMSO interacts only with your Exchange mailbox and creates copies of some of the CRM objects. Table 8.2 illustrates the mapping of CRM objects to Outlook/Exchange Objects. Note that only Contacts, Tasks, Emails, and Appointments are synchronized between Exchange/Outlook and CRM.

Table 8.2. Mapping of Outlook/Exchange Objects to CRM Objects

CRM Object

Exchange/Outlook Object

Lead

None

Contact

Outlook Contact

Account

None

Task Activity

Outlook Task

Fax Activity

None

Phone Call Activity

None

Email Activity

Outlook Email

Letter Activity

None

Appointment Activity

Outlook Appointment

Note

None

None

Note

Now we're ready to discuss where CRM objects are stored relative to Outlook/Exchange objects.

If you are using CRMSO and want to create a Contact record that you don't want to show up in the corporate CRM database, use the normal Outlook Contact create button you are accustomed to using. You might want to keep a Contact record from showing up in the database, for example, if you were keeping family Contact records that you wouldn't need in your corporate CRM database. Figure 8.6 shows the standard Outlook contact form.

Figure 8.6. Using the standard Contact button to create an Outlook Contact record that will not become a CRM Contact record.

This same principle applies to Outlook Appointments, Tasks, and Emails. If these objects are created using the standard Outlook buttons, they are not added to the CRM database. This enables you to decide what you want in CRM, and what you want only in your Exchange mailbox.

When using CRMSO, if you use the CRM toolbar to create a CRM email, CRM Contact, CRM Appointment, or CRM Task, these objects appear in both your Exchange Mailbox as well as CRM. Figure 8.7 shows these buttons.

Figure 8.7. Use the CRM toolbar to create objects that will be available in your Mailbox as well as CRM.

Likewise, when using CRMSO, Contacts, Tasks, and Appointments that you create in CRM are added both to CRM and Outlook/Exchange.

TIP

If you use the Web interface to create a Contact, Task, or Appointment object that object will not be added to your Exchange mailbox. This means that any files or devices (for example, your Offline Folders, Palm Pilot, iPaq, or Blackberry) that synch up with the Mailbox will not receive a copy of this record. In other words, if you rely heavily on the mailbox or the folders and/or devices that synch to it, make it a habit to exclusively enter data through the CRMSO interface using the CRM toolbar.

Table 8.3 provides more detail about the creation of Contacts and where Contacts are seen depending on how they have been created. This information is especially important for users who use PDA devices that synchronize information from their Outlook Contacts folder.

Table 8.3. How You Create a CRM Contact Determines Where It Is Available

Contact creation method

In CRM?

In Outlook?

CRM Web client, New Contact button

Yes

No

CRMSO client, CRM Contact folder, New Contact button

Yes

Yes

CRMSO client, standard Outlook new Contact button

No

Yes

CRMSO client, CRM Contact button on CRM toolbar

Yes

Yes

CRM Web client import tool

Yes

No

CRMSO client import tool

Yes

Yes

In the cases where both a CRM Contact and an Outlook Contact have been created the two records will automatically stay in synch with each other. However, if one of the two records is deleted, the other record will not be deleted.

TIP

Table 8.3 shows how the method of creation of Contacts impacts where the user can see those Contacts. This is good to know when importing data. For example, if you use the import tool on the Microsoft CRM Web client to import Contacts, the Contacts you import will not show up in your Outlook mailbox Contacts folder. If you want the Contacts to show up in your Outlook mailbox Contacts folder (for synch to your PDA), use the import function in the CRMSO client. Also, if you want to see which Contacts in your Outlook Contacts folder are also CRM Contacts, use the Phone list view and look at the record icons. CRM Contacts will have a CRM Contact icon, which is shown in Figure 8.8.

Figure 8.8. Using the Outlook phone list view to see which Outlook Contacts are also CRM Contacts.

Promoting Emails to CRM Activities

If you refer again to Figure 8.7 you'll notice that there is a button labeled Promote Email to CRM Activity. To understand what this does, let's take another look at the User Options screen. You can get to the User Options screen under the Tools menu. Figure 8.9 shows the Activities option of the User Options screen.

Figure 8.9. Setting the user's email options.

The Microsoft CRM Exchange Connector, a separate server application that is included with Microsoft CRM, monitors incoming email messages to find messages that are related to CRM objects. As it finds these messages, the connector adds them to the appropriate CRM record as Activities. The User Option lets the user decide whether they want all incoming messages with matching email addresses to be added to the CRM record or only those messages that originated from CRM records.

TIP

Chapter 5, "Setting up Microsoft CRM," talked about the CRMEmailEnabled setting with respect to Active Directory. It is this setting that must be configured to have all incoming email added to CRM for a user. Refer to Chapter 5 for information on configuring this.

When an email is sent from Microsoft CRM, it is tagged with a unique identifier, a GUID (Global Unique Identifier). This GUID, which is currently stored in the email's subject field, represents the Regarding property on the CRM object from which the email was sent. The guid is placed in a Regarding property on the email. When the recipient of the message replies to the message, the GUID stays with the message. The Exchange Connector scans incoming email, looking for these GUIDs and attaching GUID-carrying messages to their corresponding CRM objects. If the user chooses the option where all incoming email is converted to CRM Activities, incoming emails without CRM GUID's are matched to email addresses (if they exist) in the CRM database and converted accordingly. When no matching email address is found, the email Activity is created, but the sender's email address is marked as unresolved, leaving the user to resolve it.

NOTE

The GUID, which is placed in the email subject line, must not be removed or modified if the email thread is to be tracked in Microsoft CRM. Please refer to Chapter 5 for detailed information on Microsoft CRM's email tracking functionality.

The promote button comes in handy when an email makes it past the connector, but you want it converted to an Activity anyway. This might happen when an important prospect decides, for whatever reason, to email you from an email address not on file, perhaps a personal email address. In this case, you can select the email in your Inbox, select the promote button, and then select the CRM object to which you want the new Activity attached. Figure 8.10 illustrates an email in the process of being promoted. The user selects a value for the Regarding field so that the email Activity is attached to the proper CRM record.

Figure 8.10. Promoting an unrecognized email to a CRM Activity. Note that the user must complete the Regarding field to associate the Activity with a CRM object.

Mail Merge

CRMSO has a very slick mail merge functionality that can be used to produce individual documents (one at a time) as well as multirecipient mail merges. The mail merge functionality is available from two main places in the application: the grid view and the File menu.

NOTE

Mail merge functionality is not available in the Microsoft CRM web client. However, using a search or query tool a user of the web client can retrieve a list of records, export the necessary fields to Microsoft Excel, and execute a mail merge directly from Microsoft Word.

Mail merge from the grid view is available for Leads, Contacts, and Accounts and is great for doing multirecipient merges where you have selected a list of Leads, Contacts, or Accounts using either the Advanced Find tool or the standard Microsoft CRM grid.

You can use the mail merge functionality to print Quotes by opening a Quote record and selecting Print Quote for Customer from the File menu. Although you are only printing one Quote at a time this way, you are still employing the same mail merge function used in producing a multirecord mail merge.

In both cases, when you have selected to do a mail merge, Microsoft Word is opened and you are presented with a screen where you can choose the document into which the data will be merged. The mail merge functionality works by opening Microsoft Word and passing it the data needed to produce the requested document. The requested Microsoft Word template must have bookmarks that match the fields being passed. CRMSO installs some preset Microsoft Word templates that can be modified to make custom templates. These templates are files with a .dot extension and by default are installed in the C:\Documents and Settings\<User>\Application Data\Microsoft\Templates\Mail Merge\where <User> represents the user who has the application installed. Figure 8.11 shows this directory with the standard templates installed by CRMSO.

Figure 8.11. The directory for user TJ where CRMSO installs the preset mail merge templates.

Let's take a look at a mail merge in detail. We'll use one of the standard mail merge templates and tailor it for several of our Contacts.

Figure 8.12 shows a list of Contacts being selected from the Microsoft CRM grid. This can be done from the standard Contacts view as well as from the Advanced Find tool on the Tools menu. After we make our selections, we'll use the options menu and select mail merge.

Figure 8.12. Selecting Contacts to do a mail merge.

After you've asked CRMSO to do a mail merge, you are presented with a screen outlining the various mail merge options. Figure 8.13 shows that screen and Table 8.4 explains each of the options.

Figure 8.13. Selecting the type of mail merge.

Table 8.4. Mail Merge Options

Option

Overview

Template Letter

Enables the user to select from one of the templates stored in the user's local mail merge templates directory. After the merge is complete, the document can be printed and/or saved.

Template Email

Enables the user to select from one of the templates stored in the user's local mail merge templates directory. After the merge is complete, Word's email capability can be used to send emails from the user's local machine. Copies of these emails will be stored in the user's email Sent Items directory.

Blank Letter

Presents the user with a blank Microsoft Word document. The user can then use the insert menu to add bookmarks as placeholders for the data being passed into the document. Microsoft Word presents the user with a blank document, and the user can add fields by clicking the more fields button.

Blank Email

Same as Blank Letter except at the end of the mail merge wizard the user is given an option to email the message to the list of records being merged.

Envelopes

Enables the user to configure envelopes for printing.

Mailing Labels

Enables the user to configure labels for printing.

New Document from Existing Document

Enables the user to open an existing document or template and use it as the basis for a new mail merge document.

Figure 8.14 shows the dialog box a user receives after selecting the more fields button when preparing a merge of Contact records. Notice how the first several fields provide information about the user, not the Contact. This enables the user to add information about themself in the merged document.

With the mail merge functionality, individual sales users are empowered to automate professional communications to their prospects and customers. Furthermore, they can quickly produce detailed quote documents for presentation to their prospects.


Going Offline/Synchronizing

As mentioned previously, CRMSO users are taking a copy of their CRM data offline to work with it and later synchronize it back to the main corporate CRM database. By the very nature of this process there are always issues and challenges. Principally, some of the major challenges involved in working with offline data sets are

  • Amount of data to take offline

  • Data Conflicts

  • Recovery from dropped connections or hardware failure

  • Scalability

Each of these challenges is examined in detail in the following sections.

Amount of Data to Take Offline

The rule of thumb on the amount of data to take offline is simple—the less the better. Obviously, from a functional perspective, we want as much data as possible. However, from a technical perspective the challenges of slow connections, dropped connections, and data collisions make smaller data sets more attractive.

Figure 8.15 shows the screen the user sees each time she synchronizes data. The checkbox at the top of the screen enables the user to decide whether downloading attachments is important and worth the trade-off in synchronization time. This refers to all attachments, except Sales Literature. Attachments can account for a lot of data and can really extend the synchronization process.

Figure 8.15. Configuring what data you want to take offline.

NOTE

In addition the Go Offline/Online button on the CRM toolbar, there is also a synchronize option under the CRM Tools menu. The purpose of this option is to allow a user to synchronize data without changing his current offline/online status. However, as of this writing, this feature does not work as designed and always takes the user offline. The recommended workaround is to use the "Go Offline/Online" buttons exclusively until this bug is fixed in a service pack.

The second checkbox in Figure 8.15 enables the user to synchronize only data from their business unit. Again, the records that are synchronized by default are all records to which the user has access. In other words, if the user can see it in the web client, she can synch it. Deselecting the "only synchronize data from my business unit" option is generally not recommended, as it can substantially increase the amount of data that would be synchronized.

The Sales Literature box lists all Sales Literature items that have not previously been downloaded. The user can be more specific with Sales Literature, deciding to take certain pieces and leave others.

Data Conflicts

Data conflicts are part of offline data sets. They are caused because when a user takes a copy of a record offline, the record is still available online for editing by other users. If the offline user and an online user both update the same field to different values, a data conflict occurs when the offline user synchronizes his data.

Microsoft CRM handles data conflicts by saving the last value to update the field in question. Consider the following sequence of events:

  • Bill, a user working offline, changes a Contact's mobile phone number on Wednesday

  • Karyn, a user working online changes the same field on Thursday

  • Bill performs synchronization on Friday

  • Bill's change overwrites Karyn's change even though Karyn's change is technically newer

In our example, an older piece of data beats a newer piece of data. Why? Microsoft CRM cannot trust the date/time that the user's computer said the data was changed; it has no control over the time and date settings on the offline user's computer. If it trusted the offline user's local date and time setting, the offline user could change these settings to artificially alter the sequence of events. The best way to avoid data conflicts is through frequent synchronization of data.

Let's take a look at another example:

  • Bill, again working offline, updates a Contact's postal code on Monday

  • Karyn, again working online, updates the same Contact's title on Tuesday

  • Bill performs synchronization on Wednesday

  • Both changes are written to the master Contact record because two separate fields were updated

Micrososft CRM's synchronization looks at each field individually when determining what data to update.

Another type of data conflict may occur when, for example, a user takes a record offline and the record is subsequently deleted from the online database. Alternatively, a user may receive a data synchronization error if one of his or her offline records has changed business units or he or she has lost permissions to the record. Figure 8.16 shows the screen the user will see when trying to go back online under these circumstances

Figure 8.16. Options for dealing with a Microsoft CRM data synchronization error.

Microsoft CRM provides three options for dealing with this type of data synchronization error. These are

  • Proceed with going online, but save the data changes offline for next time you synchronize— This option allows the user to get any changes that have been made online, but not synchronize their offline changes back to the online environment. This is a good alternative if you want your data now and prefer to deal with the error later. In fact, sometimes data synchronization errors will be thrown for no reason and choosing this option followed by an immediate re-synchronization will reveal that there really is no issue.

  • Stay offline and try and fix the errors so all the data will synchronize— This option can be chosen if you feel you can fix the error by making changes to your offline database before going back online. If you do so and then re-synchronize, you theoretically will not receive the error again.

  • Finish going online and do not save the data changes made offline— This is similar to the first option except the online changes will not be made to your offline database.

We anticipate that Microsoft will continue to build more error trapping and intelligence into the synchronization process so that data errors will be either avoided or handled. For example, as we said earlier, currently it is possible for an online user to delete a record that another user has taken offline. Clearly, there is room for improvement in this scenario.

Recovery from Dropped Connections or Hardware Failure

Being prepared for the worst is an important characteristic of a solution where data synchronization is required. Inevitably, users will be sailing along synchronizing their data when out of nowhere a line goes down, and they lose their connection. How gracefully the system recovers from this type of occurrence determines how well the data stays intact. If the recovery mechanism is poor, the data integrity suffers and changes that were made offline will be lost and/or records will become corrupt.

The Microsoft CRM offline database keeps a running list of the CRM records the user has modified since taking those records offline.

NOTE

The offline MSCRM database has a table called OfflineQueue that keeps a list of all records to be updated.

When the user goes back online, her database automatically begins a synchronization process with the master CRM database and each record is updated as an individual transaction. If one of the computers crashes for any reason or if the connection is dropped, whatever transaction is being performed at the time is rolled back and performed during the next synchronization. The bottom line is that if you lose your connection during a synchronization, some of your data will likely have been synchronized and other data will not have made it. Regain your connection, resynchronize again, and you should be back to normal. More on the mechanics of Microsoft CRM synchronization will be covered shortly.

Using CRMSO

In order to use the Microsoft CRM Sales for Outlook (CRMSO) client in online mode the user must be connected to their domain and have access to the Microsoft CRM and SQL Servers. Unlike the web browser client, CRMSO will not sense whether the user is on the domain and provide a login screen if they are not. Also, unlike Microsoft Outlook, CRMSO has no pop-up screen to ask the user whether they want to work in online or offline mode. This means that in order to use CRMSO while away from the office, a Virtual Private Network (VPN), Remote Access Server (RAS), or other connection method (which allows the user to access the domain) must be enabled.

CRMSO will always open in the same mode as it was last used. For example, if you last used CRMSO in online mode, when you next open the application it will open in online mode. The mode only changes when the user clicks the "Go Online" or "Go Offline" buttons. Because of this, it will be important to provide training on the proper use of CRMSO with respect to connection modes. Difficulties will be encountered if, for example, a user disconnects her laptops to catch an airplane only to find out that she was last connected in online mode and now cannot access her data remotely. In fact, in this situation, it really does make sense that the user should have clicked "Go Offline" before leaving for the airport. Doing so would have performed data synchronization and put the application in the correct mode.

Regardless of the processes that should be followed, any administrator worth their salt will know that users frequently venture outside of standard processes. When this happens, it is helpful to know that there is a registry key that keeps track of CRMSO's last connection mode. The key is labeled RCOffline and can be found on the CRMSO machine under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM. A value of "1" means CRMSO is working in offline mode and a value of "0" corresponds to online mode.

Scalability

Scalability with respect to offline data synchronization refers to the capability to support a large number of users. As you can imagine, the process of synchronizing a data set is very resource intensive, both in terms of the processing happening on the CRM server and in the demand on network bandwidth.

The best advice is to always perform your initial synchronization while connected directly to your corporate network, preferably in the same location as your CRM server is housed. What you are going for here is the best connection you can get while your computer is initially loading your data set. From there on, all your synchronizations will be incremental.

TIP

Think twice about implementation strategies that will require users to synchronize data over a dial-up connection. Microsoft CRM synchronization, like most disconnected solutions, does not perform well over dial-up connections.

The next best piece of advice is to synchronize often and to be frugal about the amount of data you take offline. By synchronizing often, you are minimizing the amount of data that needs to be shuttled between your computer and the CRM server. Furthermore, you are decreasing the probability of data conflicts. If you wait a long time between synchronizations, you will have more data to move, resulting in a higher probability that the records you have changed have also been modified by online users. Limiting what you synchronize is also extremely important, especially when it comes to file attachments. Because Microsoft CRM stores file attachments in the database, the size of your CRM records can be very large. This is why the go offline button gives you several options allowing you to filter attachments.

Database Overview

Up to this point, we have referred to either the main CRM database or the user's local CRM database. In reality, Microsoft CRM installs four databases on the server and two on the user's local machine. These databases are described in Table 8.5.

Table 8.5. CRM Databases

Database

Location

Description

*MSCRM

Server

The central database that holds all transactional CRM information including Leads, Accounts, Contacts, Opportunities, and so on.

*METABASE

Server

The central database that holds all data that describes the transactional CRM data. This includes field names, pick list values, workflow rules, configuration settings, and so on.

*CRMCRYSTAL

Server

The central database that holds data used by the Crystal Reports engine in generating reports. This database does not hold a copy of transactional CRM information for reporting. Rather, it holds a list of Crystal objects needed by Crystal in report generation.

*MSCRMDistribution

Server

The central database used by SQL Server replication to track the status of replication.

mscrm_msde

Client

The user's local database of transactional CRM information.

metabase

Client

The user's local database of meta data. This database is analogous to the METABASE database on the CRM server.

NOTE

All server database names are prefixed with the Organization name that was entered during the Microsoft CRM server installation. For example, if you enter c360 Solutions as your Organization Name, your transactional database will be named c360_Solutions_MSCRM. This design will be effective when multiple CRM databases are housed on a single server for hosting purposes.

Having four separate databases makes more sense when you realize that all transactional information is stored in the central MSCRM database. Looking at it this way, you can really think of it as two main CRM databases: MSCRM and METABASE. CRMCRYSTAL is solely for use by the Crystal Reports engine and MSCRMDistribution is created by SQL Server when you set up replication.


Synchronization Under the Hood

Let's briefly discuss what is happening during synchronization. If this doesn't interest you, go ahead and skip over it. The CRM geeks among us will undoubtedly want to know how and why because synchronization is never an easy proposition.

TIP

Don't expect a definitive synchronization reference here. If you are tasked with really understanding the Microsoft CRM synch process, you need a text that goes into great detail on SQL Server replication. Try Microsoft SQL Server 2000 Unleashed by Ray Jenkins, Paul Jensen, and Paul Bertucci.

Microsoft is definitely eating its own dog food when it comes to the synchronization mechanism used for Microsoft CRM. Microsoft is using SQL Server Replication to keep the main CRM database synchronized with the user's local CRM database.

SQL Server replication is a technology that provides various methods of enabling developers to keep data sources synchronized. There are several benefits gained by using SQL Server replication for data synchronization:

  • Schema changes— SQL Server 2000 supports schema changes during replication. This means that as you create custom fields and add them to forms, the changes will push out to your offline users without any further configuration.

  • Row and Column tracking— SQL Server replication allows for change tracking by row and by column. This means an offline user can make a change to a single field on a CRM record without the entire record being updated upon synchronization.

  • Horizontal and Vertical Filtering— SQL Server replication provides the capability to synchronize a subset of a particular table (for example, horizontal filtering) or only certain columns in a table (for example, vertical filtering).

  • Ability to transfer database objects— SQL Server allows for the replication of not only tables, but also stored procedures.

  • Existing pool of trained resources— Because SQL Server replication is a standard component of SQL Server, a pool of knowledgeable resources exists to maintain it. This can substantially reduce your organization's total cost of system ownership.

SQL Server replication is based on a publishing metaphor. SQL Server enables you to create publications that can be published to subscribing computers.

NOTE

Publications are composed of articles that are most often tables or parts of the data from a table. Articles can also be stored procedures or groups of stored procedures. When someone subscribes to a publication, she is subscribing to the entire publication, including all articles.

In the case of Microsoft CRM, a traditional publisher/subscriber model is used. The CRM server has two publications (one for the MSCRM database and one for METABASE database). Likewise, each CRMSO client has a pull subscription for each of its two databases (one for the mscrm_msde database and another for the metabase database). The word pull is used here because it is the client (the subscriber) that initiates synchronization and pulls the data from the publisher. In reality, it is a bit more complex than this. The client does initiate the replication, but it is then the Distributor, which in the case of Microsoft CRM is also the CRM server, that brokers the replication through the Merge Agent. This distributor has its own database (<Organization>_MSCRMDistribution) used to track replication status.

The type of replication just described is known as merge replication and is used in Microsoft CRM because it can handle the situation where data conflicts occur because of conflicting modifications made on the publisher and subscriber. Merge replication is used exclusively after the user's local database is initially populated. However, to initially populate the user's local database another type of replication known as snapshot replication is used.

TIP

Because CRMSO uses replication to keep your data in synch, you really don't need to worry about backing up your local database. Just make sure to synchronize your data frequently and let your company's computer guy worry about backing up the server.

Snapshot replication in its simplest form is the best method of replication for copying read-only tables from a publisher to a subscriber. When all subscribers are also SQL Servers (SQL Server replication can be used with databases other than SQL Server) snapshot replication can be used in native mode. Native mode means that SQL Server will use the Bulk Copy Protocol (BCP) to copy the data from the publisher to the subscriber. BCP is an SQL Server utility that has been around for several years and is a quick and proven method of copying large data sets from one SQL Server to another. After the BCP snapshot of the initial data set is copied to the subscriber, the merge replication takes over for the ongoing incremental updates.

Figure 8.17 shows SQL Server Enterprise Manager with both a Microsoft CRM server and client (for example MSDE database) registered. On the left side of the screen you can see the two server publications, and on the right side you can see the two client subscriptions. Double-clicking any of these items provides more detail about them.

Figure 8.17. Enterprise Manager with a CRM server and client registered and showing both the publications (server) and subscriptions (client).

    [ Team LiB ]


Configuration and Customization

Chapters 11, "Configuring Microsoft CRM," and 14, "Customizing Microsoft CRM," respectively, deal with the subjects of configuration and customization. We differentiate between these two concepts by defining changes that can be made with a Microsoft CRM GUI (Graphical User Interface) tool as being configuration and changes requiring direct file manipulation (coding and configuration file editing) as customization.

Changes made to Microsoft CRM using the configuration tools provided are automatically pushed out to the CRMSO client application. If you add new schema fields in Schema Manager, and then add those fields to new tabs and sections on forms, these changes will be pushed out to the offline users without any additional effort on your part. If you create new mappings using Schema Manager, these mappings will be respected in CRMSO. This is all built into the CRM platform and is transparent to both users as well as system administrators.

This is really quite impressive if you think about it. Take the case of adding a new field to a form. The user only has to provide the name, data type, list values (if picklist), and form placement for the field using simple GUI tools. The platform takes care of creating a new field in the database, adding a graphical representation of the field (including the corresponding UI control) to the appropriate Web form, and then setting up the schema change and ongoing replication to the offline database. That's a lot not to have to worry about.

Customization is another story. Microsoft has provided ways for ISV's (Independent Software Vendors) to add new tabs and buttons to existing Microsoft CRM screens. For version 1.0, these tabs and buttons cannot be created in CRMSO as they can be in the Web client. This is not to say that an industrious developer couldn't make this happen, but it is not something that is supported or encouraged.


Deployment Considerations

Now that we've discussed all the cool features that CRMSO provides, let's put some thought into what you'll need to consider when deploying it. The first thing you should know is that CRMSO is not a great fit in Citrix/Remote Desktop environments. In this type of hosted environment, you are basically using your client computer as a dummy terminal running all your applications on a server somewhere with multiple user profiles. Version 1.0 of CRMSO does not work in this situation because you cannot have it installed under multiple user profiles on the same computer. You can have multiple profiles on your CRMSO computer, but only one can be running CRMSO. In a typical "traveling sales guy with laptop environment," this is a non-issue.

If you think about it, it doesn't make sense to have an offline database in a Citrix environment anyway. All you would be doing is replicating data onto a server to which you will not have remote.

There is one other consideration when deploying in a hosted environment. That is that the SQL Server, Exchange Server, and CRM Server must be on the same native Active Directory domain. In many hosted environments, several clients all share common Microsoft Exchange and SQL Servers, so putting those on the domain of any one client is not feasible. In many non-hosted environments, it might be simpler to initially create a new native Active Directory domain rather than to immediately upgrade all servers to native Active Directory.


Use Case Corner—Mobile Portal: Extending the Reach of Microsoft CRM

Now that you've mastered Microsoft CRM in the Outlook client, let's look at another interface to access customer information. Dynamic Methods Mobile Portal for Microsoft CRM offers a view of customer data, including sales and service activities and history on mobile devices.

Mobile Portal's look and feel is similar to Microsoft CRM. Where possible icons, color schemes, and drill-down functionality match that of Microsoft CRM. The interface and functionality has been optimized for PDA screen sizes, therefore, screen taps and need for scrolling are minimized.

Access Customer Data

With Mobile Portal, you have the ability to view live customer data when connected wirelessly, or to view cached information when disconnected. Mobile Portal works on wireless enabled PDAs for access to real-time information, whereas nonwireless PDAs can access data while in the cradle for later viewing.

Upon log in, users are brought to the Mobile Portal Home screen. From there they can navigate and view Microsoft CRM data including Contacts, Accounts, Leads, Sales Opportunities, Quotes, Orders, Service Cases, Activities (emails, phone calls, faxes, letters, appointments, and tasks), Notes, Company News, Competitive Information, and Reports. Figure 8.18 shows the Mobile Portal interface.

Figure 8.18. Leverage the Internet.

As a browser-based solution, Mobile Portal offers the capability to also access Web sites for news, maps, financial information, and more. Mobile Portal can link to other data sources, Internet sites, and Web services for additional information. For driving directions, users can click on the driving icon for any Accounts or Contacts with an address, and Mobile Portal passes the User Address Information and Customer Address Information out to a mapping Web site.

Maintenance and Installation

Mobile Portal is designed to dynamically update and display information based on your configuration of Microsoft CRM. As you customize screens and add additional fields with the Microsoft CRM Customization tools, Mobile Portal displays the new fields when they are populated with data. Mobile Portal uses the same security model, including user ID's and passwords, so there is not another set of logins and passwords for users to remember and administrators to maintain.

Mobile Portal is installed on your current Microsoft CRM server hardware. Mobile Portal is optimized for Pocket PC, Smartphone, and Palm devices. There is no client-side maintenance or application installed on the mobile device. Mobile Portal runs on supported browsers for various mobile devices. A full list of supported devices and browsers can be found on the Dynamic Methods Website www.dynamicmethods.net.

Availability

Mobile Portal is available from Dynamic Methods and through select Microsoft Business Solutions resellers.

An online demonstration of Mobile Portal for Microsoft CRM can be found at www.dynamicmethods.net/mobileportal. This link has also been included on the CD that accompanies this book.

This Use Case Corner was contributed by Dynamic Methods, Inc. Dynamic Methods is a Microsoft Certified Partner and a Microsoft Business Solutions Center focusing on Microsoft Customer Relationship Management and Microsoft Great Plains Edition products. The company handles all aspects of technology solutions for midmarket companies including evaluation, implementation, customization, and deployment. The Dynamic Methods team specializes in CRM, Financial/ERP, and Mobile Enterprise implementations to provide practical solutions for business today. For additional information, please visit www.dynamicmethods.net.


Summary

The Microsoft CRM Sales for Outlook (CRMSO) client is a simple, yet effective, way to get your sales users working with CRM. The CRMSO client has the same basic interface as the Microsoft CRM Web client, but it is embedded in Microsoft Outlook. With CRMSO, the user is able to take their CRM data offline for use when no network connection is available.

CRMSO is heavily integrated with Microsoft Exchange so the user has a single place to manage all CRM and non-CRM Contacts, Tasks, Appointments, Activities, and Emails. The solution provides sales users with a single portal through which they can manage all their work.

CRMSO provides tight integration with Microsoft Word to allow users to create merge letters, envelopes, and emails using Word's merge functionality. This merge functionality is also incorporated in the generation of custom quote documents from Microsoft Word template files that a user can customize to his or her liking.

The ability to synchronize CRM data for access while not connected to the network is a huge strength of the CRMSO client application. By implementing SQL Server replication with the desktop edition of Microsoft SQL Server, users are equipped with a traveling office complete with synchronized CRM data and sales literature records.

Acknowledgement

Sections of this chapter were contributed and edited by Rick Thompson. Rick is a Microsoft Certified CRM Professional with Tectura Corporation. You may contact Rick at rthompson@tectura.com.


Chapter 9. Customer Service

In this chapter

Customer Service Concepts

Understanding Cstomer Service Object Relationships

Contract Templates

Service Contracts

Cases

Queues

Use Case Corner—Gracefully Transitioning a New Customer to Your Service Department

Summary

The ability to provide superior customer service is one of Microsoft's key messages in marketing Microsoft CRM. This will undoubtedly be a major driver in convincing business that CRM is a worthy investment. Much has been written about the cost of acquiring customers versus the cost of retaining customers. The verdict is nearly unanimous; it is much cheaper to keep a customer than it is to attract a new one. This is not to say, however, that customer acquisition is not extremely important (it is!), it is strong evidence that investment in customer retention tools can yield a hard return on investment.

Furthermore, the standards for excellent customer service and encompassing systems to provide and improve this service are rising. With more and more consumers becoming familiar with superior customer service models such as Amazon.com, there is increasing pressure for companies of all sizes to provide similar levels of service, if not similar technology tools, to enable these service levels. As consumers we are increasingly apt to select one vendor over another based on what Web-based service tools they provide us. After all, why wait on the phone to order a pizza when you can quickly visit a Web site and with one click order a favorite combination you've ordered in the past?

This leads us squarely back to the concept discussed in Chapter 4, "Microsoft CRM Functional and Conceptual Overview." CRM is a platform through which you can automate all your business processes. Microsoft CRM has been built specifically so that customers and developers can tap into that platform and build functionality specific to the needs and wants of customers. Although Microsoft CRM version 1.0 will not ship with external interfaces for customer interactions, a future release will include a Customer Portal. Furthermore, Microsoft Solution Developer partners are currently building several varieties of customer and partner facing functionality.


Customer Service Concepts

As discussed in Chapter 4, Microsoft CRM comes in different configurations based on the functionality in which an organization is willing to invest. For the purposes of this chapter, we will address the functionality of the Professional edition so that all features are covered. Keep in mind that if you are using a Standard edition you might not see all of the objects and features we discuss here.

The core objects unique to the Customer Service Area are

  • Service Contract Templates

  • Service Contracts

  • Service Contract Line Items

  • Cases

  • Queues

  • Knowledge Base Articles

Of course, these core objects are associated with the core Contact and Account objects that were discussed in Chapter 4. Additionally, the ancillary Activity and Note objects will come into play when tracking our interactions with customers.

So what happened to Leads? In Microsoft CRM, Leads are a holding spot for records so you can evaluate them, and then decide whether you want to convert them into Contact, Account, and/or Opportunity records. You cannot associate Leads with any of the core Customer Service Objects discussed previously, but you can convert Leads into Contacts or Accounts, and then associate Customer Service objects with them.

This might come into play in a scenario where a software company allows Web visitors to register on their site, download a trial software copy, and contact Customer Service for some amount of assistance. On one hand these are Leads, but at the same time they're important enough to merit Customer Service, so they must be converted to Contacts or Accounts to make that association possible.


Understanding Customer Service Object Relationships

Let's dive into each of the Customer Service objects and discuss them in more detail. We'll start by presenting a model of how the various Customer Service objects can be associated with one another.

Figure 9.1 illustrates the relationships between the Customer Service objects. At the bottom of the figure we see that each Contract must be based on a Contract Template. In the main area we see that each Case can (but isn't required to) be associated with a single Contract and possibly a single Contract Line Item. Each Contract and Contract Line item can be associated with a single Product. Or, the Case can be associated with the Product directly. Okay, so what does it all mean? We'd better look at each object in more detail.

Figure 9.1. Relationships between Customer Service objects.

    [ Team LiB ]


Contract Templates

Contract Templates can be set up by going to Home, Settings, Template Manager, Contract Templates. Because Contract Templates are in the administrative area of the application, (for example, Settings) you need the appropriate privileges to access this. Each Contract must be based on a Contract Template, so you have to have at least one template in place before you can set up any Contracts.

Figure 9.2. The Contract Template screen.

Service Contract templates contain a subset of the fields you will see on the Service Contract object. As you can probably guess, the values in these fields are inherited in the Service Contract when you base a Contract off of a template. If values on the template later change, the corresponding values on Contracts created from that template do not. Table 9.1 lists and explains the fields on the Service Contract template screen.

Table 9.1. Service Contract Template Fields and Their Uses

Field

Description

Name

Descriptive name of the template. This name, along with the abbreviation, is displayed when a user sets up a new Contract.

Abbreviation

Abbreviation of the template name. Consider a logical convention for this as it is used to list the templates when a user chooses to set up a new template. You might want to incorporate the product line into the abbreviation if your contract templates relate back to your product list.

Billing Frequency

The interval at which you intend to bill for the service provided by contracts created from the template. Like all values on this screen, you can change this once a Contract is created from it.

Allotment Type

This refers to how the system is set up to show reduction of the services as they are provided per the Contract. Allotment type is set at the Contract level, but the actual allotment amounts are set at the Contract Line item level. So, you cannot mix Allotment types within a single Contract. You have three Allotment type options by default:

Number of Cases

If you select this option you will be allowed to enter a total number of cases on each contract line item added to the contract. As the customer uses these cases, the number of cases is reduced from the total. Microsoft CRM allows you to create Cases when the number of Cases has been used, but it will continue reducing the number of Cases into negative numbers.

Time

This option enables you to enter a total number of minutes at the Contract line item level. As each case is used, the Customer Service Rep can log the number of minutes the case took and this amount will be reduced from the total. Microsoft CRM allows you to create Cases when the number of Cases has been used, but it will continue reducing the number of Cases into negative numbers.

Coverage Dates

This option allows the user to enter a date range for which the customer is entitled to Customer Service. After the end date of that date range has passed, the contract moves to the expired status. New Cases cannot be created against expired Contracts.

Response Level

This field gives some default response levels. These can be used in workflow processes or simply as an indicator to tell the Customer Service rep something about the promised service level for the Contract.

Discount Type

Amount or Percent. This determines how the discount numbers entered in the Contract discount field of the Contract line items are applied to the Contract price. For example, if the user selects "Percent" here and later enters a price of $250 for a contract line item with the number 10 in the Discount field, the discount on that line item will be $25 (i.e. 10% percent of $250).

Description

This provides an area for a longer description of the Contract.

Calendar

The calendar allows the user to select the times of day in which the customer is entitled to Customer Service.


Service Contracts

After you've established your Service Contract templates, you are ready to set up Service Contracts. Contracts are customer specific records that detail the agreement your company has made to provide service to a customer. Contracts contain Contract line items that specifically outline the service agreement for a particular product or service. It is at the Contract line item level that you input the number of allotments (cases or minutes) or the coverage dates for that component of the Contract. In this way, a single contract can cover multiple products and services.

Contracts are created from Contract Templates. If you go to Service, Contracts and click the New Contract button you will be asked to select a template upon which you want to base the new Contract you are creating. Figure 9.3 shows the selection screen the user will see when creating a contract from a template.

Figure 9.3. Choosing a Service Contract template to create a new Service Contract.

To understand how Contracts are used, let's take a look at the Contract life cycle. Figure 9.4 illustrates how a Contract is created from a template and then taken through the various Contract statuses.

Figure 9.4. The Service Contract life cycle.

Each stage of the Contract is represented by a Contract status. The Contract status in Microsoft CRM is visible on the Contract record screen, but is not an editable field that a user can change directly (Microsoft CRM refers to these values as non-editable header information). Contract status is changed by selecting options on the Action menu and by system driven events such as the arrival or the Contract activation or expiration dates. Table 9.2 lists and describes the Contract statuses.

Table 9.2. Contract Statuses

Status

Event

Description

Draft

User has created the Contract

Draft is the default status for a Contract that has been created, but not moved to the Invoice status.

Invoiced

User selects Invoice from the Contract's Action menu

Contract becomes Active when the Contract activation date has arrived. Moving a Contract to Invoiced status does not automatically create an Invoice record in Microsoft CRM.

Active

User put the Contract in Invoice status, and the System changed the status to Active when the Contract activation date arrived

The Contract is in force, and users can create Cases against it.

Expired

The System changed the status to Expired after the contract end date passed

The Contract is out of force and no new Cases can be created against it.

Cancelled

User has put the Contract in Cancelled status

Contracts in Cancelled status are visible in the system, but are not in force. New Cases cannot be created against them.

On Hold

User has put the Contract in Hold status

Hold status will most likely be used mainly to indicate that there is an issue with the Account (for example, payment) and the Contract is temporarily suspended.

Deleted

User has deleted the Contract and it will not show up in the System

Contract record is logically deleted from the database and will not be visible to any users of Microsoft CRM.

TIP

Table 9.2 refers to Contract status changes being affected by either a User or the System. However, keep in mind that Workflow processes can also be created to change the status of a Contract based on other events. The explanations are valid in the absence of Workflow that can be configured to change Contract status.

Invoiced Status

Invoiced status is worth describing in more detail here because it can be a bit confusing. If you are using Microsoft CRM without integration to Microsoft Great Plains (or a similarly integrated back office system), you might expect that moving a Contract to Invoiced status automatically creates a Microsoft CRM Invoice record. This is not the case. By default, in a nonintegrated implementation of Microsoft CRM, moving a Contract to Invoiced status only puts the Contract in a state of waiting for the activation date to arrive, so the status then updates to Active. However, using Workflow, you can create a rule that, among other possibilities, reassigns the Contract to another user, sends an email to anyone with an email address, or creates an Activity and assigns it to any user. This is incredibly powerful. For example, if you have accounting users with access to the system you could simply reassign the Contract to them (or their Team) and have them invoice it. Furthermore, even if the individuals who do the invoicing are not using Microsoft CRM or perhaps are not even employees of your company, you can email them asking them to create the invoice. Refer to the Chapter 12, "Workflow," for a more detailed look at the options.

Contract Object Fields

Let's take a look at the Contract object. Figure 9.5 shows the Contract screen.

Figure 9.5. The General tab of the Contract screen.

Table 9.3 lists and describes the fields on the Contract screen.

Table 9.3. Contract Fields and Descriptions

Tab.Section.Field

Inherited from Template?

Description

General Tab

Header

Contract ID

No

The Contract ID is a unique identifier that can be used to locate and identify the Contract. This is autogenerated when the Contract is created. The prefixes for this number can be configured in Settings, System Customization, Auto-Numbering.

Contract Name

No

This is the user given name of the Contract. It should be specific enough to differentiate it when viewing a lookup of Contracts. See Figure 9.6 for a view of the Contract lookup screen.

Customer

No

This field links the Contract to the Account or Contact that is entitled to receive service under the terms of the Contract.

Contract Address

No

Contracts can be associated with two different addresses. The Contract address field must be linked to an Address for the Customer (Account or Contact) associated with the Contract. Bill To Address must be linked to an Address for Bill to Customer on the Contract.

Contract Start Date

No

The activation date of the Contract. Invoiced contracts will move to the Active status upon arrival of this date.

Contract End Date

No

The expiration date of the Contract. Active contracts move to the Expired status upon arrival of this date.

Duration in Days

No

The number of days between the Contract Start and End Dates. This value is system calculated and is not editable by the user.

Allotment Type

Yes

See Table 9.1 for an explanation of Allotment Type.

Billing Information

Bill To Customer

No

Contracts can entitle service to a customer, but bill the service to another customer. This type of arrangement can occur in situations where a parent company has purchased products and service for a subsidiary, but wants the billing for the Contract to go directly to the parent. In this example, Bill To Customer would be the parent company.

Bill To Address

No

An address of the Bill To Customer.

Billing Start Date

No

Billing Start and End Date have been provided to allow for situations where a customer is pre or post paying for an allotted amount of service.

Billing End Date

No

See previous

Billing Frequency

Yes

Billing Frequency indicates how often to invoice for the Contract.

Cancellation Date

No

This date is uneditable and is inserted by the system when a User or Workflow process cancels the Contract.

Pricing

Total Price ($)

No

This field is system calculated and is the sum of the User entered prices, less discounts, of all line items on the Contract.

Total Discount ($)

No

This field is system calculated and is the sum of all discounts on all Contract line items associated with this Contract.

Details Tab

Contract Type

Discount is (type)

Yes

The selection of Percent or Amount here determines how the number in the Discount field will be applied (for example, as a literal discount amount or as a percent of the Total Price).

Response Level

Yes

An indicator of the level of response the customer should receive. This field can be used in designing Workflow escalation and routing processes. Keep in mind that all Workflow related to Cases has access to the fields on the Contract with which the Case is associated. This means that Workflow affecting a Case can know and take action on the Response Level indicated on the appropriate Contract.

History

Originating Contract

When a Contract is renewed, a new Contract is created as a copy of the renewed Contract. This field links the new Contract to the Contract from which it was renewed.

Contract Template

This indicates which template was used as a model for this Contract. Please note that when the template values are inherited by the Contract, they can be changed without affecting the originating template. Likewise, if the values on the template are changed subsequent to creating a Contract from it, the corresponding value on the Contract will not change.

Owner

The User or Team to which the Contract is assigned.

Description

Description

A memo-field overview of the content of the Contract.

Figure 9.6. Looking up a Contract from a Case record.

Contract Line Items

Contract Line Items detail the specifics of what is actually covered under the Contract. Each line item can be associated with a single product or service and can have its own price and discount. Contracts do not have to have line items and line items do not have to be associated with a Product record. Figure 9.7 shows the Contract Line Item screen.

Figure 9.7. The Contract Line Item screen.

When a user creates a Service Case record, she can optionally associate it to a Contract and a Contract Line Item. If your goal is to track all Service Cases back to their appropriate Contracts and line items, these fields can be made mandatory at the Case level. If your company provides service on a number of cases allotment basis, you will definitely want to require that each Case be associated with a Contract and line item so you can determine when a customer has used their allotted number of cases. Table 9.4 lists and describes the fields on the Contract Line Item screen.

Table 9.4. The Contract Line Item Fields and Descriptions

Section.Field

Description

Title

The User provided description of the line item. This is all the user sees when looking up a line item in a lookup screen. If your Contracts have multiple line items, you want to be specific in this Title and include the name of the covered Product in it.

Product

Lookup field to select the Product to be covered under this line item. This lookup searches through all the organization's products, not only those that have been purchased by the customer.

Unit

The unit of measure of the product to be covered by the line item. This lookup displays only units of measure associated with the Unit Group to which the product belongs. Including the Unit field at the Contract line item level enables you to have multiple Contract line items for different product packaging. For example, you might have one line item for servicing multiuser versions of a software package and another for servicing single user versions.

Quantity

This refers to the quantity of the product that is covered under this Contract line item.

Site

The Site field enables you to be specific as to the location to be supported under the line item. This lookup will lookup addresses associated with the Contract customer (not the Bill To Customer). If a customer has multiple sites and each has a different service calendar or allotment, you can create separate line items per site and more effectively track how the service is being consumed.

Start Date

This value is inherited from the Contract record, but can be changed. Having Start and End Date at the line item level enables you to have service agreements of varying lengths on the same Contract. However, note that the Allotment Type for the Contract is set at the Contract level and cannot vary for the individual line items. Therefore, if your Contract is Cased based, you cannot have Time or Coverage Date based line items on it.

End Date

See start date.

Allotment Details

Total Cases/Minutes

Case-based and Time-based Contracts track the number of Cases or Minutes to which the customer is entitled. As previously stated, you will set the Allotment Type at the Contract level, and then include the number of Allotments at the line item level. When you resolve each Case you can enter the total number of billable minutes used to resolve the Case. If the Contract with which the Case is associated is Time based, the billable minutes is subtracted from the Total. If it is Case based, one case is subtracted.

Allotments Used

This field is system generated and keeps a running tally of the number of Cases or minutes used on the line item.

Allotments Remaining

This field is system generated and displays the difference between the Total Cases/Minutes field and the Allotments Used field. This number can increase if you add additional Cases/Minutes to the Total field.

Pricing

Total Price ($)

The Total Price field represents the total (gross) price for this line item before any discounts.

Rate ($)

Rate is system calculated and equals the Total Price field divided by the Total Cases/Minutes field. In Case-based service Rate is the prediscount cost per case. In Time-based service, Rate is the prediscount cost per minute of service.

Discount ($)

This is the discount amount or percentage to be applied to the Total Price field. The Discount Type field at the Contract level determines whether this number is treated as an Amount or Percent.

Net ($)

Net is equal to the Total Price less the discount as determined by the Discount and Discount Type fields.

Serial #

If the Contract line item is associated with a Product, the Product's serial number can be supplied here.

CAUTION

Naming Service Contact Templates: It is a good idea to include information about the allotment types (e.g. 24x7 – Coverage Dates) in the Service Contract template name. The reason for this is that when a user is creating a new Contract from a template, he/she must select the template from a list (the Template Explorer in Figure 9.3) where the only piece of data presented is the template name. It is at that point that the user will need to know more about the template, specifically the allotment type.

Once the template has been applied to the Contract, the allotment type cannot be changed and can only be seen by linking back to the originating template (a link is provided on the Contract's details tab). The allotment type of the original template determines some behaviors of the Contract. For example, if the allotment type was Number of Cases, the Cases/Minutes field on the Contract Line Items screen will be a required value. If the allotment type of the template was Coverage Dates the Cases/Minutes field at the Contract Line Items level will not be required. Going back and changing the allotment type of the originating template will not affect Contracts previously created from the template or new Contract Line Items created after the template allotment type change.

Contract Line Item Calendar

The Calendar button on the Contract Line Item screen enables each line item to have its own schedule outlining the days/times when the customer is entitled to support for the particular line item. Figure 9.8 displays the Contract Line Item calendar modification screen.

Figure 9.8. The Contract Line Item Calendar.

This schedule is inherited from the Contract's schedule, which is inherited from the Contract Template's schedule. You can change any of these schedules without affecting the others once the inheritance has taken place. In other words, when you create a Contract, a copy of the template's calendar is included and modifying that copy will not affect the template's calendar. The same goes for Contract line items.

NOTE

As of this writing, the system allows you to create Cases outside of the allowed schedule, and it will not present any messages telling you that you are creating a Case outside of the allowed schedule.


Cases

Cases (Service Cases) are where the rubber meets the road for Customer Service. Cases are used to track all service interactions with your customers. Normally, we might think of Customer Service as a generic category for all issues related to a customer's interaction with an organization's people, processes, products, and services. This would be a fair assessment of the way that Cases can be used in Microsoft CRM. Figure 9.9 shows the Service Case screen.

Figure 9.9. The Service Case screen.

Microsoft CRM Cases can support multiple, varied servicing processes. Some of the ways Cases can be used include, but are not limited to

  • Product Technical Support

  • General Customer Service

  • Collections Issues

  • Implementation/Installation

  • Site Service Calls/Visits

  • Multiappointment organization (for example, scheduling a prospective student's day visit to a university or a customer's visit through multiple departments of a spa)

A little later we'll look at an example of how we can leverage Activities in supporting multiple, varied processes. However, for now, let's look at Table 9.5 for a clear understanding of Case records and their attributes.

Table 9.5. Service Case Fields and Descriptions

Tab.Section.Field

Description

General Assignment Information

Owner

The User to which the Case is assigned.

Status Reason

The Status Reason field displays different values based on the Case's current status. These Reason values are hierarchically linked to the various Case Statuses. While Case statuses cannot be modified (Active, Cancelled, and Resolved are the fixed Case status values), status reasons can be modified. Let's look at examples of why we might want to do this. First, by default, Cases in the Active status have status reason values of

  • In Progress

  • On Hold

  • Waiting for Details

  • Researching

A software development organization might want to create an additional Active status reason of In Development to indicate that the Case has been escalated to the product development team so that the identified issue can be solved by that team. To use another example, by default there is only one Status Reason value present for Cases in the Resolved status. This value is Problem Solved. Therefore, by default when a user changes the status of a Case from Active to Resolved he/she must select the Problem Solved Status Reason (it is a required field when resolving a Case) before Microsoft CRM will allow the Case's status to be changed to Resolved. Figure 9.10 shows the Resolve Case screen where the user must make this selection. By modifying the Resolved status reasons, more resolution choices (for example Fixed in future version) can be added to the list of Resolved status reasons. Adding additional Resolved status reasons enables improved information gathering regarding the resolutions of service Cases.

Customer Information

Customer

The Customer field links to the Contact or Account record associated with this Case.

Overview

Title

Title is intended for a brief description of the issue.

Subject

The Subject field enables you to categorize the Case based on the Subject hierarchy discussed earlier. You can think of this as the Case Type. Having Subjects associated with Cases enables you to identify Cases based on product line, but not necessarily the specific product or on a general subject that is not product specific.

Description

Description is an expanded overview of the issue at the center of the Case.

Details

Contract Information

Contract

The Contract field enables the user to lookup all Contracts associated with the Case's customer (Contact or Account) and associate the Contract to the Case. You must make this association if you plan to track the use of Case or Time allotments against Contracts. Without adding a Contract to the Case, you cannot add a Contract line item and, therefore, you would not be able to track allotment usage.

Contract Line

After a Contract has been added to the Case, you can use the Contract Line lookup to associate the Case with a specific line item on the Contract. This enables allotment tracking and more specifically identifies how the Contract is being fulfilled.

Product Information

Product

The Product field can be used to associate a specific Product to the Case. This can be useful if you later want to track the number and nature of Cases attributable to each Product. This can be overbearing if you have general product lines with numerous SKU's in each line. In this case, it might be easier to associate Cases only with Subjects and remove the Product field from this screen. This is, of course, dependent on how you plan to use the data you wish to collect.

Serial Number

The Product's Serial number can be included on the Case. Remember that Serial Number can also be included on the Contract line item records as well.

Follow Up By

This field allows the user to manually enter a date for follow up or a Workflow process could be configured to set the date automatically based on other attributes of the Case or the Case's associated Contract or customer.

Priority

The priority of the Case as defined by the administrator.

Details

Contract Information

Service Level

The Service Level guaranteed for the Case. This information can be pulled from the Case's associated Contract.

Satisfaction

The customer's satisfaction level with respect to the handling and resolution of the Case.

Case Origin

Case Origin enables the user (or an automated process) to record how the Case was initially logged in the system. The default values of this field are Phone, Web, and email.

Case Type

Case Type refers to the nature of the question. The default values for this field are Question, Problem, or Request.

Figure 9.10. Resolving a Service Case.

In our discussion of the Status Reason field we differentiated between the Case's Status and the Status Reason field. Table 9.6 provides more detail on the statuses of Case records. Again, remember that the Status of a Case refers to the uneditable header information that can be found in the lower left corner of the Case screen.

Table 9.6. Case Statuses

Status

Event

Description

Active

User creates the Case

Case is open and Activities and Notes can be added to it.

Cancelled

User cancels the Case by selecting Cancel Case from the Case's Actions menu.

Canceling a Case is like canceling a Contract. The Case record remains in the system, but in a deactivated state. New Activities and Notes cannot be added to cancelled Cases. A User can reactivate the Case by selecting Reactivate from the Case's Actions menu.

Resolved

User resolves the Case by Selecting Resolve Case from the Case's Actions menu.

When a User resolves a Case, the Resolve Case screen (see Figure 9.10) is presented and the User can enter the total amount of billable time as well as a description and notes about how the Case was resolved. This information is added as a Resolution record on the Case's Activity History tab. New Activities and Notes cannot be added to resolved Cases.

Service Cases can be created directly from the Contract or Line Item screens, allowing them to inherit certain information from the Contract and Contract lien item objects. This can save keystrokes and ensures that each Case is associated with a Contract.

Using Activities with Cases

We mentioned earlier how Cases can be used for everything from Implementation to Technical Support. Activities can help us with this, especially when we enable Workflow processes to automatically create Activities based on the type of Case we have created. For example, let's look at a company that sells and implements software. For this company we can create a Subject called implementation and enable workflow to auto-generate Activities for Cases created with the Implementation Subject. Figure 9.11 illustrates a group of auto-generated Activities on an Implementation Case.

Figure 9.11. Auto-generated Activities on a Case record.

The purpose of this example is to illustrate that, as we said earlier, Microsoft CRM is a versatile tool that can be used in various ways. As with any CRM package, you will often have to be creative in your data and process modeling, but the better you understand the application, the more you will be able to achieve.


Queues

We touched on Queues in Chapter 4, "Microsoft CRM Functional and Conceptual Overview," Chapter 5, "Setting Up Microsoft CRM," and Chapter 6, "Homepage, Workplace, and Navigation," now let's get into more detail on them. Queues are like folders that can be used to group Service Cases. The Microsoft CRM training documentation describes Queues as placeholders for unassigned Cases. However, in reality the user who creates a Case will become the default Case owner. When you assign that Case to a Queue it will show up in the Queue, but the owner will not change. So, it might be more clear to think of a Queue as a folder where the Case can be parked for future action.

Figure 9.12. Setting up a Queue in Microsoft CRM.

The most obvious use of Queues is for reassignment to a pool of users so that one of the users can take ownership of the Case and do something with it. This might be an escalation process where one user has attempted to solve an issue without success and is now passing it to a higher level resource to try and resolve it. In this case, the originating user would reassign the Case to the appropriate Queue and a user monitoring that Queue would then review it in Workplace and accept it. At the point the new user accepts the Case, she becomes the Case's owner. The originating user remained as the owner of the Case even after assigning it to the Queue. The significance of this is that the Case never was without an owner even though it was parked in a Queue waiting for a new owner. It is interesting to note that in this example of the Case being assigned to a Queue, but remaining "owned" by a user, the Case record itself has no visible indicator that it is in the queue. The only way to know that the Case is in the queue is to go to Workplace and look in the queue.

NOTE

Queues can be configured to receive all inbound emails sent to the Queue's email address. This can be especially helpful for a general support/service email alias such as support@domain.com. For information on configuring Queues to receive email, refer to the "Microsoft CRM Email configuration in-depth" section of Chapter 5.

Through Workflow, Cases can be assigned to Queues based on the attributes of the Case or its related objects (in other words, its associated customer, Contract, and so on). This functionality can be used, for example, to assign all resolved cases to a Queue for manager approval. It can also be used to assign cases to certain Queues based on the Case Subject or Product. If you are working in a Service environment where a single user is logging all Cases, you can use Workflow processes to intelligently assign the Cases based on attributes of the Case (for instance all Cases with high priority and subject = "Bikes" are automatically assigned to Jim). The Cases can be assigned to either Users or Queues.

TIP

If you plan to have Case escalation, this is an area where Workflow rules can be a big help. Case escalation refers to the re-assignment of a case to another resource, group, or department often based on severity or complexity of the Case. A typical example of a business rule to enable Case escalation would be the auto-reassignment of all Cases with a Status Reason of "In Development" to a queue monitored by the development team.

User Queues

Each system User by default has two personal Queues that can be seen in the Workplace area of the application. These Queues are the User's private Queue (labeled "Assigned"), and the User's Work In Progress (WIP) Queue (labeled "In Progress"). Whereas Users can be set up to see all Cases assigned to public Queues, only the User's themselves can see what is in their private Queues.

Public Queues

Public Queues are also displayed in Workplace, and can be seen by all Users with access to view Queues. Of course, the User viewing the contents of the Queue is only presented with those objects for which he/she has view security privileges.

KB (Knowledge Base) Manager

As was mentioned briefly in Chapter 6, the Knowledge Base (KB) is a tool that can be used to search KB Articles that have been submitted and approved. To see how KB Articles are created, we'll have to take a look at Knowledge Base Templates in the Setting area.

Navigate to Settings, Template Manager, Knowledge Base Templates and you will see a list of all existing templates in the system. These templates are simple document layouts to help you organize the various types of Articles you will want to create. Figure 9.13 shows the Knowledgebase Article template.

Figure 9.13. A KB Article template.

Setting up a template is a simple task. Using the tools to the right of the screen, you can add sections and move them up to down to create the proper document order. These sections are filled with text by the Users creating articles.

Users can create Articles by going to Service, KB Manager and selecting the New Article Button. The User is prompted to select an Article template, and then is allowed to enter text into the various template sections. Figure 9.14 shows the KB template explorer.

Figure 9.14. Selecting a template to create a new KB Article.

Each Article is given a title and keywords and must also be associated with a Subject. Article numbers are automatically generated by the system with the prefix chosen in the Auto-Numbering tool under Settings, System Customization. Figure 9.15 shows a completed, published KB article.

Figure 9.15. A Knowledge Base Article.

When the new Article is saved it is in Draft status and can be viewed from the Draft Queue.

Article Queues

For starters, Article Queues have nothing to do with the Case/Activity Queues we just discussed. KB Manager provides a simple process of three Queues used to submit, approve or reject, and publish Articles.

When an Article is newly created, it is put into the Draft Queue and is in draft status. The user who created it, when they feel the Article is ready for review, can click the submit button on the Article form to move it to the Unapproved Queue. The Article is now in unapproved status and a user with privileges to approve or reject articles can review the article and either approve or reject it. If that User rejects the article, he/she is prompted to enter an article comment giving the article's creator some feedback on why the article was rejected. This comment, pictured in Figure 9.16, is stored on the Comments tab of the Article record.

Figure 9.16. Providing a reason for rejecting a KB Article.

Upon rejection, the Article is moved back into draft status and back to the Draft Queue. The author (note that Articles are not linked to owners) can then improve the Article and resubmit it. Upon approval, the Article is moved to the Published Queue and is in published status. Published Articles can be unpublished at any time by a user with the appropriate privilege to do so. Articles must be unpublished to be modified. Only Articles in the Published Queue are searchable.

Subjects and Articles

We mentioned earlier that all Articles must be associated with a Subject. The Subject is a way of categorizing the content of the Article and is used as criteria in searching and browsing Articles. Although we typically think of Knowledge Bases as repositories for data to be used in resolving issues for customers, the Microsoft CRM Knowledge Base can be easily and effectively used to house all sorts of external, as well as internal, information. For example, you could create a Subject called Personnel Policies and create templates and articles to publish out all personnel policies including travel policy, expense reimbursement, and so on. Employees would then have that information in a fully searchable format.

Search Tab

With respect to the Search tab of Knowledgebase, this is an area where Microsoft is leveraging the strength of the underlying SQL Server application. The KB search is carried out using the Full Text Search (FTS) capability in SQL Server. FTS allows a database administrator to create Full Text indexes of tables and add those indexes to Full Text Catalogs. The Full Text Catalogs can then be populated and SQL Server jobs can be created to schedule ongoing incremental populations of the Catalogs. In the case of the Microsoft CRM Knowledge Base, a Full Text Catalog is created named fcat_documentindex. This Catalog contains the Full Text Index on a table called DocumentIndex. DocumentIndex is the table that holds the KB Articles. As displayed in Figure 9.17, the Full Text Index covers the Title, Keywords, and SearchText fields of this table. It does not include the Article comments that are attached to the Articles. These are not searchable.

Figure 9.17. Specifying columns to index in the SQL Server Full Text indexing wizard.

When Microsoft CRM is installed, an SQL Server job is created by default to run an incremental population of the fcat_documentindex catalog on a 15 minute interval. Therefore, by default, newly published articles can take up to 15 minutes to appear in searches if this default interval is not modified.

NOTE

The Full Text capability in SQL Server is implemented through a service called Microsoft Search, which is a Windows 2000 service that finds its origins in Index Server and Site Server. This service must be running for Full Text search and the Microsoft CRM KB to work. What Microsoft Search actually does is to pull out data from SQL Server and create operating system index files in the FDATA folder (by default) under SQL Server. From a security standpoint, this means that it is possible that someone with access to the SQL Server's filesystem could find his or her way into the contents of your Knowledge Base articles. This is something to consider when planning security of your Microsoft CRM deployment.

One final note on the search tab is that although its use is very straightforward, it is worth mentioning that when you search using the Full Text option under the title "In the article:" your search will not include key words. You must specifically select the Keywords option in that same drop-down to search the Keywords. In addition, when you open an Article to view it the Keywords that were added at the time of creation are not displayed. If you want to view an Article's keywords you must use the KB Manager under the Service Area.


Use Case Corner—Gracefully Transitioning a New Customer to Your Service Department

We've all been in the situation before. Your company has just signed a deal with a vendor. You've seen the vendor's sales representatives be super-responsive in the selling of their product. You've heard the promises they made in convincing you to go with them. Now you are on board as a customer and the phone stops ringing. No one has introduced you to your assigned customer service manager, if that even exists, and you're generally out in the cold.

Microsoft CRM allows you to autogenerate an Activity at the end of every sales cycle so that your Customer Service team is aware that a new customer has come on board. This automates the transition and helps keep the responsiveness up now that your prospect has become a customer. We'll make sure this valuable step in the process is never overlooked by implementing a simple Workflow rule.

To do this, we'll configure all of our relevant Sales Processes to create Phone Activities at the end of each successful Sales Cycle so that our Account Executives and Customer Service Managers can welcome the Account aboard and make the transition to the service team. Figure 9.18 shows the workflow template for creating this task.

Figure 9.18. Using Workflow to create a Phone Activity at the end of the Sales Process to transition the Account to a Customer Service Manager.

We'll configure our Workflow so that this Activity will only be created when the sales process gets to a stage that indicates the opportunity has been won. In the case of this example, our Service transition Activity is only created when the salesperson managing the Opportunity has completed the task labeled Receive Signed PO. Figure 9.19 shows the condition we are waiting for in order to trigger our Workflow rule.

Figure 9.19. A Workflow dialog box indicating when one stage of the Sales Process has been complete so the process can move to the next stage.

NOTE

Don't be concerned that you haven't seen these Workflow screens yet. They are part of Workflow manager, administrative tool that we will cover in detail in Chapter 12, "Workflow."

This simple example illustrates how we can easily implement cross-departmental processes in Microsoft CRM to ensure that our organization as a whole has good communication.


Summary

We've covered all of the Customer Service concepts and could keep going on the possibilities for setting up Customer Service in Microsoft CRM. Let's take a quick look at what we've covered.

Microsoft CRM has an extensive structure for setting up detailed Service Contracts. Each Contract is based on a Contract template, which contains skeleton information about the Contract and its schedule. Contracts can have multiple line items detailing how each product the customer owns should be supported. Associating Cases with Contracts will keep track of how much service the customer has used against their Contract.

Service Cases can be used to facilitate a variety of diverse processes including, but not limited to, Technical Support, Customer Service, and Implementation. Cases are associated with the Contact or Account receiving the service as well as the Contract, which provides the terms and allotment for the service. Activities are used to log all customer interaction related to the Case and can be used with Workflow to enable multistep process involving multiple Users, Teams, and Queues.

Queues are organizational units similar to folders that are used to hold Cases and Activities. Queues can be instrumental in enabling Workflow. Both Cases and Activities can be assigned to Queues.

The Microsoft CRM Knowledge Base leverages Microsoft SQL Server's Full Text search capability and enables an organization to organize and search a varied amount of information. The Knowledge Base has a simple system of submittal and approval and a clean interface for searching and browsing through Knowledge Base articles. Nearly any type of information can be housed in the Knowledge Base and its usefulness doesn't stop at maintaining customer-facing information.

There's a lot to the Customer Service component of Microsoft CRM. The upcoming chapter on Workflow will provide many more ideas for how to streamline your services process.


Chapter 10. Microsoft CRM Reports

In this chapter

Report Navigation

Report Creation and Modification

Use Case Corner—C360 SearchPac for Microsoft CRM

Summary

Reporting is traditionally an area that has been extremely problematic for CRM applications and customers of CRM applications. Perhaps the biggest reason for this is that CRM is so prone to customization that it is normally difficult to arrive at a set of one–size-fits-all reports. Another reason is that many CRM vendors have enough to do maintaining their applications that creating a reporting solution takes a backseat.

Microsoft has approached the CRM reporting issue by incorporating Crystal Reports into Microsoft CRM. The core Microsoft CRM Professional Product lists 138 canned reports and charts, 120 of which are unique. These reports and charts are all displayed through a Web browser and are accessible through the Microsoft CRM Web client.

Before we look at the Microsoft CRM reports, let's discuss some prerequisites to good reporting. Ultimately, meaningful reporting comes down to three things:

  • Capturing the right data

  • Getting the data into structures conducive for reporting (in other words, using defined fields and not stuffing everything into Notes fields)

  • Selecting and developing expertise with a reporting tool that is capable of manipulating the data in a manner you can use

The third point has been decided for us, so let's focus on the first two. If you are serious about really using the CRM data you will collect in Microsoft CRM, then pay extra attention to how you set up the system. Talk through every field and every value on every field and determine what it will be used for and why. Organize this information and use it to educate your users so they are entering data consistently. Use business rules (workflow) and field constraints (required fields) to ensure that the data is entered properly and consistently.

A good CRM implementation project should consist of the following stages:

  • Requirements Gathering— Arriving at a detailed list of everything you want the system to be able to do for your business. This detailed functional requirements list will include the specific reports that will be needed to use the system.

  • System Design— Taking the requirements and designing how the system will be configured to meet these requirements. The output of this stage should be a detailed design specification outlining configurations and customizations, workflows, mappings, and so on.

  • Construction— Building the system using the document developed in the previous phase.

  • Testing— Unit testing each component (customization, mapping, workflow, and so on) and developing test cases for system and user testing. Test cases should map back to the functional requirements to validate that the system can do what is required.

  • Deployment— Bringing the system into production by performing migration, final data conversion, and user training among other implementation-specific tasks.

It is important that during the requirements gathering stage you obtain a list of all reports to be delivered and a fairly detailed idea of the data each report should contain. Without this, there will be no way to design how those reports will be built and, more importantly, there will be no way to ensure that the data needed to produce the reports is being captured.

Data capture is an important issue that must be approached pragmatically. For example, if you decide that you want to report on specific details of each client sales meeting, including internal and external attendees, you'll be creating a lot of data-entry work for your sales personnel. You run the risk that the data will rarely get entered, and the report you've built will not have enough data to be meaningful. If you attempt to correct this by designing the system so that the sales users are required to enter the data, you might find yourself in a situation where your users do not adopt the system because it is requiring them to do too much data entry. Things will have gone from bad to worse.

The point here is that with every reporting requirement you should ask yourself two questions:

  • Do we have the data in place, or can we arrive at a realistic plan to capture the data?

  • If we are able to collect this data how will we use it and how will our use of it add value to our business?

Take an example that we all see on a regular basis. You are filling out a paper form of some sort: an application, a warranty card, a Web form, whatever. Nine times out of ten you are asked for your fax number. Probably only one time out of ten does the organization requesting that information actually need it. They've thought through the first point (can they get the data—yes, they require you to fill it in) but they've not really thought about why they are requesting it. The most probable reason they are asking for it is because the person developing the form was looking for fields to take up space.

Model your system interactively with your project team and think through all the fields. If you have a good reason to keep track of Freight Terms for Contacts, leave the field on the form and educate your users about why that is important information to track, and how it will be used. If you don't need it, take the field off and simplify the system. With CRM, less is really more.

One theme that seems to run through most CRM implementations is the "eyes bigger than the stomach" syndrome. During the sales process and project design, everyone wants to track everything. A year after the system has been put in place, most companies can't even pull a complete customer list. It's true; in their fury to track everything they've ended up not even effectively tracking the most basic data points. Pick the right level of detail and track it with realistic plans.


Report Navigation

As you begin to use the Microsoft CRM reports, you will notice that the navigation from report to report is very standard. Most reports include the following navigational controls (referenced in Figure 10.2) :

  • Refresh

  • Export

  • Print

  • Filter

  • Find

  • Group Tree

  • View Selection

    • Sub Reports

  • Page Buttons

Figure 10.2. The components of a typical Microsoft CRM Crystal report.

Microsoft CRM reports are Crystal reports, which are displayed in a new window. To simply view these reports, there is no need for additional software on the user's machine. The first time a user attempts to view a Microsoft CRM report, he is presented with a screen asking him to authorize the download of the Crystal Smart Viewer ActiveX control to his browser. Figure 10.1 shows the screen requesting the user's permission to download the Crystal Smart Viewer ActiveX control.

Figure 10.1. Accepting the Crystal Smart Viewer download.

For creation of new reports or modification of the existing reports, Crystal Reports Designer is necessary, along with an enhancement component that makes Crystal aware of the Microsoft CRM schema. Crystal Reports designer is a separate purchase from Microsoft CRM. The enhancement component is free.

NOTE

Microsoft CRM reports are pulling data from the Microsoft CRM database in real time. Although the Microsoft CRM server installation creates a database titled <Organization>_CRMCRYSTAL this database is used for tracking the report objects themselves, not the report data. Notice that if you view a report, and then make changes to CRM records used in creating the report, you will immediately see those changes in the report when you refresh it. This is both good and bad. While it is nice that the reports are displaying the most up-to-date information, running the reports directly against the transactional CRM database creates additional load that may affect system performance for users accessing the Microsoft CRM client applications.

Microsoft CRM reports are available exclusively from the Microsoft CRM Web client and, like the Web client, require that the user have access to the CRM server. Currently no reports run from the Microsoft CRM Sales for Outlook client.

Microsoft CRM reports come in two flavors: reports and charts. All reports and charts are interactive in that they accept some amount of manipulation and provide features such as drill downs and filtering.

Figure 10.2 shows the Microsoft CRM Account List By Sales Rep report. This report is fairly typical of the Microsoft CRM reports. By default it lists header and detail information on all Account records. It is broken into multiple pages with information about several Accounts on each page.

Searching within Reports

Using the Search Box enables the user to search across the fields that are displayed on the report pages themselves. This search will not search through fields that are on the records but not presented in the report. For example, if you are searching the Account List By Sales Rep report by SIC code, your search returns no results because SIC code is not a standard field on that report. You might think of this search function as being much like searching on a typical Web page using your browser.

Filtering Reports

The Filter Button to the right of the report screen enables the user to filter which records are actually returned to the screen. The filter button can filter on fields that are not on the report. However, the report still displays only those fields that it has been configured to display. Going back to our earlier example, you can filter the Account List By Sales Rep report by SIC code and reduce the number of records that are returned to the report, but the SIC codes of the retrieved records will not be displayed in the report. Figure 10.3 illustrates the use of the Filter Button.

Figure 10.3. Using the filter button to reduce the number of records returned to the report.

Grouping Reports

Many of the reports in Microsoft CRM are based on one root report, but are grouped a number of different ways. Reading through the report list later in this chapter you can see the similarities in the report names. The Group Tree button can be used to see the grouped list of records that make up the report. If the report is not grouped, an ungrouped list of the records in the report is listed. For example, if you view the Account List report and click the Group Tree button, you will see a list of all Accounts in the report. If you view the Account List By City report and click the Group Tree button, you are able to expand the node next to the name of each City to see that City's Accounts. Figure 10.4 shows both of these reports side by side.

Figure 10.4. Viewing the Group Tree for an ungrouped and a grouped report.

Drilling Down to Subreports

Many of the Microsoft CRM reports enable the user to click information within the content area. Doing so creates a subreport that displays to the user a subset of the data she was viewing. For example, in the Opportunity List By City report, the user is able to click the Report Group bar to drill down to the opportunities for a particular city. This presents a subreport with a title that is listed in the Report Selection list. To return to the main report, the user can then select the default view, titled Preview From the Report Selection list.

Using subreports and the Report Selection menu, a user can compare the information by quickly moving from one set of results to the next. This is shown in Figure 10.5.

Figure 10.5. Using subreports on the Report Preview menu to quickly navigate across results sets.

Charts

Charts in Microsoft CRM graphically illustrate what is happening with the data. One of the best charts is the Pipeline Chart Report By Sales Stage (Sales Process). This is the traditional sales funnel chart over which Sales VPs drool. The Sales Process at the end of the Chart name is a convention to indicate that the report is grouped by sales process. Because we know that Microsoft CRM can support any number of diverse sales processes, this report sorts them out so that you're not viewing all sales stages in a single chart. Figure 10.6 shows the Pipeline Chart Report by Sales Stage (Sales Process).

Figure 10.6. The Pipeline Chart Report By Sales Stage (Sales Process) chart presents a different chart for each sales process.

Clicking any slice of the funnel drills down into a subreport listing the opportunities that make up that stage.

It is worth mentioning that with many reports, filtering is not limited to the records against which you are reporting. For example, with the Opportunity Pipeline reports you can filter based on attributes of the Opportunity records as well as attributes of the Account records. Figure 10.7 displays this with a Pipeline report.

Figure 10.7. Filtering a Pipeline chart by Opportunity or Account attributes.

Exporting Report Data

Exporting report data is a simple task, just produce the report you want to export, click the export button, and select the format in which you want to export the report. Microsoft CRM gives you the option of exporting the reports into Excel, Word, or Crystal Reports formats. This is illustrated in Figure 10.8.

Figure 10.8. Report data can be easily exported to Microsoft Word, Excel, or Crystal Reports formats.

If the report has been filtered, only the filtered data is exported. If you are viewing a subreport and click export, all report data, not just the subreport data, is exported.

Although exporting reports is a simple task, the export serves more as a vehicle for producing a copy of the report you could send through email or take away from the system. Exported reports look just like the onscreen reports. Exported reports do not arrange the data in a straight data format that could be used for pivot tables or other analysis.

Reports exported to Microsoft Excel and Microsoft Word both use the same format as the onscreen reports generated through the Microsoft CRM Web client. Figure 10.9 shows a report that has been exported to Microsoft Excel.

Figure 10.9. A Microsoft CRM report exported to Microsoft Excel.

Similarly, Figure 10.10 shows a report that has been exported to Microsoft Word. Notice that it looks nearly identical to the report that was exported to Excel.

Figure 10.10. A Microsoft CRM report exported to Microsoft Word.

Reports Table

The following tables outline what each report does and, in many cases, the strengths and weaknesses of it. In many cases, these reports do exactly what you would expect. In other cases, the data they present might not match what the title implies.

Sales reports in Microsoft CRM center around the concept of the Sales Opportunity object, its related objects (Quotes, Orders, Competitors, and so on) and the core Contact and Account objects that support it. While there are numerous (89) sales reports, many of them are similar to each other but are grouped in various ways.

Before we dive into the report list, let's discuss the concept of the sales pipeline. Many of the sales Opportunity reports use the word pipeline in their titles. The word pipeline is used to indicate that the reports contain data on Opportunities that are in an open status. In other words, data on Opportunities that have already been closed as won or lost will not appear in these reports. Opportunity reports that do not use the word pipeline often include data from all Opportunities regardless of status.

Another concept worth mentioning with respect to Sales Opportunity reports is how these reports accommodate the Standard and Professional Editions of Microsoft CRM. We know that the Professional version of Microsoft CRM includes workflow that can be used to create sales processes which are broken down into sales stages. Because the Standard edition of Microsoft CRM does not have workflow, a field on the Opportunity object is used to designate the Opportunity's sales stage. This field is named salesstagecode. Professional users will likely not even know it exists.

As you browse through the list of Opportunity reports, notice that there are several reports with (Sales Process) listed next to them. Listed immediately prior to these reports is a report by the exact same name, but without (Sales Process). These are pairs of reports, the first for use with the Standard edition and the second for use with the Professional edition. The Standard edition version of the report pulls its sales stages information from the salesstagecode field while the Professional edition pulls its sales stage information from workflow driven sales process listed on the Activities, Sales Process tab of the Opportunity record.

Table 10.1. Sales Reports

Report Category & Title

Report Description

Type

Sales Reports (89)

Sales reports are accessed from a tab named Sales Reports in the left navigation bar of the Reports area. Keep in mind that reports can only be accessed from the Microsoft CRM Web client. The Microsoft CRM Outlook client has a link to reports from its Online Services page, but this simply launches a browser window pointed to the Web client.

Area

Sales—Account Reports (15)

Category heading for viewing the list of Account reports.

Category

Account Activity and Notes

One Account per page with an Index of Accounts accessed using the Group Tree button. Each Account page lists Account overview information and full text and details of all directly attached Notes and Activities. Does not list detail on Note or Activity attachments. Also does not list Notes attached to the Account's Activities. Each Note and Activity record has a drill down link to a subreport.

Report

Account Chart

This chart is somewhat misleading. It displays a pie chart titled Revenue By Account, but the revenue by account metric refers to the Annual Revenue field on the Account record. You'll have to define that field and fill it with meaningful data to make this report work for you. You could do this through workflow if you want, incrementing the field with each closed invoice to keep a running total of revenue from the account. Another option would be to populate the Annual Revenue field with data from your back office system. You can click any slice of this report and drill down to a list of Primary Contacts by Account. There is a generic slice called Other into which all Accounts with lower revenue fall. Figure 10.11 shows the Revenue by Account chart.

Chart

Account Chart by Industry

Same as Account Chart except grouped using the Industry field on the Account screen Details tab.

Chart

Account Chart by State-Province

Same as Account Chart except grouped using the State field on the Account screen General tab.

Chart

Account Chart by Status

Same as Account Chart except grouped using the Account's Status. Because Accounts can only have Active and Inactive Statuses, this report does not provide a lot of information.

Chart

Account Chart by Territory

Same as Account Chart except grouped using the Territory field on the Account screen Details tab.

Chart

Account Details Report

Includes one Account per page with general information as well as a list of all Opportunities, Quotes, Orders, and Invoices. Clicking an Opportunity, Quote, Order, or Invoice item drills down to detail on that item in a subreport.

Report

Account List

List of all Accounts with overview information. 4 to 5 Accounts listed per page.

Report

Account List by City

Same as Account List, but grouped by City. The Group Tree button displays a list of cities and enables users to expand each one to see the Account in that City.

Report

Account List by Industry

Same as Account List by City except grouped by the Account Industry field.

Report

Account List by Sales Rep

Same as Account List by City except grouped by the Account's owner (user).

Report

Account List by State-Province

Same as Account List by City except grouped by the Account State field.

Report

Account List by Status

Same as Account List by City except grouped by the Account's Status (Active or Inactive).

Report

Account List by Territory

Same as Account List by City except grouped by the Account Territory field.

Report

Account List by Zip-Postal Code

Same as Account List by City except grouped by the Account Zip-Postal Code field.

Report

Sales–Activity Reports (4)

Category heading for viewing the list of Activity Reports

Category

Activity List

Lists all Activities and provides detail on each one. This report could get unwieldy quickly. The filter button enables filtering based on Activity or Account fields, so this can be used as a tool for easy viewing of all Activity records attached to an Account.

Report

Activity List by Account

Same as Activity List, but grouped by Account.

Report

Activity List by Status

Same as Activity List, but grouped by Activity status (Open, Completed, Cancelled).

Report

Activity List by Type

Same as Activity List, but grouped by Activity Type (Task, Email, and so on).

Report

Sales–Competitor Reports (2)

Category heading for viewing the list of Competitor Reports

Category

Competitor List by Product

Lists Competitor records that have Product records linked to them. Competitor records without linked Product records will not show up.

Report

Competitor List Won

Lists Competitors that have been linked to Opportunities where the Opportunity was closed with a Status of Won. If you link multiple Competitors to an Opportunity and close it as Won, the report shows a win against each of these Competitors.

Report

Sales–Contact Reports (3)

Category heading for viewing the list of Competitor Reports.

Category

Contact Activity and Notes

Same report as the Account Activity and Notes report except with Contacts.

Report

Contact List

Same report as the Account List report except with Contacts.

Report

Contact List by Account

List of Contacts with basic information, one line per Contact. Grouped by Account.

Report

Sales–Invoice Reports (4)

Category heading for viewing the list of Invoice Reports.

Category

Invoice Detail

One Invoice per page with all Invoice information.

Report

Invoice List by Customer

One page per customer (Contact or Account) with a list of all Invoices for that customer. Does not allow drill down into Invoice details.

Report

Invoice List by Status

List of Invoices by Status (Active, Inactive).

Report

Sales–Lead Reports (3)

Category heading for viewing the list of Lead Reports.

Category

Lead List

Listing of Leads with preview information.

Report

Lead List by Lead Source

Listing of Leads with basic information. Grouped by Lead Source. List all Lead Statuses (Open, Qualified, Disqualified).

Report

Lead Source Summary

This report is listed as a Report, but also has a Chart in it. Displays a pie chart showing a slice for each Lead source. User is able to click a slice and drill down into a specific Lead Source to see Leads in that Category.

Report

Sales–Miscellaneous Sales Reports (0)

There are no reports in this category.

Category

Sales–Opportunity Reports (40)

Category heading for viewing the list of Opportunity Reports

Category

Contact List By Opportunity

As you would suspect, this report lists all Opportunities (to which the user has access) and their associated Contacts. The list of Contacts includes all the linked Other Contacts as well as the Owner if the Owner is a Contact record or the Account's primary Contact if the Owner is an Account.

Report

Converted Leads to Opportunities Chart

You might suspect that this report would display all Leads that have been converted to Opportunity records. However, the report displays only information on "won" Opportunities that have been converted from Leads. The report shows a single bar for each month indicating the number of leads converted to opportunities and closed as "won" in that month.

Chart

Opportunity Activity and Notes

One page per opportunity with a list of all Activities (including detail) associated with the Opportunity. Any report listing Activities tends to get large, but this report could be an easy way to quickly read through Opportunity details without a lot of clicking. Exporting it would be a way of providing a non-CRM user with Opportunity details.

Report

Opportunity Contact List

Don't confuse this report with the Contact List By Opportunity report. This report always lists one Contact per Opportunity; that being the Parent Contact or the Primary Contact of the Parent Account.

Report

Opportunity Detail

One page per Opportunity including Opportunity record details and lists of Other Contacts, Products, and Activities.

Report

Opportunity List

List of all Opportunity records with preview information for each.

Report

Opportunity List By Account

Same as Opportunity List but grouped by Account.

Report

Opportunity List By Business

Same as Opportunity List but grouped by Business Unit.

Report

Opportunity List By City

Same as Opportunity List but grouped by Account City.

Report

Opportunity List By Close Date

Same as Opportunity List but grouped by Close Date. This report lists each Close Date to the day level, so there will be a grouping for all days that an Opportunity is projected to close.

Report

Opportunity List By Competitor

Same as Opportunity List but grouped by Competitor. As you might expect, this report includes a single Opportunity multiple times if more than one Competitor record is linked to it.

Report

Opportunity List By Estimated Revenue

Same as Opportunity List but grouped by Estimated Revenue. Grouping is done by unique estimated revenue amount so, for example, Opportunities with estimated revenue of $50,000 fall into a different group (the $50,000 group) from Opportunities with estimated revenue of $50,001. Unless you have consistent revenue levels, this grouping might be too granular to be meaningful.

Report

Opportunity List By Lead Source

Same as Opportunity List but grouped by Lead Source. Keep in mind that if your Opportunity records are not generated from a Lead conversion or are not linked to an originating Lead, their lead source will be blank.

Report

Opportunity List By Month

Same as Opportunity List but grouped by Month. However, the Month used for the grouping is the "created on" month, not the "close date" month. If you import data and set the "created on" date to the import date, you only see one grouping in this report.

Report

Opportunity List By Sales Rep

Same as Opportunity List but grouped by Sales Rep.

Report

Opportunity List By Sales Stage

Same as Opportunity List but grouped by the Microsoft CRM Standard edition sales stage. This is the sales stage code field we discussed earlier. This report will be of no value to implementations of the Professional edition of Microsoft CRM.

Report

Opportunity List By Sales Stage (Sales Process)

Same as Opportunity List but grouped by the Microsoft CRM Professional edition sales stages as defined through workflow manager. It is important to note that because the Microsoft CRM Professional edition allows for multiple sales processes, this report is grouped by unique sales process.

Report

Opportunity List By State-Province

Same as Opportunity List but grouped by Account State or Province.

Report

Opportunity List By Status

Same as Opportunity List but grouped by Opportunity Status. Opportunity statuses are open, won, and lost.

Report

Opportunity List By Territory.

Same as Opportunity List but grouped by Account If the Opportunity record is parented by a Contact instead of an Account, no Territory is specified, regardless of whether the Contact is linked to an Account that is linked to a Territory.

Report

Opportunity List Originating Lead

This is a list of all Opportunities grouped by their Originating Lead. Because each Opportunity has at the most one Originating Lead, this report grouping has very limited usage.

Report

Opportunity List Won-Lost Chart

Bar graph of Opportunities closed by month closed. Each bar is broken into colors representing the percentage of Opportunities won, out sold, or canceled. Canceled and Out-sold are the default subresolutions the user can select when closing an Opportunity as Lost.

Chart

Opportunity List Won-Lost Chart By Sales Rep

Same as Opportunity List Won-Lost Chart, but one page per Sales Rep.

Chart

Opportunity List Zip-Postal Code

Same as Opportunity List but grouped by Zip-Postal Code.

Report

Pipeline Chart Report by Originating Lead

Bar chart listing one bar per originating lead. Because most Leads result in only one Opportunity, this report likely ends up effectively listing one bar per Opportunity.

Chart

Pipeline Chart Report by Product

Bar chart listing all Products on open Opportunities. Each bar represents the overall projected revenue per Product. User can drill down to the Product level by clicking a bar. When at the Product level, the report is grouped by Close month.

Chart

Pipeline Chart Report by Sales Rep

Bar chart listing one bar per Sales Rep with the bar representing the total overall revenue. Drilling down into a Sales Rep's bar lists that Rep's Opportunities grouped by month. Beware that the revenue amount listed on each bar is the total, not weighted, revenue amount for the Rep's Opportunities.

Chart

Pipeline Chart Report by Sales Stage

This is the Standard edition version of the traditional graphic funnel report that Sales VP's love. Clicking a slice/stage of the funnel lists the Opportunities in that stage. This report has no grouping.

Chart

Pipeline Chart Report by Sales Stage (Sales Process)

This is the Professional edition version of the previous report. This report is grouped by Sales Process so that conflicting processes/stages are not mixed in together. Each Sales Process has its own funnel graphic.

Chart

Pipeline Chart Report by Territory

Bar chart listing one bar per Account Territory. Opportunities linked to Accounts end up in the Not Specified territory. A revenue number on each bar is the total revenue and not the weighted revenue.

Chart

Pipeline Chart Report Sales Forecast

Two bar charts representing the sales opportunity pipe-line. The first bar chart shows potential revenue (raw revenue) grouped and totaled by month of estimated close date. The second bar chart shows the weighted revenue also grouped and totaled by month of estimated close date. Clicking the Group Tree button shows that the report is grouped by year. By default, the current year page is initially loaded. This report is a good way to get a quick idea of the overall pipeline as well as your sales team's overall confidence in the opportunity set. Figure 10.13 displays the main content of this report.

Chart

Pipeline Forecast by Sales Stage Chart

This is the Standard edition version of the following report. This report is very similar to the Pipeline Chart Report by Sales Stage except that it is grouped by year. This is why the word Forecast is included in the title. The same concept applies to the following report.

Chart

Pipeline Forecast by Sales Stage Chart (Sales Process)

This is the Professional edition version of the traditional funnel chart. This report is very similar to the Pipeline Chart Report by Sales Stage (Sales Process) except that it is grouped by year. It is also grouped by Sales Process so that conflicting processes/stages are not mixed in together. Each Sales Process has its own funnel graphic. It is also grouped by Year and Sales Stage. Figure 10.14 displays the main content of this report. Notice that the two blue bars at the top of the report indicate the two levels of grouping; year (of estimated close dates) and sales process. Below the funnel chart, the report is further grouped by the stages of the sales process.

Report

Pipeline Report

List of all open Opportunities.

Report

Pipeline Report By Originating Lead

List of all Opportunities by Lead Source. This report provides a simple listing of the key sales opportunity data points including customer, (estimated) close date, sales stage, value (revenue), probability, weighted value (revenue). Lists only opportunities that are in the open status.

Report

Pipeline Report By Product

List of all Opportunities by containing certain opportunity products. This report provides sales personnel the ability to see all opportunities for a particular product line and determine how successful sales campaigns for each product are performing.

Report

Pipeline Report By Sales Rep

Another report written solely to appease the sales VP, this report presents the user with a bar chart subreport with estimated revenues and includes a salesperson breakdown of all active opportunities. Clicking within the bar chart retrieves more detail about a particular sales person. All and all, a very effective report for tracking sales rep effectiveness.

Report

Pipeline Report By Sales Stage

This is the Microsoft CRM Standard edition version of the simple pipeline report, grouped by sales stage(using the salesstagecode field). This report is similar to the Pipeline Chart Report By Sales Stage except that it includes no graphical representation of the data.

Report

Pipeline Report By Sales Stage (Sales Process)

This report is the Microsoft CRM Professional edition version of the previous report. It is grouped by Sales Process and Sales Stage.

Report

Pipeline Report By Territory

Similar report to the other Pipeline reports although this report makes use of the Sales Territory code entered on the opportunity form. This report enables sales management to track sales performance and forecasting of disparate sales teams for comparison and effective sales management.

Report

Sales–Order Reports (5)

Category heading for viewing the list of Order Reports.

Category

Order List

Essentially, a list of all orders booked within the Microsoft CRM application. This report can become somewhat convoluted with information in that it is simply a list of all orders made. For more detailed organization of Order data, use one of the following reports.

Report

Order List By Customer

This report logically segments Order data to be organized by customer.

Report

Order List By Quote

This report logically segments Order data to be organized by Quote. Enables organizations to track the effectiveness of the quote/proposal process within an organization.

Report

Order List By Sales Rep

Quite simply, this is just another extension of the Order List report, although this report is summarized by sales rep. Valuable information that can be extracted from this information is Order status and whether the organization is meeting its requested ship dates.

Report

Order List By Status

Again, another extension of the Order List report, but this report segments information by Status. For the same reasons listed in the previous report, the Order List by Status enables our organization to view whether it is meeting requested ship dates and where certain orders lie within the Order Fulfillment process.

Report

Sales–Product Reports (4)

Category heading for viewing the list of Product Reports.

Category

Product List

Basic domain-level information regarding all opportunity products within the system. Where this report provides value is in the Quantity On Hand column within the report. This report enables full understanding and communication regarding inventory levels and back-order information.

Report

Product Sold by Contact

By contract, a complete listing of products sold. This report works well in building internal best practices for how to structure contracts based on the effectiveness of a particular contract.

Report

Product Sold by Month

Monthly listing of products sold using the Microsoft CRM system and the Opportunity object.

Report

Product Sold by Sales Rep

Sales and Sale Quantity information regarding a particular sales representative. This report is purely transactional reporting organized by Sales person.

Report

Sales–Quote Reports (3)

Category heading for viewing the list of Quote Reports.

Category

Quote List by Opportunity

This report is structured so that sales reps and managers understand all the open proposals that might be associated with a particular opportunity.

Report

Quote List by Sales Rep

Provides a logical grouping of all proposals that have been created by Sales representatives.

Report

Quote List by Status

Follows a similar pattern as the previous two reports, but this report groups the information by Order Status.

Report

Sales–Sales Literature Reports (2)

Category heading for viewing the list of Sales Literature Reports.

Category

Sales Literature List

Listing of Sales Literature, internal contact, and expiration information regarding a certain piece of literature.

Report

Sales Literature List By Subject

Using the business logical grouping hierarchy, this report presents the user with all sales literature information structured by Microsoft CRM subjects.

Report

Sales–Sales Quota Reports (4)

Category heading for viewing the list of Sales Quota Reports

Category

Sales Quota–Fiscal Periods By Sales Rep

Quota performance to actual for fiscal periods (as set in system customization), grouped by sales rep.

Report

Sales Quota–Fiscal Periods By Territory

Same as the previous listing, but grouped by Territory.

Report

Sales Quota List–All Sales Reps

Sales Reps and Quotas grouped by fiscal year.

Report

Sales Quota List–All Territories

Same as above, but grouped by Territory.

Report

Figure 10.11. The Revenue by Account chart in the Account Chart report.

Figure 10.13. The Pipeline Chart Report Sales Forecast.

Figure 10.14. The Pipeline Forecast by Sales Stage Chart (Sales Process).

NOTE

In Chapter 12, "Workflow," we see that Microsoft CRM creates a new sales process each time the sales process is modified. We'll get into the details of this later, but keep in mind that when viewing reports you may see what appears to be the same sales process listed multiple times. This occurs when a sales process has been deactivated and modified and then reactivated. Figure 10.12 shows an Opportunity List report with groupings by three different "Solution Selling" processes. This is displayed this way because Microsoft CRM sees these three iterations of the process as three different processes.

Figure 10.12. A modified sales process will be displayed as if it were different sales processes.

Customer Service reports in Microsoft CRM center around the concept of the Service Case object and the core Contact and Account objects that support it. While there are numerous (45) Customer Service reports, many of them are similar to each other but are grouped in various ways.

Table 10.2. Customer Service Reports

Report Category & Title

Report Description

Type

Service Reports (45)

Customer Service reports are accessed from a tab named "Sales Reports" in the left navigation bar of the Reports area.

Area

Service–Account Reports (15)

These reports are the same reports listed in the Sales–Account Reports section.

Category

Service–Case Reports (23)

Category heading for viewing the list of Service Case Reports

Category

Account Service Report

Report showing all Cases recorded in the system for a particular Account.

Report

Average Case Turnaround Time and Number Of Cases By Owner

Chart of Users illustrating Cases grouped by Owner with the average time to resolve the case.

Report

Case Activity and Notes

Listing of basic Case information with attached Activities and Notes.

Report

Case Activity By Case

This report did not appear to include any data at the time of this writing.

Report

Case List

List of all cases tracked using Microsoft CRM.

Report

Case List By Contact

Same as Case List grouped by Contact.

Report

Case List By Customer

Same as Case List grouped by Customer.

Report

Case List By Owner

Same as Case List grouped by Owner.

Report

Case List By Resolution

Same as Case List grouped by Resolution. Because the resolution is the free-form text the user enters upon closing a Case, the number of different (or differently worded) values continually increases making this report less and less useful as more Cases are resolved.

Report

Case List By Status Reason

Same as Case List grouped by Status Reason. Because the status reason field values can be modified, this report as well as the Case Status Chart reports will likely be the best reports for analyzing the outcomes of Service Cases.

Report

Case Resolution Chart

Pie chart of Cases by Resolution. Again, like the Case List by Resolution report, this report groups Cases by the free-form resolutions users enter when resolving a Case. It will be difficult to keep this list to a consistent set of values.

Chart

Case Status Chart

Pie Chart of all Cases grouped by the Cases' Status Reason values (not Status!)fields. Because this report uses the Status Reason field, it is ideal for getting a quick overview of all Cases as well as the outcomes of the resolved Cases. Figure 10.15 shows this report. Clicking on any of the pie slices takes the user to a list of the Cases that make up that slice.

Chart

Case Summary

Short overview of all Case records. No grouping.

Report

Case Summary By Customer

Same as Case Summary but grouped by Customer (in other words Parent Contact or Account).

Report

Case Summary By Owner

Same as Case Summary but grouped by Owner (User assigned to the Case).

Report

Case Summary By Resolution

Same as Case Summary but grouped by Resolution. Again, this is the free-form text Resolution entered by the user, so this has questionable value unless your users are uncommonly consistent.

Report

Case Summary By Status

Same as Case Summary but grouped by Status.

Report

Case Turnaround Time

Simple listing of Cases with turnaround time in days. No grouping.

Report

Case Turnaround Time By Customer

Same as Case Turnaround Time but grouped by Customer.

Report

Case Turnaround Time By Owner

Same as Case Turnaround Time but grouped by Owner.

Report

Cases Opened By Day Chart

List of Cases that are opened for a particular date.

Chart

Cases Resolved By Day Chart

List of Cases that are resolved for a particular date.

Chart

Top 10 Case Subject by Month Chart

Monthly report enabling managers to understand what types of cases are being tracked using Microsoft CRM. This report is a bar graph showing a different bar for each month. The month is based on the creation date of Cases. Each bar is divided into colored segments illustrating the makeup of Cases by subject for the month. As the report name implies, this graph shows only the to p 10 subjects against which Cases were created in the month. Figure 10.16 shows the main content of this report.

Chart

Service–Contact Reports (3)

These reports are the same reports listed in the Sales–Contact Reports section.

Category

Service–Contract Reports (1)

Category heading for viewing the list of Service contact Reports.

Category

Contract List

List of all Support Contracts within the system. Great report for providing details regarding all service level agreements signed by the organization.

Report

Service–Knowledge Base Reports (3)

Category heading for viewing the list of Service Knowledge Base Reports.

Category

Knowledge Base List

List of all submissions made into the Microsoft CRM Knowledge Base.

Report

Knowledge Base List By Publication Status

List of all submissions into the Knowledge Base, but arranged to reflect statusing within the Knowledge Base approval process.

Report

Knowledge Base List By Subject

List of all article submissions made into the Knowledge Base that are organized by business hierarchy.

Report

Service–Miscellaneous Service Reports (0)

There are no reports in this category.

Category

Figure 10.15. The Case Status Chart groups Cases into Status Reason slices of a pie chart.

Figure 10.16. Top 10 Case Subject by Month Chart.

The Microsoft Administrative reports provide information related to Users, Teams, and Business Units. These reports will be helpful to the CRM administrator and the individuals whose job it is to plan and manage the deployment.

Table 10.3. Administrative Reports

Report Category & Title

Report Description

Type

Admin Reports (4)

Area

Admin–Miscellaneous Admin Reports (0)

There are no reports in this category.

Category

Admin–User Reports (4)

Category heading for viewing the list of User Reports.

Category

User List

Provides a list of all system users and contact information.

Report

User List By Business

Displays a list of users associated with a particular business unit.

Report

User List By Team

Displays a list of users associated with a particular business sales team.

Report

User List By Territory

Displays a list of users associated with a particular sales territory.

Report


Report Creation and Modification

If the standard Microsoft CRM reports don't get you where you need to be, you can modify them or create new ones using Crystal Reports. Your purchase of Microsoft CRM gets you the Crystal components you need to view reports, but to modify or create new reports you need two additional components:

  • Crystal Professional version 8.5

  • Crystal Reports Enhancement for Microsoft CRM

Crystal Professional 8.5 is available directly from the manufacturer, Crystal Decisions (www.crystaldecisions.com), as well as from Crystal Decisions resellers. You can check the Crystal Decisions Web site to find a list of resellers. As of this writing, the latest version of Crystal Professional is 9.0, but it currently is not fully compatible with Microsoft CRM. Not to worry; version 8.5 is still available for purchase. While Crystal Professional is a separate purchase, the Report Enhancement component is included free of charge with Microsoft CRM. Figure 10.17 shows the setup screen for the enhancement component. This component gives Crystal the information it needs to be "aware" of the Microsoft CRM data.

Figure 10.17. A Microsoft CRM-specific enhancement must be installed after Crystal Professional to make Crystal aware of the Microsoft CRM object model.

The second component, the Crystal Reports Enhancement for Microsoft CRM, makes Crystal Microsoft CRM aware. It enables Crystal Professional to understand the Microsoft CRM object model. Just as with every other part of the system, the data fed to reports must pass through the Microsoft CRM security model so that the reports do not act as a back door that allows users to view information to which they have been denied access. Because Microsoft CRM uses a role-based security paradigm, information presented to the end user in a report is dependent on the union of all roles that a system user might have.

Using Crystal Professional 8.5 and the Crystal Reports Enhancement for Microsoft CRM, custom reports can be developed to provide additional reporting capabilities to your organization with relative ease. Because reporting needs tend to differ from implementation to implementation, Microsoft has provided developers access to existing reports to serve as templates for creating custom reports.

NOTE

As of this writing, custom reports cannot be simply added to the reports page in Microsoft CRM. Access and execution of custom reports must be configured in one of the following manners:

  • Create a menu item through ISV configuration settings enabling users to launch a specific report.

  • Launch a specific report by creating a toolbar button to access your customized report.

  • Create customized NavigationBar items for each customized report and have the report execute in the main application window.

  • Develop a custom Web page that lists each custom report for your organization.

Although Microsoft allows developers to leverage existing reports as a head start to their development initiatives, it is not recommended that developers alter the content of the existing Microsoft CRM reports. Any changes made to the canned reports are overwritten during system upgrades to future releases of Microsoft CRM.


Use Case Corner—c360 SearchPac for Microsoft CRM

Another way to view, analyze, and act on the data on your Microsoft CRM system is through custom add-ons developed by Microsoft Business Solutions' CRM ISV (Independent Software Vendor) partners. Because Microsoft Business Solutions has such a large network of ISV partners, some very innovative third-party add-on products have already been created. One such add-on is SearchPac by c360 Solutions.

SearchPac consists of two separate tools that enhance the query, search, and action execution capabilities of Microsoft CRM. In addition, SearchPac can provide marketing campaign tracking functionality not available in the core Microsoft CRM product. SearchPac enables Web client users to quickly build complex queries and save them for future use. It provides marketing data-mining capabilities not available in the core Microsoft CRM product. With SearchPac, Microsoft CRM users can

  • Create complex queries involving multiple record types

  • Track marketing campaign activity

  • Perform quick searches on the most commonly searched fields

  • Save queries for future use

  • Customize the field list in your query results set

  • Perform standard and custom actions against your results set

Two tools are included in SearchPac:

  • Query Manager— A query building and data-mining tool that enables users to design and execute complex queries and save those queries for future use.

  • Multifield Search— A search screen that enables users to perform quick searches on the most commonly searched fields.

Both tools can be accessed through tabs on the Microsoft CRM left navigation bar as well as through separate browser windows launched from the c360 SearchPac menu.

Query Manager is a Web-based add-on to Microsoft CRM that enables Microsoft CRM Web client users to retrieve groups of records by building complex queries using a simple graphical user interface, as shown in Figure 10.18. With Query Manager, the user can build complex queries to retrieve groups of Lead, Contact, Account, Opportunity, Quote, Order, Invoice, Case, and Contract records.

Figure 10.18. Query Manager enables Microsoft CRM users to build complex queries that search across CRM objects. The queries can be saved for future use.

For example, with Query Manager, a user could retrieve a list of all Accounts in a certain city where they are competing against a particular competitor. After the user has retrieved a list of records, she can take various actions against the list of records. These actions include the current set of actions available in Microsoft CRM as well as the ability to bulk update any field on the records in the results set.

Perhaps the biggest strength of a tool such as Query Manager is that it enables you to search for records based on information about records linked to the record that you are searching. These linked records can be referred to as Parent and Child records, as shown in Figure 10.19.

Figure 10.19. Using Query Manager to query records linked above (Parent records) and below (Child records) a Microsoft CRM object.

Query Manager provides the cross-record searching capability and takes it multiple levels deep. For example, if you want to know which of your Accounts owns a particular Product (Product X), you are probably really asking the question: which of my Accounts is linked to an Opportunity where the Opportunity is linked to an Invoice that has a Closed status and is linked to Product X. Query Manager enables you to build a query to make these connections and find the Accounts you are seeking.

Multi-Field Search

Multi-Field search presents the user with a single screen with the most commonly searched fields for Leads, Contacts, Accounts, and Cases. It enables users of the Microsoft CRM Web client to enter multiple criteria and quickly retrieve a list of Leads, Contacts, Accounts, or Cases that meet the criteria. Refer to Figure 10.20.

Figure 10.20. Multi-Field search enables Microsoft CRM users to perform quick searches on the most commonly searched fields.

Multi-Field search is quickly accessed through a tab on the left navigation bar and displays results in a grid the search fields so that the user can quickly return to the last result set. Multi-Field search saves significant time over the Advanced Find feature that requires the user to manually select the fields to be searched.

We've seen how to take actions against groups of records in the standard list view or using the Microsoft CRM Advanced Find tool. Query Manager and Multi-Field Search also enable you to perform the standard Microsoft CRM actions as well as perform custom actions such as bulk updating a field on the records you have retrieved. Developers can create custom actions to perform using the results from Query Manager and Multi-Field Search.

NOTE

Microsoft CRM actions are designed to execute only on the current page of results. If your query returns multiple pages and you want to execute an action against all results, you have to execute the action by page. This is because when a user makes a request to the Microsoft CRM query engine, the engine retrieves the results on the CRM server and inspects them to ensure that the user has the appropriate permissions to view them. When all the records have been inspected or a full page has been reached, the results are sent to the client's screen. SearchPac's design follows the Microsoft standard in executing actions. Whether you choose a standard action or a custom action, the action is taken one page at a time. Note that the print and Excel export functions behave differently from actions in that they give the user the option of printing/exporting the current page or all records.

For more information on third-party add-on solutions to Microsoft CRM, consult the CD included with this book. For more information on SearchPac visit www.c360.com. An evaluation version of SearchPac is included on the CD that is included with this book.


Summary

Microsoft CRM has made an important statement by including so many diverse reports in their first version. Reporting has notoriously been an issue for CRM companies and the fact that Microsoft has paid such close attention to this very important detail shows that they truly understand what companies need to be successful.

The incorporation of Crystal Reports as the reporting engine for Microsoft CRM makes it easier for companies to standardize on a single analytics platform. If companies want to use only the standard reports that ship with Microsoft CRM, there is no need to purchase additional reporting components from Crystal Decisions, the publishers of Crystal Reports. If companies want to modify existing reports or add new ones, they can purchase Crystal Professional and do so. Microsoft CRM ships with an enhancement component that makes Crystal reports aware of the Microsoft CRM object model.

Microsoft CRM reports are grouped into Sales, Service, and Administration categories. Sales reports deal with concepts around Sales Opportunities and provide several list reports and charts as well as pipeline reports and the traditional pipeline funnel to highlight active business. Service reports pull information on Cases, Service Contracts, and related concepts. Administration reports provide lists of Users, Teams, Territories, and Business units.

Microsoft CRM ships with 120 unique reports and each has the capability for grouping, filtering, and searching data. Several third-party analytics and query tools are also available for users with diverse data needs.

Acknowledgement

Sections of this chapter were contributed by Bill Patterson. Bill is a Microsoft Certified CRM Professional and Microsoft Certified Solution Developer. He is a Senior CRM Implementation Consultant with Solonis, Inc. (a Microsoft Gold Partner in Collaborative Solutions) and a leader in CRM Implementation in financial services and professional sports. For questions, comments, etc. you may contact him at bpatterson@solonis.com.


Chapter 11. Configuring Microsoft CRM

In this chapter

Why Configure?

Configuration Tools

Deployment Manager

System Customization

Customizing Forms

Status and Status Reason

Use Case Corner—Adding Java Script to the OnChange Event of Picklist Fields

Summary

By now you've probably noticed that there is also a chapter in this book titled "Customizing Microsoft CRM" (Chapter 14). Let's start by explaining the difference between configuring and customizing so that we can clear up any potential confusion between these two chapters.

We use the term configuration to refer to changes that can be made to Microsoft CRM using the standard tools provided with the application. Specifically, configuration is anything that can be done using

  • Deployment Manager— A client-server application that is installed with the CRM server.

  • System Customization— A section under the Settings tab of the Microsoft CRM Web client.

  • Workflow Manager— A client-server application that is installed with the CRM server.

Configuration changes for the most part require no use of code or creation of custom Web pages or programs. In this chapter we'll cover the first two of the three tools listed above. We'll go into detail about Workflow Manager in Chapter 12, "Workflow." We use the term customization to refer to changes that require the use of code and the modification of files. Customization is generally done using development tools like Visual Studio and development languages like C#, Active Server Pages (ASP/ASP.NET), and so on.

With any change you want to make to your Microsoft CRM system, you should first investigate all possible configuration options before resorting to customization options.


Why Configure?

Configuration is a big part of any CRM system because there is always a need to modify the way the system works to match the way the organization using it does business. Configuration is something that is done as a part of the initial implementation and is ongoing as the business changes and evolves.

Ideally, your organization should create a steering committee of power users from all areas of the company. This group should meet on a regular basis and discuss how the system is serving them and what changes they need to ensure that the system keeps pace with the business model. Meeting as a group ensures that the changes of one team do not affect the operations of another.


Configuration Tools

We previously mentioned three tools that are used in the configuration of Microsoft CRM. These tools and the functions they provide are listed here:

  • Deployment Manager

    • Adds a license key to the system

    • Creates new schema fields

    • Maps fields from one object to another

    • Publishes, imports, and exports Microsoft CRM configuration files

  • System Customization

    • Changes field values

    • Adds values and constraints to fields

    • Adds and removes tabs from screens

    • Adds and removes sections from screens

    • Adds and removes fields from screens

    • Modifies existing views

    • Adds new views

  • Workflow Manager (covered in Chapter 12)

    • Creates workflow rules

    • Creates Sales Processes

    • Creates Sales Process templates

System Customization is located in the Microsoft CRM Web client under the Settings area. To view and use System Customization, you must be associated with a user role that has the proper privileges. Because System Customization enables the modification of fields and forms, it will normally be visible only to Administrators of the system.

Deployment Manager is a client server application that is installed on the Microsoft CRM server. You can access it by logging into the server and selecting Start, Programs, Microsoft CRM, Deployment Manager.

Workflow Manager is a client server application that is installed on the Microsoft CRM server. You can access it by logging into the server and selecting Start, Programs, Microsoft CRM, Workflow Manager. Workflow Manager is covered in Chapter 12.

NOTE

When you start Workflow Manager, you are prompted to type the name of the Microsoft CRM server. This may lead you to believe that you could either manage a remote server or install Workflow Manager on other machines to manage your workflow processes remotely. This is not the case for version 1.0 of Microsoft CRM. Both Workflow Manager and Deployment Manager must be installed and used directly on the Microsoft CRM server. However, remote management of the Microsoft CRM server is possible through the use of remote desktop connections.


Deployment Manager

Deployment Manager is installed with the Microsoft CRM server installation. You can access it on the CRM server by going to Start, Programs, Microsoft CRM, Deployment Manager. Deployment Manager is implemented as a snap-in to the Microsoft Management Console (MMC). Its interface has the familiar MMC explorer style.

As we work through the various functions in Deployment Manager you will notice that it has been designed as a tool to service multiple Microsoft CRM installations. For example, when you use User Manager to add a new user, you have to select the specific CRM implementation to which you want to add the user. Although not fully implemented at this time, this multi-deployment design is no doubt intended for organizations such as Application Service Providers that are hosting multiple Microsoft CRM deployments.

The Deployment Manager hierarchy in Microsoft Management Console consists of the following nodes:

  • Deployment Manager— A Microsoft Management Console application providing schema, server, license, and user configuration capabilities for Microsoft CRM

  • Schema Manager— A tool for adding new fields and objects mappings in Microsoft CRM

    • <Object Name> (all CRM objects are listed here)— A list of all the configurable Microsoft CRM objects

      • Attributes— Fields associated with each CRM object type

      • Mappings— configurations that determine the flow of data from one object to another as new objects are created from existing objects

  • Server Manager— A tool for configuring, enabling, disabling, and refreshing the Microsoft CRM server and its associated Microsoft SQL server

  • License Manager— A tool for adding license keys (which unlock functionality) to Microsoft CRM

    • <Organization Name> (all installed Microsoft CRM organizations are listed here)— The name of the organization for which Microsoft CRM is deployed

  • User Manager— A tool for creating Microsoft CRM users from Active Directory users

    • <Organization Name> (all installed Microsoft CRM organizations are listed here)— The name of the organization for which Microsoft CRM is deployed

Figure 11.1 shows the layout of Deployment Manager. This looks familiar to most applications administrators because it is a snap-in to the Microsoft Management Console.

Figure 11.1. Deployment Manager is a Microsoft CRM configuration tool that is installed with the Microsoft CRM server and is a snap-in to Microsoft Management Console.

Schema Manager

Schema Manager represents the meat and potatoes of the Deployment Manager application. You will use it the most because it is where you will create new object attributes (schema fields) and map attributes from one object to another.

If you click on the plus (+) next to Schema Manager, it expands to display the objects that make up Microsoft CRM. Under each object folder, you find the Attributes and Mappings folders.

Attributes—Adding Schema Fields

Microsoft CRM ships with standard objects, each of which has a standard set of attributes. As mentioned previously, Objects can be thought of as CRM records and Attributes can be thought of as fields within a record or properties of the object. An example of a CRM object is a Lead, and an example of a Lead Attribute is the Lead's First Name.

NOTE

The term objects may also be referred to as entities.

By right-clicking an object folder under Schema Manager, you can select New and then you will see two options: Add Schema Field and Add Mapping. If you select Add Schema Field, you will be able to add a new field (for example, Attribute) to the object you have selected.

When schema fields are added using Schema Manager, the CRM platform is actually adding new columns to the object's underlying table. For most objects, this table is named as the object name plus the word base. For example, when you use Deployment Manager to add a field to the Contact object, the platform adds a new column to the ContactBase table in the <OrganizationName>_MSCRM database. New fields are added as properties of the object and are just as accessible throughout the application as standard object properties.

Each new field is added with a CF prefix to represent that it is a Custom Field. Additionally, a third character is added to the name you give to the field. This character represents the type of field you have added. Table 11.1 lists the available custom field types as well as their prefixes and the screen controls added when you add these fields to a screen.

Table 11.1. Available Custom Field Types

Field Type

Screen Control

Custom Prefix

DB field type

Notes

String

Text Box

CFS

Nvarchar(n)

n is equal to the string length set upon creation

Integer

Text Box

CFI

Int(4)

Integer fields accept and display integers only

Currency

Text Box

CFC

Money(8)

Currency fields add the default currency symbol (as set in the Systems Settings area under Seetings > System Customization) and separator (, or .) to the screen display

Float

CFF

Float(8)

Float fields display decimals on screen

Date/Time

Calendar Control

CFD

Datetime(8)

Calendar controls are automatically added to the screen when date/time fields are used

Boolean

Radio Buttons

CFB

Bit(1)

Boolean fields are displayed as radio buttons

Picklist

Single-select List controls

CFP

Int(4)

Picklists are displayed as single-select lists controls

Memo

Scrollable text box

CFM

Ntext(16)

Large, scrollable text box capable of holding 2,000 characters

NOTE

At first, it might seem like adding custom fields as new database columns is limiting. However, consider the fact that SQL Server 2000 has a 1,024 column or 8,060 character limit per table. The number of columns you can actually add depends on the data type and lengths of the individual columns, so the maximum number varies based on use and normally allows less than 1,024 columns. Regardless, you can add a lot of columns and certainly enough until a future release of Microsoft CRM introduces the ability to add new objects.

Figure 11.2 shows the AccountBase table in design mode after a new schema field, named Region, has been added. The Microsoft CRM platform creates the field as CFPRegion to indicate that it is a custom picklist field.

Figure 11.2. The AccountBase table in the SQL Enterprise Manager design view.

Figure 11.3 provides some insight into what is going on over in the metabase when a new schema field is added. The <Organization>_METABASE database is the database that stores descriptive information about the CRM database.

Figure 11.3. SQL Query of the Attribute table in the CRM Metabase.

NOTE

Meta data is data that describes other data. In Microsoft CRM, the meta data describes all the fields and their acceptable values as well as mappings.

The Attribute table in the metabase lists all attributes of all objects in the system. In Figure 11.3 the Attribute table has been joined with the Entity table to list all Attributes for the Account object. You can see that the platform has added CFPRegion as an Account Attribute.

If you play around with this, you will notice that the Account object has more attributes than the AccountBase table has columns. This is because certain Attributes, such as address fields, have been normalized into separate tables. However, the object model sees this as a single list of attributes.

TIP

In practice, you should have very little reason to ever query the database because all the configuration tools you use interact with the application server. In fact, Microsoft strongly recommends that you do not access or modify the database directly.

After you have selected Add Schema Field, you are presented with a dialog box allowing you to configure the field properties, as shown in Figure 11.4.

Figure 11.4. The New Schema Field Properties dialog box.

Notice on the New Schema Field dialog box that there are properties for the field name, type (field type), display name, length of string (for string fields only), and description. The names you enter here cannot include spaces, but don't be concerned about this. You'll have an opportunity to add spaces as you add these new fields to your forms. After you complete these and save your new field, you will only be able to update display name and description.

NOTE

It is also worth noting that in this example we are adding a picklist (that is, a single-select list control) field, but there is nowhere to add the values you want to appear in the picklist. That is because this is done in System Customization when we actually add the field to a form.

As you've now seen, adding new fields is an extremely simple proposition and you've got room to add a lot of fields. One thing to keep in mind as you're doing this is that in version 1.0, when you've added a field in Deployment Manager, you cannot remove it. Because information about the field is added to the CRM metabase, don't think that you can trick the system by simply opening the table and removing the database column. The best approach to this limitation is to plan your deployment on paper before actually adding new fields. This will force you to think through things better and make less mistakes.

NOTE

To properly design your system on paper, it is helpful to start with a Microsoft CRM Specification template. This document lists all standard Microsoft CRM structures and provides a framework for modeling the system on paper prior to making any changes in the system. For a copy of this document, visit http://www.c360.com/MSCRMSpec.asp.

Entity Mapper

Now that we understand the concept of adding new fields, let's discuss the concept of mappings. The term data mapping is generally used in relation to the conversion of data from one source to another. A conversion mapping is a definition of how fields flow from the source to the target. For example, a field called firstname in one data source might need to be imported into a field called fname in the data destination.

In many places within Microsoft CRM, we create new records from existing records.

For example, in Figure 11.5 we have an Account record open and are about to click the New Contact button on the Contacts tab to add a new Contact for that Account. Mappings enable us to define how data fields on the Account record flow through to the Contact record when you create a new Contact object in this way.

Figure 11.5. Creating a new Contact from an Account record.

Lead conversion is a good example of where mappings are critical. In most sales organizations, fields are added to the Leads object to ensure that certain critical data points are captured before converting the lead into a Contact, Account, and/or Opportunity. When we add new fields to the Lead object, we probably want the data in those fields to flow through to the Contact, Account, and/or Opportunity objects upon conversion. Figure 11.6 shows that the Lead object has default mappings to the Contact, Account, and Opportunity objects. When the lead is converted, Microsoft CRM follows these mappings in taking the data from the Lead record and depositing onto the Contact, Account, and Opportunity records.

Figure 11.6. By default, Leads are mapped to Accounts, Contacts, and Opportunities for the Lead Conversion process.

Figure 11.7 shows the Entity Mapper with the Lead to Contact mapping being edited. We arrived at this screen by selecting the Mapping folder under the Lead object to the left of the screen, and then selecting the Contact object to the right of the screen. With those two selections made, clicking the Edit Mapping button brings up the mapping edit screen.

Figure 11.7. Editing a mapping in Deployment Manager's Entity Mapper.

The Entity Mapper is simple enough to use, but there are few things to keep in mind. Microsoft CRM only allows you to map fields of identical data types and where data will not be truncated. Figure 11.8 shows the warning message you receive if you try a mixed type mapping.

Figure 11.8. Warning when trying to map mixed data types.

Within any given mapping a field can only be mapped into one receiving field. After you map two fields, they no longer appear on the list of available fields. For example, with Lead conversion, you can't map the Lead's phone number to two different fields on the Contact object. You can, however, map it to one field on the Contact object and one field on the Account object because these represent two separate mappings.

When we learn to build picklist selections shortly, we will see that each text value in a picklist is represented by an integer value. This integer value represents the index or sequence of the text value you've created for the user to see. This is why we saw earlier that a picklist is actually an integer data type and not a string. Picklist values for all fields start with a value of one and increment by one each time you add a new value. You'll notice in using the Entity Mapper that picklists are represented two separate ways. They are represented as a picklist type (refers to the integer index value of the picklist) and as a virtual type. The virtual type represents the actual text value the user sees in the field list control. Figure 11.9 illustrates the mapping of a picklist's virtual field.

Figure 11.9. Mapping a picklist name virtual field instead of the picklist integer value.

If you map a picklist type to another picklist type, Microsoft CRM transfers the integer index value from the source object to the target object regardless of the text value that the user actually sees in the field. For example, if you have a picklist field with four options on the Lead screen and a picklist field with the same four options, but in the opposite order, on the Contact screen, the mapping of these two fields will result in different text selections on the two objects.

You should map picklists using the integer value (the picklist field type in the Entity Mapper) if your corresponding text descriptions are different between the two objects you are mapping. This gives you the flexibility to modify the text descriptions without invalidating the mapping.

TIP

Beware of adding values to mapped picklist fields and reordering them. Reordering values does not change their corresponding integer values. It only changes the sequence in which they are listed.

On the contrary, if you map the picklist's virtual field as illustrated in Figure 11.10, Microsoft CRM takes care of the translation for you so that what the user sees is consistent between the two objects regardless of whether the text values are identically ordered.

Figure 11.10. Adding a new mapping in Microsoft CRM.

NOTE

Contrary to what you might think, you cannot map a picklist virtual field to a string or a memo field type. Microsoft CRM interprets this as mapping fields of two different data types and gives you an error. Also, you cannot map a custom picklist's virtual field to a standard picklist. This is because standard picklists in Microsoft CRM are represented only as integer values in Entity Mapper. If you want to map an existing picklist to a custom picklist (or vice versa), you must do so using each field's integer values. In this scenario, you must take extra care when modifying the mapped fields to ensure that the integer values match appropriately.

Attributes—Adding New Mappings

In the mapping scenarios discussed so far, we've edited existing mappings that were installed by default. Deployment Manager also provides the ability to create new mappings.

NOTE

Currently, Microsoft CRM version 1.0 does not allow developers to add new objects into the application's object model. Because new objects cannot be added, it is probably unlikely that you would need to add a new mapping from scratch.

Adding a new mapping is straightforward. You simply click the add new mapping button and select the object to which you want to map, as shown in Figure 11.10.

By default, all the mappings you use for version 1.0 have been set up, so you might never use this function. But potential scenarios exist where a developer could create a custom button to create one object from another and take the new mapping into account when doing so.

User Manager

We briefly touched on the User Manager tool in Chapter 5, "Setting Up Microsoft CRM." Let's now take a deeper look at this useful utility.

Users can be created directly in the Microsoft CRM Web client by going to Settings, Business Unit Settings, Users and following a series of steps to add the user and assign their license and roles.

Setting up users is time-consuming for a system administrator and the User Manager tool in Deployment Manager can save time. Furthermore, because the User Manager tool enables you to select users directly from Active Directory, it narrows the margin for error experienced by having to type the user's domain logon name exactly in the standard Microsoft CRM user screen. Figure 11.11 shows the user manager wizard.

Figure 11.11. Selecting the user's Business Unit in User Manager.

User Manager is a straightforward wizard. To access it, right click the folder for the installation to which you want to add the user. The wizard walks you through a series of screens allowing you to

  • Select the user from a list of Active Directory users

  • Select the Business Unit to which the user will be added (see Figure 11.11)

  • Select the roles to which you want to assign the user

  • Select the user's license from the pool of available licenses

License Manager

Like a lot of applications, Microsoft CRM uses a license key concept to unlock the functionality a customer has purchased. When a customer buys Microsoft CRM, the specific number of users is coded into a license key created specially for the purchasing organization. This key tells Microsoft CRM what functionality to make available and the number of users to whom to allow access. The key must be entered using License Manager before you can begin adding licenses to users. Figure 11.12 shows the Add License screen of License Manager.

Figure 11.12. Adding a License Key through License Manager.

By default, Microsoft CRM creates a user during initial installation. This user is the one who was logged in to run the application installation. This user will not have a license, nor will any licenses be available until the license key is added through License Manager.

NOTE

The license keys that are entered in License Manager are valid only for the specific organization that purchased the license. When installing the Microsoft CRM server, the organization name (as supplied by Microsoft with the license key) must be entered. This organization name cannot include commas or the license key will not work.

Server Manager

Server Manager is a utility that allows you to associate the current Microsoft CRM application with a SQL Server and the appropriate MSCRM and Metabase databases on that SQL Server.

Figure 11.13. Configuring your SQL Server with Server Manager.

Server Manager allows system administrators to enable and disable Microsoft CRM servers and to switch the Microsoft SQL servers in the event that the current SQL server goes offline.

Importing, Exporting, and Publishing XML

As you configure your implementation of Microsoft CRM, your users will not see the configurations until you make them available by publishing them. To do this, right-click the root node of Deployment Manager (labeled 'Deployment Manager' and referred to as the 'Customization Transport Manager'). You will see the following three options:

  • Import Customization

  • Export Customization

  • Publish Customization

NOTE

Publishing, importing, and exporting customizations actually affects what we have been referring to as configurations. Microsoft has been inconsistent in their use of these two terms. It is important to keep in mind that everything related to Deployment Manager deals with configurations and not what we have defined as customizations.

Upon selecting the Publish Customization option, you are presented with the screen shown in Figure 11.14.

Figure 11.14. Publishing Microsoft CRM customizations with the Customization Transport Manager.

The Customization Transport Manager gives you the option to publish customizations for all objects or for only selected objects. This is nice functionality because you might encounter situations where you have customized one object and are ready to roll it out to the end users, but are in progress on another object and don't want the customizations published.

After you have selected the objects for which you want your customizations published, you are prompted to select the Web servers to which you want the customizations published, as shown in Figure 11.15.

Figure 11.15. Selecting Web servers to which to publish customizations.

Most deployments of Microsoft CRM have a single Web server, but it is possible to have multiple Web servers in which case you would want the customization published to all of them.

NOTE

Sometimes it is necessary to reset the Web server in order for your published customizations to show up in Microsoft CRM. To do this, select Start/Run on the Microsoft CRM server, type iisreset, and then click the OK button. This utility will stop and restart Internet Information Server (IIS) and will cause a momentary disruption in service to your users. After you have run the iisreset, the Microsoft CRM Web pages (which were previously cached) will be cleared so the next user to retrieve each page will notice a slower than normal response.

Perhaps one of the coolest features of Microsoft CRM is that all the customizations you create are stored as meta data and can be exported into a single XML customization file for use in another implementation of Microsoft CRM. Specifically, when you export the customization XML from one Microsoft CRM installation to install in another, you are exporting.

The import process will create these new fields in the target implementation.

  • Attributes (schema fields you have added)

  • Mappings

  • User Interface changes (adding/modifying tabs, sections, and fields)

  • Queries (i.e. custom filtered views you have created)

  • KB Article Templates

  • Service Contract Templates

  • Email templates

  • Pointers for custom tabs (see Chapter 14, "Customizing Microsoft CRM")

Importing customization XML is meant to be done on top of a clean installation of Microsoft CRM. It creates custom fields, add templates, and so on. It will not remove them. If you are the adventurous type, you can crack open the customization XML file that you have created and see exactly what it contains. Figure 11.16 shows the structure of the Microsoft CRM XML customization file.

Figure 11.16. The root nodes of the customization XML file.

The export/import customization process does not include any workflow you have created but Microsoft has created a separate utility to export and import workflow information. This utility is available on the Microsoft Business Solutions PartnerSource and CustomerSource Web sites. Also, although the customization XML does contain the pointers to added custom code, it does not copy over that code. This can be done manually.

NOTE

Unlike customizations, descriptions of Workflow are not created in the Metabase. Workflow is housed in a series of tables in the MSCRM database. These tables all begin with the WF prefix.

To export the customization XML, navigate to the root node of Deployment Manager, right–click, and select export customization. You'll be presented with a dialog box to specify the destination location of the XML file to be output. This dialog box is shown in Figure 11.17.

Figure 11.17. Exporting Customization XML in Deployment Manager.

The Customization Transport Manager, as it is called, creates a single XML file containing all your customizations. If there are errors during import or export, they are written to the Microsoft Windows Event Viewer on the CRM server. You can access this application (shown in Figure 11.18) by going to the server's control panel and selecting Administrative Tools, Event Viewer. Errors generated by Microsoft CRM's Deployment Manager will be listed with a source of DMSNAPIN.

Figure 11.18. Application Log Event Viewer errors from the Deployment Manager snap-in (DMSNAPIN).

    [ Team LiB ]


System Customization

Now that we've seen what Deployment Manager can do to create the behind the scenes aspects of configurations, let's move on to System Customization to bring our changes to the user interface.

System Customization (shown in Figure 11.19) can be found under the Settings tab within the Microsoft CRM Web client. As with all areas of Microsoft CRM, users must have the proper security privileges to see this tab. Because the Settings tab provides access to change many of the core areas of Microsoft CRM, normally only administrators have access to it, or at least to the majority of the options contained in it.

Figure 11.19. The System Customization screen allows you to modify the forms, views, and previews for CRM objects.

System Customization is where all user interface modifications occur. With access to the System Customization area, a nontechnical user can

  • Customize forms

    • Add new tabs, sections, and fields to forms

    • Remove/rename/move existing tabs, sections, and fields

  • Customize previews

    • Add and reorder the fields displayed in the preview pane

  • Add and Customize views

    • Add and reorder columns in grid record listings and in the Advanced Find tool

    • Set a default view

NOTE

One user interface modification that can't be done through System Customization or the other tools is the modification of the eResource links that are displayed on Lead, Contact, and Account forms. These links are designed to pull information off of the active form, and then pass that information into a Web page so the Web page can configure itself accordingly. At the present time, there is no official way to modify these links. However, we've developed a way around this and have included that in the chapter on customization.


Customizing Forms

Let's dive right in with an example of how we can use the System Customization area. We'll start by returning to Deployment Manager and creating a set of new schema fields on the Contact object. For this example, let's assume that we're using the Contact object to track students at a private school. Table 11.2 lists the specifications for the fields we will create. We'll be creating one field for each data type.

Table 11.2. Field Specifications

Name

Type

Display Name

Length

Description

SSN

String

SSN

11

Social Security Number

Enrolled Age

Integer

Enrolled Age

n/a

Age at time of application

GPA

Float

GPA

n/a

Grade Point Average

Contribution

Currency

Contribution

n/a

Application Contribution

Enrolled

Date/Time

Enrolled

n/a

Date Enrolled

Legacy

Boolean

Legacy

n/a

Indicates if student has family alumni

StartingForm

Picklist

StartingForm

n/a

Beginning Grade

Overview

Memo

Overview

n/a

Overview of student

Figure 11.20 shows a view of our custom fields in Deployment Manager. Notice that the field's description is included to the right of each field. Microsoft CRM's standard fields do not have descriptions, but it is a good idea to add them with custom fields so future system administrators can understand the intended purpose of the custom fields.

Figure 11.20. Viewing the list of custom Contact fields in Deployment Manager.

After we have created our new fields, let's go to the System Customization area and add these fields to a new tab and section on the Contact form. Notice that when we go to System Customization and select Contact, Figure 11.21 shows the area of the Contact configuration screen that lists several configuration options.

Figure 11.21. User interface configuration options for the Contact object.

We'll select Customize Form and start by creating a new tab called Student Details. Select Add a Tab and type the name Student Details as shown in Figure 11.22.

Figure 11.22. Adding a new tab to the Contact form.

Because all the custom fields we'll be adding to this tab can be grouped together, we don't really need sections to separate groups of fields. However, because all fields must be added inside a section, we'll add a section and specify that its title not be displayed on the form. We can do this by selecting Add a Section and entering Student Details as shown in Figure 11.23. By default, the check box labeled "Show the name of this section on the form" is unchecked.

Figure 11.23. Adding a new section that will not be displayed on the form.

Now that we have our new tab and section, let's add our custom fields to the section. Select Add Fields and a list of all of the Contact object's fields is displayed. Figure 11.24 shows this field list. Scroll through the list and select the new fields we just created in Deployment Manager.

Figure 11.24. Selecting fields to add to the Contact form.

NOTE

Notice that the fields appear in this list without the publish customization process having to be run. This is because the publish customization process is only necessary when you are making changes that affect the user interface. Up to this point, our new fields only existed in the database and application object model.

After the fields you want added to the section are selected, click OK to see what the form looks like. By default, the fields are listed in alphabetical order and the memo field spans two columns. We'll want to clean up the captions a little and add values to our picklist field. Let's start by selecting the field EnrolledAge and clicking Change Properties. The Field Properties dialog box, shown in Figure 11.25, opens to the Display tab.

Figure 11.25. Changing the properties of an integer field.

Notice the two descriptions of the field: one is titled name and one is titled label. Name is used in views, searching, and reporting, whereas label is used for forms. Most of the time you'll want to use the same value for both. The exceptions to this rule are cases where you abbreviate the label field to make it fit on the form better. You may also have fields that are defined by their section heading and need little or no field caption added on the screen.

The Field Properties dialog box is slightly different for each field type. The various options available are straightforward; you can navigate through them and get a good understanding of the options in no time. However, a couple of things are worth highlighting:

  • The schema tab enables you to select whether the field has No constraint, is Business Required or Business Recommended. If you select Business Required you will be required to enter a value in this field when inserting or updating a record. Business Required field captions appear in red. Business Recommended field captions appear in blue. These fields are not enforced by the system. Fields marked No Constraint are not required and do not have colored captions.

  • The Values tab for picklist fields enables you to enter the values the user sees when editing these fields. Figure 11.26 shows this tab. As you enter values, an integer value is assigned to each one. Notice that if you change the order of the values in your list, the integer value stays with the text entries so that you will end up with integer values that are out of sequence. This is why the Entity Mapper in Deployment Manager allows you to map the virtual fields created with picklists.

    Figure 11.26. Adding values to a picklist field.

Now that we've changed the caption on the Enrolled Age field, we'll add values to our StartingForm picklist field and modify its name and label values for readability. We'll save the changes to our form, and then select Create Form (pictured in Figure 11.27) from the preview menu to see how it looks.

Figure 11.27. The Create Form preview of our modified Contact form.

Two additional changes were made that weren't mentioned in the text. The Boolean field was modified to display Yes/No instead of the default True/False and the green directional arrows were used to move the Overview field to the bottom of the form. We filled in some data so you can see how the various field types display the information.


Status and Status Reason

One type of picklist field is different from the others. This is the Status Reason field found on Opportunity and Case records. Status Reason fields are different because their picklist values are linked to their object Statuses. Remember that Status and Status Reason are different fields. Status is noneditable header information that is listed in the lower-left corner of each object's main screen. The Status value of an object can only be changed by taking an action from the object's action menu (for example, invoicing a Contract or disqualifying a Lead). Status Reason is a user-editable field on the object's screen. Status Reason can be updated by a user simply changing the value in its picklist. A Microsoft CRM administrator can change the values that appear in the Status Reason picklists. The administrator cannot change the values of Status for each object. Those are set by the system.

When you use Form Customization to update the values of the Status Reason field (see Figure 11.28), you will notice that you can create a different set of Status Reason values for each of the object's statuses. The Status Reason fields you see on the form depend on what Status the object is in at the time you are selecting a Status Reason. Because these two fields are linked, you will see their values concatenated (see Figure 11.28) when you are selecting a Status Reason in, for example, the Advanced Find tool.

Figure 11.28. Status Reason picklist values are linked to a Cases's Statuses. When you are selecting Status Reason fields in the Advanced Find tool, they will be concatenated to their corresponding Statuses.

Before moving on, it is worth noting that certain system fields cannot be removed from forms. For example, on Sales Opportunities, you cannot remove the Boolean field labeled Revenue.

Customizing Previews

Previews allow the user to view key data points about a CRM record without actually opening the record. You can access previews by clicking the arrow icons listed in all of the Microsoft CRM grids. For each CRM object, there is one and only one preview. It is available from all of the object's views. Figure 11.29 shows the Contact preview.

Figure 11.29. The Contact preview.

You can configure which fields are displayed in the preview by going to Settings, System Customization, selecting the object you want to configure, and selecting the Customize Preview option. Figure 11.30 shows the preview configuration screen.

Figure 11.30. Configuring the Contact Preview.

Configuring previews works just like configuring the main object form. The only thing to keep in mind is that if you want to modify a field's properties (for example, its name) you have to do so in the Customize Form section. The field name (not label!) you set in this area is displayed when you add that field to an object's preview.

Adding and Customizing Views

Views are what determine which columns and records we see in the various Microsoft CRM grids (screens where records are listed in a tabular format). There are three standard areas within the system where users can see object views. These are

  • Main view— The window that is displayed when the object's main tab is clicked.

    • The Account's main window is displayed by going to the Sales area and clicking the Accounts tab.

  • Associated view— The window that is displayed when the object is linked to another object.

    • A view of Contacts can be seen by going to an Account and clicking the Contacts tab.

  • Advanced Find view— The record listing that is displayed in the Advanced Find tool.

By default, each object's main window has a few standard views. You can modify those and create new ones. With views you can define which columns to list, as well as filter data based on criteria that you set.

NOTE

The ability to filter data in views is powerful, yet it is limited in that it does not extend to logical users. For example, you cannot create a view to display my in-progress opportunities because there is no way to tell the view that you want only in-progress opportunities for the active user.

Views are global so all views can be seen by all users. However, keep in mind that the security model governs what data each user will see when selecting a given view. In Microsoft CRM, users will always only see records for which they have the appropriate permissions. It is also worth noting that with each object you can set a default view and this default is global.

The Associated View is the view a user sees when looking at a list of the records from another record. For example, when a user opens an Account record and looks at the list of linked Contacts, the user is seeing the Associated View for the Contact object. There is only one Associated view for each object.

Similar to the Associated view, there is only one Advanced Find view for each object.

You can add any of an object's fields as columns to that object's views. The only rule is that the default initial column (the primary column) cannot move. For example, you can rearrange the columns that show up in the My Active Leads view for Leads, but the Name field must appear first.

Record Retrieval in Microsoft CRM

As we talk about custom views and start to look at the default views in the system, the question that comes to mind is how Microsoft CRM deals with large data sets when querying views and using the Advanced Find tool or third-party query tools such as c360's SearchPac Query Manager discussed in the previous chapter. For each set of views there is a catchall view that retrieves all records for the object type we have selected. What will happen if we have 250,000 Contacts in the system and we select the Active Contacts view? Will the system crash or will our browser break down trying to display all the data?

As we saw earlier in the book, all users can set a user option to specify how many records they want to see per page. The options for this are 25, 50, 75, or 100 records per page. Whenever Microsoft CRM executes a query, the CRM application server begins reviewing records matching the query criteria to determine which records the requesting user has access to view. This is another example of how the security model is always consulted. When the number of records reviewed equals the maximum number of records the user has requested to see per page (as determined by his/her user preferences), or when the end of the matching record set has been reached before the maximum has been satisfied, the data is sent to the client and the page of records is displayed.

This is why you never see a total record count in any of the Microsoft CRM views. You see a per page count on each page, but you never see a total count. The server is working through the list and determining what you can see. It does not pull the entire list and then chop it up and send it to you. Furthermore, if your query has enough matching results that more than one page is needed, you will be able to click the forward and backward arrows to see each page. As you do this, the server is going back for the next batch of matching records and examining each one to ensure that you have access to view it.

This type of paging design has positive performance implications. The system never gives you more data than you can handle. You will, however, want to be aware of the impact of this when you execute any of the actions on a list of records that spans more than one page. Selecting all the records and executing the action will only apply the action to the records on the active page. If you have a results set that is five pages long, you will need to execute the action five times to affect all records.

An exception to the previous statement deals with exporting and printing records. If you query a large record set, and then use the print or Excel import buttons on the grid to print or export the data, you will be asked whether you want to print/export all pages or just the current page. This option is illustrated in Figure 11.31.

Figure 11.31. The Excel export dialog box enables the user to export all pages.

Exporting or printing a very large data set could take up a significant amount of resources. It would be wise to do some tests to see how far Microsoft CRM and your particular environment can take you. The data gathering/packaging aspects of the export and print processes runs on the CRM application server so, if you are printing or exporting a large dataset, you might experience a long wait time.

To illustrate what we can do with views, let's create a custom Contact view titled 3rd Form Students and set it as our default view. We'll start by navigating to the System Customization section, clicking Contact, and selecting Create a New View. Figure 11.32 shows the screen where we are asked to enter the view's name and description.

Figure 11.32. Creating a new Contact view titled 3rd Form Students.

In the New View form we'll use the Add Columns button to add all the new custom fields we created earlier in the chapter. After we've added those, we can use the left and right arrow buttons to change the field order. Figure 11.33 shows the view configuration screen.

Figure 11.33. Adding new columns to a view.

Our next step is to set up our filter so that our new view only displays records that meet specific criteria. To do this we click Edit Filter Criteria, and then configure the screen so that we only pull back Contacts with a Starting Form set to 3rd Form. Figure 11.34 shows the view filter screen.

Figure 11.34. Adding filter criteria to a view.

Finally, we'll click Configure Sorting and set the view to sort by Contribution in descending order so we can see all the big spenders at the top of our list. Figure 11.35 shows the view sorting screen.

Figure 11.35. Configuring the sorting criteria for a view.

Now that we've created our new custom view, we will set it as the default view for Contact records. We can do this by going into System Customization and selecting Set Default View, shown in Figure 11.36. Again, keep in mind that this is a global default so all users will now see this view when going to the Contact's main screen.

Figure 11.36. Setting the default view for an object.

All the user interface customizations you do in version 1.0 of Microsoft CRM affect all users and Business Units. It would be nice to be able to customize the interface based on the user, Business Unit, or a variety of other factors, but for now we'll just have to wait. However, it does appear that Microsoft has designed their customization structure with extensibility in mind. One indicator of this is the customization XML node titled dmUpdateOrgUI. The way this is named and structured leads us to believe that Microsoft is able to add sections for any level of interface customization they eventually want to build into the product.


Use Case Corner—Adding Java Script to the OnChange Event of Picklist Fields

As you navigate through the field properties dialog boxes for the various field types, you'll notice that there is an additional tab labeled Events on the dialog box for picklist fields. This tab enables you to enter JavaScript that will be run during the OnChange event of this field. In other words, this enables you to run a piece of JavaScript code each time the value of this field is changed.

NOTE

If you are really daring, it is also possible to add JavaScript to nonpicklist fields by updating the Microsoft CRM XML files directly. However, this is definitely not a supported customization so proceed at your own risk.

We'll take advantage of this functionality by using it to require that a value be entered into the Contribution field when the user selects 3rd Form from the Starting From picklist.

Open the Starting Form field properties dialog box by double-clicking the field on the design form. Select the Events tab, select OnChange from the event list, and click the edit button. Figure 11.37 shows the edit screen with our code included.

Figure 11.37. Adding Java script to a picklist field's OnChange event.

On the Details tab check the Event enabled check box and enter the following code into the text window:

if (crmForm.CFPStartingForm.value == "3rd Form") {
    crmForm.SetFieldReqLevel("CFCContribution", true);
} else {
    crmForm.SetFieldReqLevel("CFCContribution", false);
}

In this code example, the second parameter (1 in this case) passed into the SetFieldReqLevel function tells the function whether to make the value required or not. In this case, a value of 2 would make the field not required.

NOTE

After reading through this example you may want to know how you can get a list of the javascript functions (such as SetFieldReqLevel) that are available when writing code in the on change event. As of this writing, there is no official reference of this information. The only way to figure out what functions are available is to view the source of the generated HTML page to get the list of included javascript files and then to study the files where they are used. Microsoft has done a good job at documenting the API but, to our knowledge, has not documented the client side functions.

Because the rule we are implementing is dependent on the Contribution field, we need to select the Dependencies tab and add that field as a dependency. Doing this will disallow the removal of this field from the form.

Now we can return to Deployment Manager, publish our customization, and test it out. Figure 11.38 shows the error message the user will receive when selecting 3rd Form and leaving the Contribution field blank.

Figure 11.38. Creating a dynamic field requirement by adding JavaScript to a picklist field's OnChange event.

One thing to keep in mind with this type of picklist customization is that the code we have written is dependent on the text value of the picklist option triggering the event. In other words, if we were to change the value of our option from 3rd Form to 10th Grade our code would stop working.


Summary

Configuration is defined as changes we can make to the system using the Microsoft CRM-specific configuration tools Microsoft has provided. Customization refers to changes made using development tools and code.

Microsoft CRM configuration is accomplished using the settings tab on the Microsoft CRM Web client as well as two client-server tools on the Microsoft CRM server. Those tools are Deployment Manager and Workflow Manager. Workflow is covered in the next chapter.

Deployment Manager is used to add licenses, users, custom fields, and custom entity mappings. In addition, it allows you to configure your CRM server(s) as well as publish customizations you have made.

The Settings tab is where you can make changes to the screens, adding tabs and fields and modifying or removing fields. The Settings tab also allows you to add users, and to configure security, email templates, announcements, subjects, and product information.

A lot can be done to make Microsoft CRM work in your business, but be sure and plan your business objectives before setting out to make changes.


Chapter 12. Workflow

In this chapter

Workflow Manager

Workflow Actions

Workflow Conditions

Creating a Sales Process

Workflow Monitor

Workflow Security Settings

Use Case Corner—Automating Business Processes Through the Microsoft CRM Workflow Monitor

Summary

Power users of CRM systems are well aware that workflow is a large part of the value of CRM. Because workflow differs significantly even between companies in the same business, having a way to automate workflow can create tremendous efficiencies.

In this text, the term workflow refers to the automation of routine processes. Examples of workflow include

  • Routing of a service case to a particular individual or queue based on the priority or status of the case

  • Automatic creation and assignment of standard sales process tasks upon identification of a new sales opportunity

  • Automated email of order details to the accounting department upon customer acceptance of a sales order

Microsoft CRM enables the creation of workflow through a client-server application called Workflow Manger. Microsoft CRM provides the capability to monitor the activity of these workflow rules through a tool called Workflow Monitor. Both of these tools reside on the Microsoft CRM server and are installed as part of the Microsoft CRM server installation.

NOTE

Workflow is a feature available only in the professional versions of Microsoft CRM. If you are using a standard version of Microsoft CRM, the information in this chapter will not apply.


Workflow Manager

All workflow for Microsoft CRM is configured using Workflow Manager. Workflow Manager is a GUI (graphical user interface) tool that requires no knowledge of a programming language. Although the syntax that Workflow Manager produces does look somewhat like a simple programming language, any nontechnical business user can use workflow manager to configure processes in Microsoft CRM.

Workflow Manager can be accessed on the CRM server by going to Start, Programs, Microsoft CRM, Workflow Manager. Figure 12.1 shows the Workflow Manager tool.

Figure 12.1. Viewing Lead rules in Workflow Manager.

When Workflow Manager is open, you can select the object for which you want to create or edit workflow. You can edit an existing workflow rule or sales process by deactivating it, and then double-clicking it. The option to deactivate a rule is on the Actions menu. You can select New from the File menu to create a new rule.

Triggering Workflow

Workflow in Microsoft CRM refers to a Rule (for example, a business rule) or Sales Process. Workflow must be triggered by an event. When workflow is triggered, it takes actions based on logic that has been configured for that particular Rule or Sales Process. The hierarchy of this can be listed simply as

  • Event

  • Rule or Sales Process

  • Actions

Triggering events could be the creation of a new sales opportunity or a user manually requesting that a workflow process begin. The triggering events in Microsoft CRM Workflow Manager for CRM objects are

  • Manual

  • Assign (Rules only)

  • Create

  • Change Status (Rules only)

Figure 12.2 shows the workflow creation screen. The selected drop-down shows the triggering events.

Figure 12.2. Selecting an event to trigger a workflow rule.

NOTE

I have to say that I was disappointed to initially look through the list of workflow triggers and not see "Update" listed along with Create, Assign, Change Status, and Manual. It was a nice, albeit confusing, surprise to find that you indeed can monitor the changing condition of an object and take action as the field values are changed. This will be discussed later in this chapter.

The "Rules only" listed next to Assign and Change Status refers to the fact that Sales Process workflow can only be triggered manually or upon creation of an Opportunity record. Sales Process cannot be triggered when an Opportunity has been assigned or when its status (not Sales Stage!) has been changed.

The CRM objects that can trigger workflow are

  • Account

  • Case

  • Contact

  • Contract

  • Invoice

  • Lead

  • Opportunity

  • Order

  • Quote

For each object, Workflow Manager allows the creation of Rules or Rule Templates. The exception to this is that Workflow Manager also allows the creation of Sales Processes and Sales Process Templates for Opportunity records. Because of this, the term workflow is used to refer to both rules (that is, business rules) and sales processes.

Manual Workflow

Manual workflow refers to workflow that can be triggered by a user of the Microsoft CRM application or by another workflow process (as a subprocess, which is discussed later in the chapter). For example, you might create a manual workflow process that creates and assigns a phone call activity to a customer-service agent instructing them to place a courtesy call to a disgruntled customer. This workflow could be invoked at the discretion of a sales representative based on his interaction with the customer.

Assign Workflow

Workflow can be triggered any time a CRM object is assigned or reassigned. For example, when a Service Case is assigned to the Development Queue, workflow could automatically notify the manager of that queue that a new Case has been assigned.

Create Workflow

When CRM objects are created workflow can be triggered. For example, a user can create a new Sales Opportunity record and the appropriate sales process steps and actions could be automatically generated. Alternatively, an automated process such as the conversion of a Lead or integration to the CRM server could create an Opportunity and the workflow would still run.

Change Status Workflow

Change status workflow is triggered by any changes to a CRM object's status information. The important thing to keep in mind with the Change Status workflow is that the status to which the Workflow Manager refers is the noneditable header information status discussed in the previous chapter. This status is the value that is displayed in the lower-left corner of each object's main screen.

Rules Versus Sales Processes

Let's take the previous discussion one step further. We've seen that we can create Rules for all objects and Rules and Sales processes for Opportunity objects. The difference between a Rule and a Sales process is that a Sales process enables a user to create his/her own series of steps (called Sales Stages) that can trigger workflow. The workflow triggers actions that, when completed or cancelled, move the process to the next Sales Stage.

If you look at an Opportunity screen, not only will you see the Status (that is, the noneditable header information) in the lower-left corner, but you will also see the Sales Stage (also noneditable header information) in the lower-right corner.

Figure 12.3 shows the bottom portion of an Opportunity screen where the Opportunity is in the open Status and in the 1—Needs Assessment stage.

Figure 12.3. Viewing an Opportunity's Status and Sales Stage on the bottom of the Opportunity screen.

Now that the concept of record statuses has been clearly defined, let's take a look at the list of statuses for each record type. These statuses are listed in Table 12.1 and have been outlined in the chapters that deal with each record type.

Table 12.1. CRM Object Statuses

CRM Object

Statuses

Account

Active

Inactive

Case

Active

Cancelled

Resolved

Contact

Active

Inactive

Contract

Active

Cancelled

Draft

Expired

Invoiced

On Hold

Invoice

Active

Closed

Lead

Disqualified

Open

Qualified

Opportunity

Open

Lost

Won

Order

Active

Cancelled

Submitted

Quote

Active

Closed

Draft

Won


Workflow Actions

Now that we know how workflow can be triggered, let's look at what we can do with the workflow. Here we are referring to the workflow actions that can be configured in Workflow Manager. These are

  • Create Activity

  • Create Note

  • Send email

  • Update Object

  • Change Status

  • Assign Object

  • Post URL

  • Run subprocess

  • Stop

Create Activity

This action creates Task, Phone Call, Fax, or Letter Activities. Creation of email is broken out under a separate action. Creation of an Appointment is not supported. Figure 12.4 shows a task activity being configured.

Figure 12.4. Creating a Task Activity from workflow.

The activity that is created can be assigned to either a user or a logical user. The term "user" here refers to a specific user. The term "logical user" represents either the user who is the owner of the active object or that user's manager as defined in their Microsoft CRM user setup. Figure 12.5 shows the user/logical user assignment selection box.

Figure 12.5. Assigning an Activity to a logical user.

The due date on the Activity is set at the number of units (months, days, hour/minutes) past the time of creation of the Activity.

Create Note

The Create Note action creates a Note object and attaches it to the active object. You can provide a subject, enter notes, and attach a file to the Note. Figure 12.6 shows the note creation screen.

Figure 12.6. Creating a Note object through workflow.

Files can be attached to both Notes and emails created using workflow. Just as with any attachment, the file is included in the database when the object is created. However, when setting up the workflow and selecting the file to attach, you are simply specifying a link to the document. If the document is later moved or deleted, the rule still functions and creates the Note, but the file will not be attached to it. The Microsoft CRM workflow service logs an error in the Application Log of the Windows Event viewer. Figure 12.7 shows the error that is logged when the workflow service cannot find a file attachment.

Figure 12.7. Errors in workflow are written to the Application Log of the Windows Event Viewer.

Send Email

The send email functionality from within workflow has tremendous possibilities. The emails you send can either be generated from templates or can be configured directly. Figure 12.8 shows an email being configured to use an email template.

Figure 12.8. Selecting an email template for a workflow created email.

If you choose to configure the email directly, you are relatively limited in how you can configure it. You can specify the To, CC, and BCC recipients as users, logical users, teams, contacts, or accounts. You can also add an attachment, a subject, and body text, as well as give the email a priority. You cannot embed information about the active record this way.

If you want to include fields from the active record or its related records in your email, you need to configure an email template and associate it with the send email workflow step. This option is powerful because it provides access to all the data related to the active object and that object's related objects.

For example, let's say you've configured your Web site to call the Microsoft CRM API (Application Programming Interface) to insert a Lead record when someone submits their contact information on your Contact Us page. Let's also assume that you've configured that Lead insert to set the Lead Source field to the value Web to show that this lead came from your Web site. You can now create a workflow rule to run on the Create event of the Lead object to send an email generated from a Lead email template. By having the Lead source, you can ensure that this email is sent only when the Lead record has a specific source. Figure 12.9 shows an example of a "Web to Lead" email template.

Figure 12.9. An email template to follow up with a Web lead.

Update Object

The Update Object action provides the capability to change the value of many of the fields on the active object record. The exception to this rule is that date fields are not listed among the fields that can be updated. Figure 12.10 shows the update object screen.

Figure 12.10. Updating a picklist field in Workflow Manager.

The update capability has some nice features you might not expect. For example, when updating string or memo fields, you can either change the value of the field entirely using the = operator or use the += operator to append (or concatenate) another value to the end of whatever existing value is found in the string or memo field. Table 12.2 lists the options by field type.

Table 12.2. CRM Object Update Relationships

Field Type

Options

String

=

+=

Integer

=

+=

-=

*=

Float

=

+=

-=

*=

Currency

=

+=

-=

*=

Date/time

Not available for update

Boolean

=

Picklist

=

Memo

=

+=

Definitions of the operators in Table 12.2 are listed in Table 12.3.

Table 12.3. Object Update Operators

Operator

Definition

=

Equals. Original value is replaced with the update value.

+=

Add. In the cases of Integer, Float, and Currency fields, the update value is added to the original value (3 += 5 = 8). In the cases of String and Memo fields the update value is appended to the original value (cat += dog = catdog).

-=

Subtract. This operator is only used with numeric fields. It subtracts the update value from the original value (7 -= 5 = 2).

*=

Multiply. This operator is also only used with numeric values. It multiplies the update value times the original value (5 *= 6 = 30).

In addition to allowing update of fields on the active object, the Update Object action also enables the update of fields on related objects. Table 12.4 lists the related objects that can be updated.

Table 12.4. CRM Object Update Relationships

CRM Object

Related Objects

Account

Account

Owner

Case

Case

Account

Contact

Contract

Owner

Subject

Contact

Contact

Account

Owner

Contract

Contract

Account

Contact

Owner

Invoice

Invoice

Account

Contact

Order

Owner

Lead

Lead

Owner

Opportunity

Opportunity

Account

Contact

Owner

Order

Order

Account

Contact

Quote

Owner

Quote

Quote

Account

Contact

Owner

Change Status

Earlier in this chapter we discussed the concept of object Status and listed the available statuses by object. Figure 12.11 shows the change status screen.

Figure 12.11. Changing an object's status through workflow.

Using the Change Status workflow action we can change the status of an object programmatically.

Assign Object

Workflow can be used to assign objects to a User, Manager, or Queue depending on the object type. The term Manager refers to the manager of the user to whom the object is assigned before the workflow rule reassigns it. Figure 12.12 shows the assign object screen.

Figure 12.12. Assigning an object through workflow.

One thing to consider when creating workflow that assigns an object is that it is also possible to create workflow that is triggered by the assignment of an object. Because of this, it is possible to create a looping workflow process that can quickly lead to a system crash. Consider the following text from the Workflow Manager online help file:

"Important: Workflow rules can be triggered by events such as creation of an object, assignment of an object, and status change of an object. Because rules can trigger other rules and processes, it is important to avoid creating unintentional workflow loops. A workflow loop can cause a fast-acting, infinite loop, driving up SQL Server usage of the CPU, filling the workflow system with unwanted workflow processes, and repeatedly performing the actions in the rule on the Microsoft CRM object. Creating a rule based on a change status event, for example, can cause a loop if the rule includes a change status action without a limiting initial condition."

The final line in this text refers to a "limiting initial condition." Later we will review how to create if… then conditions to check for specific conditions before invoking workflow actions.

Post URL

Perhaps the most interesting of the workflow actions, Post URL enables you to take values of the active object and post them to a URL (Universal Resource Locator), which can then take the values and do just about anything with them.

A lot of possibilities exist with this. Here are some examples:

  • Register Lead: Post to a URL of a partner firm to provide them with details of a new Lead entered by someone on your marketing staff.

  • Submit Order: Post to a URL of your product fulfillment vendor to provide them with details of a new order that one of your sales people has moved to the Submit status.

  • Submit Mailing request: Post to a URL of your literature fulfillment vendor to ask them to send a product brochure to one of your Leads.

Obviously, there are endless possibilities with the Post URL action. Let's take a look at the setup of our Submit Order example.

Figure 12.13 shows our rule configuration. Notice the inclusion of an If… Then construct here to check the status of the Order. We'll be reviewing conditional logic shortly.

Figure 12.13. Workflow rule to submit order details to a URL.

We must select the fields and the URL to which we want to post. This is illustrated in Figure 12.14. The URL to which we are posting will expect to receive the exact field names as they are listed in this dialog box.

Figure 12.14. Configuring the URL and determining the fields to post.

When the rule is activated, each time an Order is updated to the Submit status the selected data points are posted to the selected URL, and the receiving system can do whatever it wants with the data. The biggest limitation with this is that there is no mechanism provided to return any sort of result, message, or validation from the receiving system.

As we saw earlier with our workflow rule that could not find its file attachment, any workflow errors are written to the Application Log in the Windows Event Viewer. In addition, errors in workflow are also written to the Log of the Microsoft CRM Workflow Monitor.

Figure 12.15 displays a Workflow Monitor error we received by attempting to post to a URL that does not exist. We'll go into more depth on Workflow Monitors shortly.

Figure 12.15. Viewing an error in the Microsoft CRM Workflow Monitor.

Run Subprocess

The Run Subprocess action gives you the flexibility to break your workflow into reusable components by object. This action enables you to run any other manual workflow process that exists for the same object. Figure 12.16 shows the run subprocess screen.

Figure 12.16. Selecting a manual workflow process to run using the Run Subprocess action.

Imagine there are certain actions you want to take when a Lead is inserted with a Source of Web (in other words, a Web Hit), and other actions you want to take only when the Lead is a non-Web hit. In effect, what you have is a series of steps that can be followed in any order upon Lead creation, based on the Source of the Lead. Your steps might be

  1. Assign Lead (Web hits only)

  2. Send email from template (Web hits only)

  3. Notify Lead Owner's manager (not necessary with Web hits)

  4. Notify Lead Owner (not necessary with Web hits)

  5. Post to your fulfillment vendor's URL to have a brochure mailed (always)

The way to enable this process is to create two "wrapper" workflow rules (one for Web hits and one for manual record inserts) that use the Run Subprocess action to call other manual workflow rules. The wrapper rules will be triggered from the Lead's Create event. Workflow rules to be called by the Run Subprocess action have to be Manual trigger actions. Figure 12.17 illustrates the combination of rules necessary for this workflow.

Figure 12.17. Creating wrapper rules and manual rules to break workflow into reusable components.

After you have the workflow rules created, you can simply insert them into the wrapper rules in the order in which you want them to execute. Figure 12.18 shows several manual rules that are set to fire when a Lead is inserted from the Web.

Figure 12.18. Using the Run Subprocess action to execute manual workflow rules.

Stop

The Stop action lives up to its name. It stops the workflow when it is reached. However, as you might expect, it's a little more involved than this.

Stop typically is used with conditional logic. For example, if a condition is met, take an action or stop the processing. When you use the Stop action, you are presented with four different ways to control what is stopped. They are

  • Complete (Stop)

  • Abort (Abort)

  • Complete and stop processing other rules (Stop and no further processing)

  • Abort and stop processing other rules (Abort and no further processing)

Figure 12.19 shows the four available options for stopping workflow.

Figure 12.19. Selecting how you want to Stop a workflow process.

Choosing the Complete or Abort options stops the processing in the current rule, but lets other subsequent rules continue to process. Choosing either of the last two options causes the current rule, and all subsequent rules, to stop processing. You can use the sort arrows in Workflow manager to sort rules so that you can control which rules execute and which ones don't, based on how you implement the Stop action.

The difference between the first two options (Complete and Abort) is in how the rule is logged in the Workflow Monitor. If the Complete option is selected, the rule instance is logged as Finished. If the Abort option is selected, the rule instance is logged as Aborted. This same difference is applicable to the second two options (Complete and stop processing other rules and Abort and stop processing other rules). You'll want to use the Abort options in place of the Complete options if it is important to be able to identify which rule instances were not fully executed.


Workflow Conditions

Now that you understand how to trigger workflow and create actions based on it, let's look at implementing logic to control when workflow is executed.

Workflow Manager provides three basic logic constructs you can use in creating workflow rules. You will see these options when you select the When <object> is created line at the top of the rule window, and then select the Insert Condition' link to the left. The options are

  • Check for conditions

  • Wait for conditions

  • Wait for timer

We will describe each of these in detail in the following section.

Check for Conditions

The "check for conditions" option takes the following format:

If

<< add conditions here >> : if multiple conditions, they will treated as an 'AND'

Then

<< add actions here >> : if multiple actions, all will execute

End If

This is a traditional If Then construct that enables you to take action-based conditions you can check at the time the rule is running. If Then constructs can be nested to multiple levels as shown in Figure 12.20.

Figure 12.20. Nesting If Then statements to multiple levels.

When you select the << add conditions here >> line and click the Insert Conditions link to the left, you are presented with the following options:

  • Check object condition

  • Check activities

  • Else If

Check object condition enables you to compare the current values of the objects, and related objects, fields with values you enter in the rule. An example of this is

Case.origincode = Phone

Check activities presents the dialog box shown in Figure 12.21. This checks to see if any Activities were created for the active object. If Activities were created, the configured actions are taken. If not, no actions are taken.

Figure 12.21. The dialog box presented when using the Check activities condition.

The Check Workflow Activities dialog box offers one option so you can specify whether Activities created as part of the active workflow count in your determination of whether Activities have been created.

Else If inserts an additional logical construct into the If Then statement for when you need more than a single check. Else If constructs must always be inserted inside an existing If Then. Anywhere you have an If Then you can insert additional Else If to perform additional checks.

Let's make sense of the Else If construct with a simple example. Imagine your company provides customer service exclusively through service contracts you sell to your customers. You have three levels, Gold, Silver, and Bronze. Each entitles the customer to different services:

  • Gold: Case is marked high priority and one-hour response is guaranteed.

  • Silver: Case is marked normal priority and 24-hour response is guaranteed.

  • Bronze: No phone support is offered, instead the customer receives an email with a link to the online knowledge base and a number to call if he is interested in a service contract upgrade.

This logic requires an If Then construct with an embedded Else If to accommodate the third condition. The workflow rule is illustrated in Figure 12.22.

Figure 12.22. Auto-prioritizing Service Cases based on the Contract Service Level.

Notice that in this example, we're checking the Case's associated Contract record to get the Service Level Code. This check is inserted in the << add conditions here >> section of the construct by clicking the Insert Condition link on the workflow rule configuration screen.

Wait For Conditions

Wait for conditions enables you to take action based on the passage of time or a change in the object's condition. When you select the << add conditions here >> line and click the Insert Conditions link to the left, you are presented with the following options:

  • Wait for object condition

  • Wait for activity condition

Wait for object condition is the equivalent of waiting for an update to the record. For example, you can use this option to monitor the Status Reason field to see when it has been changed and take action accordingly. Figure 12.23 illustrates a workflow rule where the Case Contact is emailed when the Status Reason has been changed to Waiting for details.

Figure 12.23. Using the Wait object condition option to check updates to a Service Case.

Wait for activity condition enables you to trigger workflow based on the completion or cancellation of an Activity. Figure 12.24 shows the wait activity condition screen.

Figure 12.24. Triggering workflow based on the completion or cancellation of an Activity.

For example, suppose you require that each of your Cases be concluded with the CSR (Customer Service Representative) emailing a CSAT (Customer Satisfaction) survey to the client. You could use the Wait activity condition option, illustrated in Figure 12.25, to reassign the Case to the user's manager when this Activity is marked complete.

Figure 12.25. Reassigning a Case to the Manager when the CSAT (Customer Satisfaction Survey) has been completed.

Wait for Timer

The Wait for timer option presents the screen pictured in Figure 12.26 to enable you to configure the wait conditions.

Figure 12.26. Configuring a "Wait for timer" condition in Workflow Manager.

The timer configuration screen gives you the following three options when configuring time base workflow:

  • From now on

  • After

  • Before

You can use the After option to specify how long past the created on date/time to wait until action is taken. The From now on option starts the clock ticking as soon as the workflow rule is executed. Effectively, the After and From now on options yield the same result with the Create event. However, you could use the From now on option to create rules that enable you to promise follow-up to your customer by a certain time period.

Figure 12.27 provides an example of the After option to notify a CSR's manager if a Case is past its guaranteed response time.

Figure 12.27. Using the Wait for timer workflow option to ensure that service is provided within guaranteed response times.

The Before option monitors a date to proactively take action in advance of the date's arrival. For example, this option can be used with the Contract's cancel on date to provide notification for a Service Contract that is nearing expiration. This workflow could automatically send a template generated email outlining options for contract renewal.


Creating a Sales Process

Up to this point, we've kept our discussion of workflow heavily weighted to creating rules. It's time to shift gears and dive head-first into the creation of our very own sales process.

A sale process can be defined as a series of stages that you must typically pass through to bring a revenue opportunity to closure. Sales processes are typically more geared toward less transactional sales, where you are actively selling as opposed to marketing, and then waiting for a consumer to place an order. Sales processes are a key component of all popular sales methodologies.

For our purposes we'll create a straight-forward, business–to-business sales process with four key steps including

  • Needs Assessment

  • Solution Development

  • Proposal

  • Delivery

Because Microsoft CRM has its own sandbox for marketing to import and qualify Leads, we'll assume that any prospects coming into this process have already been qualified by our Marketing department and are ready for us to assess their solution needs. This is our Needs Assessment stage and can consist of a single phone call or email or several face to face meetings.

After we have an understanding of the prospect's needs, we can develop a solution to address these needs. The Solution Development stage is where we develop and present the solution, refining it until we arrive at something that can be put into a proposal. By arriving at the Proposal stage, we have a proposal in place that can be converted into revenue upon signature. Proposal refinement takes place, but, assuming we've made it this far, at some point we will either Close the opportunity (win the deal) or Fallout the opportunity. We use the term Fallout here to refer to any conclusion other than winning the business. Having a Sales Opportunity fallout can be due to a number of situations (for example, lack of budget, delay, business issues) beyond simply having a competitor edge by you in the race.

In Workflow Manager we start by selecting the Opportunity object and selecting Sales Process Template. It is advisable to create a template because a lot of work generally goes into creating a sales process, and you might want to copy your template later to support a new, yet slightly different, version of the process. After you have created a sales process template, you can select Create Rule from Template from the Workflow Manager actions menu, and you will be able to give the new sales process a unique name.

The main difference between a sales process and a rule is that sales processes have stages. Within each stage you can insert multiple actions from the same list we reviewed previously. To advance from one stage to the next, you include as a condition the completion or cancellation of one or more of the Activities that has been created up to that point in the process.

Figure 12.28 provides an illustration of the flow of a simple sales process. Each stage creates an Activity that must be completed to move to the next stage.

Figure 12.28. A manually triggered sales process.

NOTE

The sales process reads from top to bottom as illustrated in Figure 12.30. It is easiest to go ahead and insert a skeleton of the process before getting too carried away adding actions to your first sales stage. You'll quickly notice that Microsoft CRM inserts the stages backwards from what you'd expect, and you have no control to reorder them after they've been inserted. If you insert them in the wrong order you need to delete them and start over.

Figure 12.30. Sales Stages of a sales process.

Microsoft CRM can support multiple sales processes that can be automatically triggered based on characteristics of the Sales Opportunity. If you can link your various sales processes to attributes on the Opportunity or Parent (that is, linked Contact of Account) record, you might want to create your sales processes as manual events. Then have a separate rule that inspects the Opportunity on creation and applies the appropriate sales process. Figure 12.29 shows a business rule to apply the appropriate sales process based on the size of the opportunity. Keep in mind that if you were to implement this rule you would want to make the estimatedvalue field required so a sales process would always be assigned.

Figure 12.29. Creating an Opportunity workflow rule to inspect a newly created Sales Opportunity and apply the appropriate sales process based on estimated revenue potential.

When a sales process is applied to an opportunity, it creates a list of sales stages on the Sales Process tab of the Activity area of the Sales Opportunity record. This is illustrated in Figure 12.30.

Notice that as you look at the list of Sales Stages and their associated Activities, only the first Activity is initially marked with a check. This "active" Activity can also be found on the Activities tab of the same window. After this Activity is closed, it is moved to the History tab, and the next Activity is promoted to the Activities tab.

TIP

During the sales process you always have the option of skipping over sales process steps by using the Change Stage option on the Opportunity's Actions menu. If you do so, actions associated with the sales process will still be taken.

In reality, what is happening is that the sales process is creating the Activities as you go. After a sales stage has been completed, the Activities for the next stage are created. This is why you can only open an Activity record when you are at the stage in which it is associated. Up to this point, it has not been created. The significance of this is that the relative due dates you set when creating Activity records are applied as the activities are created.

After you have worked through all the sales stages on an Opportunity, you reach the point of either manually closing the Opportunity or having workflow close the Opportunity by changing its status to Won or Lost. When this is done a new Activity record of type Resolution is created on the History tab.

NOTE

If you create a sales process and later decide to modify it, you must deactivate the process before Microsoft CRM will allow you to make modifications. Once the modifications are made, you must reactivate the process to begin using it again. It is important to note that the act of deactivating a sales process has the undesirable effect of removing that process from the Sales Process tab on the Opportunity's Activities tab. You will still be able to advance the sales process through the stages and the workflow will still fire, but you will not see the sales process listed as you could before the deactivation. In addition, once a sales process has been deactivated, you cannot manually update the sales stages of opportunities to which this process had been applied. With the deactivation, modification and reactivation of the Sales Process you have, in effect, deleted the sales process and created a new process in its place. Microsoft CRM still recognizes the "old" version of the sales process and respects its workflow but in reports dealing with Sales Process, you will end up seeing multiple groupings of what appears to be the same process.


Workflow Monitor

Workflow Monitor is a client server tool that is installed on the CRM server with the CRM server installation. This tool enables you to monitor what workflow process instances the workflow engine is creating.

A workflow process instance represents the execution of a workflow rule. For example, if you have created a rule to apply a sales process to Opportunity records, and ten records are inserted at the same time, you have ten instances of that particular rule.

Workflow Monitor provides three levels of detail with respect to tracking the workflow rules and sales processes you have created. Workflow monitor will give you

  • Workflow Process Summary

  • Workflow Log by object of individual workflow process instances

  • Workflow Log details that show the individual actions that were executed by the workflow

The Workflow Summary screen, shown in Figure 12.31, gives a high-level view of all active and paused workflow processes by object.

Figure 12.31. The Workflow Monitor Summary screen.

The Workflow Log screen lists individual process instances by object, and provides detail about who executed them, when and against what object. Figure 12.32 shows the workflow monitor log screen.

Figure 12.32. The Workflow Monitor Log screen displays workflow process instance information.

From the Workflow Log screen you can export selected entries to an XML file or purge the log. In addition, you can double-click any entry to see the Workflow Log details.

The Workflow Log details screen enables you to drill down into any workflow process instance and see the specific actions that were taken during the execution of that workflow rule or process. Figure 12.33 shows the audit log that is kept on each workflow instance.

Figure 12.33. The Workflow Log details screen shows all actions that were executed as part of the workflow process instance.

    [ Team LiB ]


Workflow Security Settings

Two Microsoft CRM security privileges relate to workflow. They are located on the Sales tab (shown in Figure 12.34) of the role configuration screen. They are

  • Workflow Process

  • Workflow Process Instance

Figure 12.34. The Sales tab on the security role configuration screen shows the workflow security privileges.

The Workflow Process privilege determines whether a user can create a new workflow rule or sales process. In other words, this is the setting that determines if the user can launch the Workflow Manager application.

The Workflow Process Instance privilege determines whether a user can create an instance of a workflow rule. In other words, this privilege determines whether the user can access the Apply Rule option on the Actions menu.


Use Case Corner—Automating Business Processes Through the Microsoft CRM Workflow Monitor

Business Workflow is best categorized as the coordination, automation, and execution of business processes. Within the context of Microsoft CRM, business workflow can be thought of as the glue that binds information between system users, departments, and business units.

This Use Case Corner demonstrates the implementation of business workflow rules using the Microsoft CRM Workflow Manager. This application is available to organizations that have purchased at least one Professional license of Microsoft CRM, and is installed on the Microsoft CRM Server.

For sake of example, let's say that you want to turn your call center into a profit center using the Microsoft CRM Workflow Monitor.

A customer places a call into the customer-service department with performance problems. While troubleshooting the call, the customer-service agent recognizes that this product has been in service for some time and has become obsolete. Although the customer-service representative helps this customer fix her existing problem, the new corporate-wide CRM objective has asked that service representatives pass upgrade sales leads to the sales team in an effort to sell the company's latest products.

To implement this workflow, we start by creating a simple data-flow diagram to understand and define the process. Figure 12.35 is a sample of how this scenario might be represented in graphical format.

Figure 12.35. A simple graphical depiction of our business workflow.

Now that we have defined and documented the desired rule, we can create our workflow using the Microsoft CRM Workflow Manager.

To Create the Sample Workflow Rule, You Can Follow These Steps

  1. On the Microsoft CRM Application Server, the default application path can be found at

    START > Programs > Microsoft CRM > Workflow Manager

  2. When prompted for Workflow Manager Logon, enter the name of the Microsoft CRM Application Server and click OK.

    NOTE

    If you are currently working on the Microsoft CRM Application Server, you can use the name localhost.

  3. Upon Successful Login, the Workflow Manager screen appears.

  4. Select Case from the Object drop-down list box.

  5. From the File menu, select New.

  6. This opens the new rule creation screen, shown in Figure 12.36.

    Figure 12.36. Creating the cross sell workflow rule in Workflow Manager.

  7. Provide the Rule a Name, Description, and Select the Event that causes this workflow rule to fire.

  8. Select the Create Event and Click NEXT to continue the creation of our rule.

  9. The next screen in our rule creation wizard is where we provide the details of our rule.

  10. When the Edit a Workflow Rule screen opens, move your mouse to Insert Condition within the Common Tasks section, and select Check Conditions.

  11. Highlight the <<add conditions here >> section of the branching logic with your mouse, click Insert Condition, and then click Check Object Conditions. This opens the Check Object Conditions window. Refer to Figure 12.37.

    Figure 12.37. Evaluating the Cases' Subject.

  12. Select the field to create the condition on, and then select the value using the ellipsis […] icon. For this example, we will select the field <Subject> with a value of 200 MHZ and click OK.

  13. Highlight Insert Actions and click Insert Action from the Common Tasks section.

  14. In our scenario, we want to notify users within the Upgrade Sales Team about this recent Customer Service incident. We'll take advantage of MSCRM's native email integration by sending an email to the Upgrade Sales sales team.

  15. Click OK to complete the editing of this action.

  16. Our Workflow rule with Conditions and Actions should now appear as shown in Figure 12.38:

    Figure 12.38. Using If... Then logic to define our rule.

  17. Click Save to save the newly configured workflow rule. You are taken back to the main screen.

  18. To use our newly created rule, the rule must be Activated within the workflow engine. Select our rule, open the Actions menu, and click Activate.

  19. Our rule is now configured, activated, and ready to test.

To test this workflow rule, implement the steps shown in the following case-creation process:

  1. Create a new Case within our Customer Service Module. Make sure you enter information in all the fields that are marked Business Required with red labels. See Figure 12.39.

    Figure 12.39. Creation of a new Case in Microsoft CRM

  2. Next, we'll select the Case Subject. Make sure you select the Subject(s) used within our workflow rule. In this scenario, we'll select the 200 MHZ subject value.

  3. By saving this case, the Create event of this object is triggered. The Workflow Manager checks the Case object's conditions to see if they match those specified in our rule, and then process the actions that we have configured. In this situation, an email is sent to MSCRM users who are members of the Upgrade Sales team.

As demonstrated in the Customer Service workflow, the Workflow Manager enables organizations to take advantage of quick and easy implementation of business logic without having to write complex code. In addition, as businesses change over time, workflow rules can be created, updated, and deleted to match your future business initiatives.

This Use Case Corner was contributed by Bill Patterson. Bill is a Microsoft Certified CRM Professional and Microsoft Certified Solution Developer. He is a Senior CRM Implementation Consultant with Solonis, Inc. (a Microsoft Gold Partner in Collaborative Solutions) and a leader in CRM Implementation in financial services and professional sports. For questions, comments, and so on you can contact him at bpatterson@solonis.com.


Summary

Workflow is a powerful tool that can add a lot of value to a Microsoft CRM implementation. By using workflow we can create powerful business rules as well as sales processes.

Workflow is created in a tool called the Workflow Manager. This tool is installed on the Microsoft CRM server during the normal CRM server installation process. Workflow Manager is an easy-to-use interface that enables a nontechnical business user to create rules and sales processes without having to learn a programming language.

Workflow can be triggered in a number of ways and can take a number of different actions based on conditions at the time the workflow is being run. Using workflow we can automatically send emails, create activities, and even run other workflow processes.

Workflow Manager comes with an accompanying tool called Workflow Monitor. Workflow Monitor enables a user to keep track of which workflow rules are in use as well as the status of these rules. Using Workflow Manager we can troubleshoot workflow and see which rules and processes are being run the most.


Chapter 13. Microsoft CRM Integration and Data Conversion

In this chapter

Integration Basics

Integration Components

Integration Points

Integration Deployment

Integration Architecture

Integration Settings

BizTalk Document Tracking

Initial Data Migration

Use Case Corner—Scribe Migrate for Microsoft CRM: Data Migration

Summary

Integrating CRM to a company's back office functions has always been a daunting task. Inevitably, numerous questions arise regarding this type of integration. These include

  • Can Account and/or Contact records originate in both systems?

  • Are updates allowed in both systems and, if so, how do these updates get transferred to the other system?

  • Do the data transfers happen in batch or in real time?

  • How much latency can exist in an integration before it is no longer considered real time?

These are but a subset of the questions that we will attempt to answer in this chapter. Because of the extensive nature of the integration discussed in this chapter, we will stick to the functionality of the integration. Microsoft's own Integration Guide document that ships with the integration is over 100 pages long and deals with the various technical components of the integration.


Integration Basics

Microsoft CRM includes support for integration to the Microsoft Business Solutions Great Plains product line. For version 1.0 of Microsoft CRM, integration to Great Plains Edition 7.0 and higher is provided. Great Plains Edition is one of Microsoft's accounting and financial software packages. Look for support for Microsoft's Solomon and Navision products in the neat future.

Integration to Great Plains is provided though BizTalk Server 2002 Partner edition. This edition of BizTalk Server is included at no charge with Microsoft CRM Integration to organizations that own at least one license of Microsoft CRM Sales Professional or Suite Professional.

BizTalk Server, Microsoft's enterprise application integration (EAI) solution, provides a platform for migrating and mapping data between applications. In addition to integration, BizTalk Server contains functionality that enables automation of business processes; however, this functionality is not utilized by the Microsoft CRM Integration.

The main components of BizTalk Server that are used by the CRM Integration are receive functions, channels, and ports. Receive functions are BizTalk Server's mechanism for collecting data. Receive functions can be created that monitor many different sources for incoming data, such as the filesystem or email attachments. BizTalk Server channels contain information that is used to determine how to handle incoming data documents. This information helps determine if the incoming source data is complete and transforms this data into a form that the destination can accept. BizTalk Server ports are the destination points to which the channel hands the data. Ports use additional software components to push the data into the targeted application.

The Partner edition of BizTalk Server is licensed for a single processor and can connect up to two external trading partners with two internal applications. The Microsoft CRM Integration qualifies as an integration of two internal applications. It is interesting to note that a company is permitted to use the BizTalk Server installation of Microsoft CRM Integration to integrate Microsoft CRM and/or Great Plains with up to two external trading partners. The Partner Edition only supports a single processor and does not support clustering. Therefore, transaction volume needs to be considered when integrating with external trading partners. For additional information about the different versions of BizTalk Server and their features visit www.microsoft.com/biztalk.

NOTE

Despite only supporting one processor, BizTalk Server 2002 Partner Edition installs on a multi-processor server. No additional licenses need to be purchased; however, BizTalk Server only utilizes one of the processors.


Integration Components

In addition to the BizTalk Server 2002 Partner Edition software, the Microsoft CRM Integration utilizes several additional components to integrate Microsoft CRM with Great Plains.

One major component that is installed with BizTalk Server is the Document Exchange (DX). DX is comprised of three parts, database tables, triggers, and Microsoft SQL Server Data Transformation Services (DTS) packages. Triggers are scripts that are run in response to an action taken on a database table. An example of an action would be updating a customer record. DTS packages can be used to automate the manipulation of data residing in SQL Server. DX uses these three parts to monitor and respond to changes made to data residing in Great Plains.

Microsoft CRM Integration and BizTalk Server 2002 make use of Microsoft Message Queuing (MSMQ). MSMQ comes with Windows 2000 Server and must be installed and configured prior to installing the Microsoft CRM Integration. MSMQ provides applications with a guaranteed delivery system for messages and works similarly to email. With email, one user sends a message and the message stays in an inbox until the receiver is ready to read it. MSMQ allows Microsoft CRM and DX to send messages (data) to an inbox (a queue) for BizTalk Server to read when it is ready.

The Microsoft CRM Integration also installs a Settings and Administration tool. This tool provides a user interface to configure how/what data is moved between Microsoft CRM and Great Plains. Figure 13.1 shows the Settings and Administration tool. Notice that it has the Microsoft CRM look and feel and includes separate tabs for the Microsoft CRM and Great Plains settings. This tool is actually a separate Web site that is installed on the Microsoft CRM integration computer.

Figure 13.1. The introductory page of the Microsoft CRM Integration Settings and Administration tool.

The Settings and Administration tool enables the integration administrator to configure settings including

  • When a Great Plains customer is created should it be added to Microsoft CRM as an Account or a Contact (in other words is your organization operating under a B2B or B2C model)?

  • What are the default values for these newly created Accounts or Contacts (for example, what type of customer is it, what is the customer's preferred shipping method, etc.)?

  • How do similar fields in Microsoft CRM map to those in Great Plains? (For instance, Net 30 terms in Microsoft CRM might be equal to two percent 10/Net 30 in Great Plains.)

After these settings are configured, the integration is ready to transfer data on an ongoing basis between Microsoft CRM and Great Plains. One thing to note, however, is that there are some initial data elements that need to be converted from Great Plains to Microsoft CRM prior to turning on the integration. For example, the master list of Great Plains products needs to be added to Microsoft CRM before using the integration. More on this later.


Integration Points

The Microsoft CRM to Great Plains integration involves several entities with differing data flows depending on the nature of the entity. Tables 13.1 and 13.2 show which entities are integrated and the flow of data between systems.

Table 13.1. Integration Points from Microsoft CRM to Microsoft Great Plains

Microsoft CRM Entities

MBS Great Plains Entities

Contacts and Accounts

Customers

Orders

Orders (create only)

Customer Addresses

Customer Addresses

Table 13.2. Integration Points from Microsoft Great Plains to Microsoft CRM

MBS Great Plains Entities

Microsoft CRM Entities

Customers

Contact or Accounts

Customer Addresses

Customer Addresses

Inventory (Master)

Products

Units of Measure

Units of Measure

Price Lists (Master)

Discounts and Price Levels

Orders (Sales Order Processing)

Orders

Invoices (Sales Order Processing)

Invoices

The items with the (Master) notation next to them are items that only move from Great Plains to Microsoft CRM and, thus, are said to be mastered in Great Plains. This means that it is not possible to create, update, or delete these records within Microsoft CRM.

For a complete list of the database field mappings for each entity see Appendix A of the Microsoft CRM Integration Guide document, which can be found on the Microsoft CRM Integration Installation CD.


Integration Deployment

The Microsoft CRM integration components (BizTalk Server, the Document Exchange, and the Settings and Administration tool) are installed separately from the Microsoft CRM server installation or the Great Plains 7.0 installation. It is recommended that the Microsoft CRM Integration be installed on a dedicated computer. However, the integration can be installed either on the Great Plains server or the Microsoft CRM server. The main restrictions are that the integration cannot be installed on a Domain Controller and, when it is installed on the Great Plains server, the performance is not optimal.

When the integration is installed, a Microsoft CRM integration user must be set up to allow for data to be transferred in and out of Microsoft CRM. The installation instructions outline in detail how to create a limited access security role for this user so that it can only manipulate certain data elements. This integration user must be assigned a Microsoft CRM license, but this license is provided free of charge with the integration and BizTalk Partner Edition as long as the organization has purchased at least one Professional Sales or Suite license.


Integration Architecture

The Microsoft CRM Integration Architecture consists primarily of three components: Document Exchange(DX), MSMQ, and BizTalk Server 2002 Partner Edition. DX initiates the integration process from Great Plains. MSMQ manages the data handoff between DX and BizTalk Server and between Microsoft CRM and BizTalk Server. BizTalk Server is responsible for moving and mapping the data between Microsoft CRM and Great Plains.

Figure 13.2 depicts the integration architecture.

Figure 13.2. Microsoft CRM Integration Architecture.

DX is responsible for monitoring integrated data points within Great Plains. When a relevant record is created or edited, DX collects the appropriate information from the application tables and creates an Extensible Markup Language (XML) document. XML is a way of describing data by placing meaningful tags around the data. The XML document created by DX is then placed onto an MSMQ queue. After this XML document is placed on the queue, the handoff to BizTalk Server is complete.

Microsoft CRM uses a similar, but slightly different, mechanism for initiating the data migration process; however, ultimately an XML document ends up in an MSMQ queue.

Microsoft CRM Integration uses receive functions that poll MSMQ queues. These receive functions pull the XML documents off the MSMQ queue. The XML document's contents are verified for completeness and a document envelope is added. This envelope allows the XML document to self route through BizTalk Server in much the same way as a postal envelope determines its route through the U.S. Postal Service. The XML document envelope contains information BizTalk Server uses to direct the XML document to the proper channel.

The channel uses an inbound document definition to ensure that the XML document is properly structured and contains all required data. Document definitions are special XML files that describe the structure of XML documents. These document definitions are used to validate the XML documents when they enter and leave the channel. After being validated, the inbound document is transformed into an outbound document using a mapping file. After the transformation, the resulting outbound document is then validated against an outbound document definition to ensure the transformation was successful. After the outbound document validates successfully, the document is passed to a software component responsible for removing the data from the XML document and inserting or updating the data in the targeted system.

All document definitions used for validation and mapping files used for transformations are included with the Microsoft CRM Integration. These files are stored in BizTalk Server's Web-based Distributed Authoring and Versioning (WebDAV) repository. This WebDAV respository is created during the initial install of Microsoft CRM Integration. WebDAV enables the creation and editing of files on a Web server. BizTalk's WebDAV repository is created on the Web server residing on the machine BizTalk Server is installed.

NOTE

To view the installed document definitions for Microsoft CRM Integration, open BizTalk Editor and click Retrieve from WebDAV. The document definitions are in two folders called BackOfficeCompanyDB and MicrosoftCRM in the Microsoft folder.

The mapping files can be found in the same directory structure using BizTalk Mapper.

This repository is used by BizTalk Server so be careful not to store any unwanted changes to WebDAV.


Integration Settings

The Settings and Administration tool is easy to use and enables configuration of how data is mapped between Microsoft CRM and Great Plains. The Integration User that was created during installation of the Microsoft CRM Integration should be logged into Windows prior to launching the Setting and Administration tool. This ensures that the tool has the proper security rights to access information in Microsoft CRM.

The majority of the selections that are available in the Settings and Administration tool come from values that are set up within either Great Plains or Microsoft CRM. When any of these values are added or updated within Great Plains or Microsoft CRM, the new values might not be immediately available as options within the tool. It might take 15 minutes for the newly added items to appear in a drop list. One alternative to waiting is to stop and start the IIS Web server on the machine where Microsoft CRM Integration is installed. Restarting the Web server forces the Settings and Administration tool to pull all options from both Microsoft CRM and Great Plains.

The Microsoft CRM Integration Settings and Administration tool is broken into three areas:

  • General settings

  • Microsoft CRM settings

  • Great Plains settings

The General settings consist of simply the Time to Live (TTL) setting in seconds. Figure 13.3 shows the General configuration tab. This setting determines how long the Microsoft CRM Integration will try to complete a record transfer before giving up. During normal use, the default value, 43,200 seconds, should be left in place. However, it is recommended that this value be increased for the initial data migration. After completing the initial data migration, the TTL value should be returned to the default value. This is covered in more detail later.

Figure 13.3. Time To Live is the only general configuration setting for the integration.

The Microsoft CRM settings area consists of five tabs. The General tab, shown in Figure 13.4, has the Organization Name and Functional Currency values that were selected during the installation. These values cannot be changed without reinstalling the Microsoft CRM Integration. At this time Microsoft CRM Integration can only map one functional currency and one company database between Microsoft Great Plains and Microsoft CRM.

Figure 13.4. The General tab of the Microsoft CRM area.

The Accounts/Contacts tab, shown in Figure 13.5, determines whether new customers created in Great Plains are created as Accounts or Contacts within Microsoft CRM. The decision on what type of records are created in Microsoft CRM is based on whether the business is primarily B2B or B2C. For more information on B2B versus B2C, please refer to Chapter 7, "Sales Force Automation."

Figure 13.5. The Accounts/Contacts tab determines how customers are created in Microsoft CRM.

The Default Values tab is used to set default values for the five integration entities. Figure 13.6 shows the Default Values tab. These default values are only used when the values sent from Microsoft Great Plains have not been mapped to values stored in Microsoft CRM. The actual values that appear in the drop lists depends on the values setup in your implementation of Microsoft CRM.

Figure 13.6. Setting default values for unmapped records in MS CRM

The fourth tab in the Microsoft CRM area is labeled Mapped Entities. Figure 13.7 shows the Mapped Entities tab. This tab is used to map entity values sent from Microsoft CRM to values stored in Microsoft Great Plains. Note that the field name drop list contains all the items listed on the Default Values tab. If the entity values are not mapped coming from Great Plains, the default value that was set on the Default Values tab is used.

Figure 13.7. Mapping entities from Great Plains (source) to Microsoft CRM (target).

To map an entity value, select an entity value from the Field Name drop list and press the New Link button. The Integration Entity Linking dialog box appears. When a Destination Entity Value that has not aleady been mapped is selected from the drop list, the Source Entity Value can be selected. If the selected Destination Entity Value has already been mapped, the Source Entity Value drop list is greyed out. To change a mapped entity value, the existing mapped entity values must first be deleted before the new linked entity values are created. Figure 13.8 shows the Entity Linking dialog box.

Figure 13.8. Mapping Payment Terms values between Microsoft CRM and Great Plains.

the Microsoft CRM area. This tab is used to determine which of the four integrated entities in Microsoft CRM will be pushed to Microsoft Great Plains. It is important to note that for Orders to be published to Microsoft Great Plains, Accounts, Contacts, and Addresses must be published. To get Addresses to publish both Contacts and Accounts must be selected to publish. Figure 13.9 shows the Publish Entities tab.

Figure 13.9. Specifying which CRM entities to publish to Great Plains.

The Published Entities tab is the fifth tab in the Microsoft CRM area. This tab is used to determine which of the four integrated entities in Microsoft CRM will be pushed to Microsoft Great Plains. It is important to note that for Orders to be published to Microsoft Great Plains, Account, Contacts, and Addresses must be published. To get Addresses to publish both Contacts and Accounts must be selected to publish. Figure 13.9 shows the Publish Entities tab.

The Great Plains settings area has six tabs that are used to configure the Great Plains side of the CRM Integration. The General tab displays the Great Plains company name and the functional currency that was selected during the installation of the CRM Integration. The Create Customers drop list determines when a customer is created in Great Plains. If On Orders Only is selected, customer data is only sent to Great Plains after an order is created for a contact or account. If Always is selected, customer data is sent to Great Plains after an contact or account is created within Microsoft CRM. Figure 13.10 shows the General tab for the Great Plains settings area.

Figure 13.10. Company and Currency are read-only, but when Great Plains customers are created, they can be modified.

The Customers tab contains settings that direct the CRM Integration on how to create Customers and Addresses in Great Plains. Figure 13.11 shows the Customers tab for the Great Plains settings area.

Figure 13.11. The Customers tab shows which CRM fields map to the ID field in Great Plains

When CRM customers are used to create customers in Great Plains, the customer number field is used to create the unique customer ID in Great Plains.

When creating Great Plains customers with Microsoft CRM contacts, a slightly different approach is taken. Microsoft CRM Integration uses a combination of last name and first name to generate the Great Plains customer ID. However, contact names can be 100 characters in Microsoft CRM, but the customer ID is limited to 64 characters in Great Plains. So, Microsoft CRM Integration concatenates the first 50 characters of the last name with the first 14 characters of the first name to create the customer ID.

When creating addresses in Great Plains, there are two options for what is used as the Address ID in Great Plains. Either a static ID or using the phone number of the customer or contact can be used. If the static ID is chosen, a value, like "Primary," for the static ID is required.

The Sales Documents tab, shown in Figure 13.12, contains setting for handling orders that are pushed to Great Plains from Microsoft CRM. The default sales document type and whether to override the customer's credit limit can be specified for all orders created in Great Plains by Microsoft CRM Integration.

Figure 13.12. Sales Documents tab with options for handling orders created in Great Plains.

The sales document types that are to be published to Microsoft CRM from Great Plains can be specified on this screen. Additional options determine how to handle item/kit shortages and batch creation.

The Default Values tab in the Great Plains Settings area serves the same purpose as the Default Values tab in the Microsoft CRM Setting areas. This tab is pictured in Figure 13.13. The default customer class, payment terms, and shipping method can be specified for customers created in Great Plains by Microsoft CRM Integration. These default values are used if there is not an entity value mapped between the two systems. Whether a mapped entity value exists can be determined by looking at the Mapped Entities tab.

Figure 13.13. Default values used for customers created in Great Plains.

The Mapped Entities tab allows entity values to be mapped between Great Plains and Microsoft CRM. Figure 13.14 shows the Mapped Entities tab and the field names that can be mapped.

Figure 13.14. Mapped Entities tab with possible field names to map.

Customer class, payment terms, shipping methods, and item types can all be mapped. Take notice that a default value for item types could not be set on the Default Values tab, so it is important to map item types so that products are created correctly in Microsoft CRM.

It is also important to note that after you install Microsoft CRM Integration Great Plains becomes the master database for items and that products can longer be created in Microsoft CRM.

Mapping entities in the Great Plains Settings area is an identical process to mapping entities in the Microsoft CRM Setting area. Select an entity value from the Field Name drop list and press the New Link button. The Integration Entity Linking dialog box appears. When a Destination Entity Value that has not already been mapped is selected from the drop list, the Source Entity Value can be selected. If the selected Destination Entity Value has already been mapped, the Source Entity Value drop list is greyed out. To change a mapped entity value, the existing mapped entity values must first be deleted before the new linked entity values are created. Figure 13.15 shows the Entity Linking dialog box.

Figure 13.15. Mapping Item Types between Great Plains (source) and Microsoft CRM (destination).

The Published Entities tab is the sixth tab in the Great Plains Setting area. Figure 13.16 shows the Published Entities tab. This tab is used to determine which of the four integrated entities in Great Plains is published to Microsoft CRM.

Figure 13.16. Customers, Addresses, and Products must be selected to publish Orders.

If orders are to be published to Microsoft CRM, Customer Addresses and Products must be selected for publishing. With Orders/Invoices checked the selections made on the Sales Documents tab determines which document types in Great Plains are published and whether invoices are pushed to Microsoft CRM. The Published Order Types section of the Sales Documents tab enables selection of which sales documents will be published from Great Plains.


BizTalk Document Tracking

From a user's perspective, the integration between Microsft CRM and Great Plains is invisible. All the work is done behind the scenes without alerting the user that information is moving between the two applications. From a usability standpoint this type of silent integration is ideal. However, there are times, for example, during troubleshooting or the initial setup, when it is important to track the information as it is sent from one system to the other. BizTalk Document Tracking is a tool that can help provide some visibility into the data's path though the integration.

BizTalk Document Tracking is a Web-based application that is installed with BizTalk Server 2002 during the Microsoft CRM Integration installation. The application can be launched from the Start menu. When using the tool, log into Windows with a user that is a member of the BizTalk Server Report User group on the machine where Microsoft CRM Integration is installed.

A few steps need to be taken to make using the BizTalk Document Tracking tool more useful. Tracking needs to be turned on for the BizTalk channel that is to be monitored. BizTalk Messaging Manager is used to turn on tracking for a channel. BizTalk Messaging Manager is a tool that is installed with BizTalk Server and provides configuration access to several components of BizTalk Server including channels and ports.

  1. Launch BizTalk Messaging Manager from the Start menu in Programs, Microsoft BizTalk Server 2002. A dialog box appears when you first launch the tool. Select Manage previously configured channels. See Figure 13.17.

    Figure 13.17. Dialog box when BizTalk Messaging Manager is first opened.

    BizTalk Messaging Manager automatically returns a list of channels currently setup in BizTalk Server. See Figure 13.18. The resulting list of channels are all the channels used by the Microsoft CRM Integration. The channel names make determining which entities the channel handles very easy to determine. The Messaging Port/Distribution List field displays the associated port for each channel and can be used to determine which direction the data flows through that channel.

    Figure 13.18. BizTalk Messaging Manager with all channels listed.

  2. Double-click a channel to bring up the channel properties wizard shown in Figure 13.19. This wizard can be used to set the properties on a channel; however, for document tracking only two screens are of interest.

    Figure 13.19. Channel properties wizard.

  3. Click next until the Inbound Document screen is displayed. Now check the Track inbound document check box on the Inbound Document screen. Additional steps are required to ensure that documents will be tracked, as shown in Figure 13.20.

    Figure 13.20. More steps are needed after selecting Track inbound documents to complete document tracking setup.

  4. It is necessary to click the Tracking button to choose which fields will be tracked before any meaningful document tracking takes place, as shown in Figure 13.21. The tree view on the left side of the figure lists all the elements (or fields) of the inbound document. These fields incidently come from the document definition for the inbound document. Only fields that need to be searched need to be selected.

    Figure 13.21. Select fields that need to be searched.

    After selecting the searchable fields for document tracking, it is helpful to turn on logging. By turning on logging the entire document with all its data will be available for viewing. See Figure 13.22.

    Figure 13.22. Select which documents to log.

  5. Check In XML format for both the inbound and the outbound documents. It is helpful to log outbound documents when determining if there are problems with the mapping file. Because all documents sent by Microsoft CRM Integration to BizTalk Server are in an XML format, selecting In native format results in an XML document as well.

  6. Click Finish to complete the channel set up for document tracking. The BizTalk Document Tracking tool can now be used to query for integration documents moving between Great Plains and Microsoft CRM.

NOTE

The changes made to a channel do not take affect immediately. It is necessary to stop and restart the BizTalk Messaging Service service. To stop the BizTalk Messaging Service, the CRM Integration Messaging Service must be stopped first. Both services must be restarted prior to using the BizTalk Document Tracking tool.

BizTalk Document Tracking tool can be launched from the Start menu in Programs, Microsoft BizTalk Server 2002. When lauching the tool for the first time, a prompt asking to install controls might be presented. These controls are necessary for the BizTalk Document Tracking user interface to operate properly and should be permitted to install. Another dialog box will pop up asking for permission to access data on another domain and again the response should be Yes to have the tool function properly.

Figure 13.23 shows the user interface to the BizTalk Document Tracking tool. The screen is broken down into six general areas. Five of these areas help narrow query results and the remaining area controls how the results are sorted.

Figure 13.23. BizTalk Document Tracking user interface.

To return all documents transferred during a time period simply enter the appropriate From date and To date values and press the Query button at the bottom of the page. A results window will pop up with all records meeting the criteria. See Figure 13.24.

Figure 13.24. Query results with logged document.

Because logging was turned on for the channel, the entire contents of the inbound file are available for viewing by clicking the icon in the column labeled data.

Searching strictly by date range can result in a lot of records being returned. The Advanced Query area can be helpful in trying to track down a specific document. By selecting the New button in the Advanced Query area, the Advanced Query Builder window opens. This window enables specific values to be entered in and will filter the search results. See Figure 13.25.

Figure 13.25. Advanced Query Builder allows for more granular searching of documents.

If you plan on using BizTalk document tracking as a long-term tracking solution, you should set up a tracking database. Consult the BizTalk documentation for instructions on how to set up and maintain a tracking database.


Initial Data Migration

The Microsoft CRM Integration provides ongoing data migration between Great Plains and Microsoft CRM. However, in situations where Great Plains has been in production for a period of time, it is necessary to do an initial data migration from Great Plains to Microsoft CRM. The Microsoft CRM Integration provides scripts to make this data migration possible.

The scripts are located on the Microsoft CRM Integration installation CD in a folder titled Great Plains Data Migration. Three sets of scripts are provided for each of the main entities. The first script returns the number of records for each entity in Great Plains. The second script returns the number of records in Microsoft CRM. These two scripts are for reference and are used to verify the data migration was successful.

The third script is the migration script and should be run after the first two. The migration script creates records in the Document Exchange for each of the existing records in Great Plains. Essentially this script causes the Document Exchange to treat the existing records as if they had just been created. The data flows from Great Plains into Microsoft CRM through the Microsoft CRM Integration components.


Use Case Corner—Scribe Migrate for Microsoft CRM: Data Migration

Applications are only as useful as the data they contain, and customer data is an ongoing part of your overall CRM strategy. Scribe Migrate for Microsoft CRM, shown in Figure 13.26, combines two Scribe technology components, Scribe Migrate and the Scribe Adapter for Microsoft CRM. Scribe Migrate for Microsoft CRM enables you to populate Microsoft CRM with customer data from text or spreadsheet files, databases, legacy systems, contact managers, and packaged CRM applications without the need for custom programming. It is a valuable tool for performing initial data migrations into Microsoft CRM, but has the flexibility to be utilized on a recurring basis for ongoing list loads and bulk inserts.

Figure 13.26. The Scribe Migrate workbench interface.

Scribe's technology has been resold for more than five years by leading CRM vendors, and is used daily by thousands of end users to perform initial data migrations, recurring data loads, data enhancements and standardization, and duplicate management. Scribe Migrate for Microsoft CRM transforms, standardizes, and moves customer data into Microsoft CRM in one step. It is equipped with a variety of predefined functions for data lookups, parsing, sound matches, and bulk inserts, which increase efficiency when configuring data translations.

Migrating Customer Data

Scribe Migrate for Microsoft CRM has a graphical user interface, which is designed for nonprogrammers, and is architected to support a data-centric approach to migration and integration. It consists mainly of Scribe's Workbench component, which allows you to create and define data translation specification templates. These templates store specifications such as source and target information, data mappings, formulas, and data cleansing rules.

Upon log in, users select data objects in the source application that will be mapped to data objects in Microsoft CRM. Users can choose from more than 40 Microsoft CRM data objects, including Account, Activity, Contact, Opportunity, Quote, SalesOrder.

Connectivity

Out of the box, Scribe Migrate for Microsoft CRM provides connectivity to a variety of different sources, including ACT!, Goldmine, Exchange/Outlook, SQL Server, Oracle, and ODBC data sources. In addition to the Scribe Adapter for Microsoft CRM, Scribe has developed Adapters for other leading applications, which can be purchased separately as add-ons. Adapters are the interfaces that allow Scribe to intelligently connect to the database and process the data. An adapter can interface with the source database, target database, or both. Scribe Adapters are dynamic, reflecting any changes in a customized application automatically. All Scribe Adapters are designed to understand the data rules and business logic of applications, and provide intelligent connections to databases or APIs.

Availability

Scribe Migrate for Microsoft CRM is available directly from Scribe, or through Scribe Migrate for Microsoft CRM Certified Resellers.

A live trial of the software and more information on ordering the product can be found at www.scribesoft.com.

About Scribe Software Corporation

Scribe Software develops advanced migration and integration software technology that is primarily focused on the CRM market. Scribe's technology-based solutions make CRM applications work seamlessly with the Web, Enterprise Resource Planning (ERP) applications, and other CRM systems. Scribe Software is a Microsoft Certified Partner and a Microsoft Certified Solution Developer. For additional information, visit www.scribesoft.com.


Summary

Automating the integration of data between CRM and the accounting back office is an important step for any company in becoming a more efficient and competitive organization. For most companies with Microsoft CRM and Great Plains, Microsoft CRM Integration provides an out of the box solution to accomplish this integration. For others, only minor tweaking will be necessary to successfully tie CRM to Great Plains. Thanks to BizTalk Server, even in situations where Great Plains is not the existing accounting software, Microsoft CRM Integration is a good starting point for designing and building a custom bridge.

As more accounting platforms are added, Microsoft CRM Integration will become even more valuable as an integration tool.

Acknowledgement

This chapter was co-authored by Frank Torres of Origin One, Inc., an Atlanta, GA-based solutions development firm and Microsoft Certified Partner. Frank is a Senior Solutions Architect and has designed custom integrations for several third party software packages, in addition to Microsoft Great Plains. He is currently focused on developing enterprise portal solutions using the Microsoft Windows Server System including BizTalk Server and SharePoint Portal Server. You may contact Frank at ftorres@originone.com.


Chapter 14. Customizing Microsoft CRM

In this chapter

Microsoft CRM Configuration Files

Links Customization

Web Resources Customization

Microsoft CRM SDK

Clone Customization

Summary

In Chapter 11, "Configuring Microsoft CRM" we looked at how to use Microsoft CRM's configuration tools to make standard changes to the system. We referred to this as configuration because we could do it all without the use of a programming language.

This chapter looks at changes we can make to Microsoft CRM that go beyond what can be done with the configuration tools. These changes are referred to as customizations.

NOTE

As discussed in Chapter 11, "Configuring Microsoft CRM," Microsoft is not entirely consistent with its use of the terms configuration and customization. For example, the area of Microsoft CRM where users add fields and tabs to forms is called System Customization, but when those changes are exported they are put into a configuration file (see Figure 11.17 in Chapter 11). While Microsoft tends more toward referring to all changes generically as customizations, we will continue to refer to what can be changed without code creation and modification as "customization." We'll refer to non-code changes as configuration.

Theoretically, there are many ways you can go about customizing a software application. In this chapter we stick to Microsoft's supported methods of customization for the product, which include

  • Adding custom tabs on the navigation bar of the different application areas (for instance, Home, Workplace, and so on) and object screens (Contacts, Accounts, and so on)

  • Adding custom buttons to the different application areas and object screens

  • Adding custom menus to the different application areas and object screens

  • Writing external interfaces or applications (.EXEs) that interact with the Microsoft CRM platform

Each of the custom tabs, buttons, and menus we create can point to a custom page that the developer has created. What this page does is entirely up to the developer who creates it.

Three main things related to customization are unsupported in version 1.0 of Microsoft CRM. Those are

  • Adding new objects to the Microsoft CRM object model

  • Modifying the core Microsoft CRM Web pages

  • Modifying the Microsoft CRM Sales for Outlook client application beyond the configuration that was covered in Chapter 11

Let's clarify the first items in this list. You might be wondering whether you can add custom tables to the Microsoft CRM database. You can, but all data access in Microsoft CRM is handled through the CRM server application so, although new tables can be created, the data in them falls outside of the Microsoft CRM security model and query engine.

The ability to allow developers to add new objects to Microsoft CRM is an important part of Microsoft's Independent Software Vendor (ISV) strategy and is said to be planned for the version 3.0 release in late 2004 or early 2005.

As far as modifying the core Microsoft CRM Web pages is concerned, you can do this, but any changes you make will be overwritten in a system upgrade. Because of this, Microsoft has provided the configuration tools and supported customization methods to allow you to make the Web page changes you need without modifying the pages directly. Regardless, most of the code has been compiled in ASP .NET code-behind assemblies (or DLLs) as opposed to being in the ASPX page itself. This means that your ability to edit the code and change the behavior of any given ASPX page is fairly limited.


Microsoft CRM Configuration Files

There are two key files that we need to understand before customizing Microsoft CRM. These are:

  • Inetpub\wwwroot\web.config

  • Inetpub\wwwroot\_Resources\isv.config

Both files are essentially XML files that Microsoft CRM references to determine certain application behaviors as well as to know which customizations to display.

web.config

The web.config file consists of a group of application settings that Microsoft CRM uses to determine behavior of the application. Table 14.1 lists the setting or "keys" housed in the web.config by default.

Table 14.1. web.config Application Settings

Key

Overview

Help Catalog Name

This is the name of the Index Server Catalog to use when executing queries from Help.

Default Setting: Microsoft CRM Help

Aggressive Browser Detection

Attempt to detect the user's browser Service Pack Version. Currently, this only tests for IE 5.5 Service Pack SP2. This is optional because the test is done client-side and its accuracy cannot always be guaranteed. If clients are successfully running IE 5.5 SP2 or higher but are receiving error messages about their browser version, you might want to turn this feature off.

Recommended Setting: On

Values: On or Off

Error Event Logging

This option determines whether server-side errors are written to the Web server's Event Log. Currently, the non-developer error messages in Microsoft CRM are very light (most say only an error has occurred) in terms of the information they provide. For this reason, it is a good idea to leave this setting on. Other than taking a very small amount of disk space to house errors in the event log, the benefits of having this option on far outweigh the costs.

Recommended Setting: On

Values: On or Off

Show Developer Errors

If a server-side error occurs, this setting determines whether Debug error messages are rendered to the user. Because of their descriptive nature, Debug error message are not recommended for production environments. However, they are extremely useful when developing or troubleshooting Microsoft CRM.

Recommended Setting: Off

Values: On or Off

Launch in App Mode

Determines whether MSCRM should be loaded in a browser window that does not have address, tool, and menu bars. Turning this feature On makes the application easier to use, as the User is presented with less options and the Application itself (not the browser) becomes the focus of their experience.

Recommended Setting: On

Values: On or Off

ISV Integration

Using the \_resources\isv.config file, it is possible to add custom menus and tool bars throughout the application. This setting tells Microsoft CRM to refer to the isv.config file and display the customizations it references. This setting is provided as a performance optimization. When there are no customizations to be rendered this setting should be Off.

Recommended Setting: Off (Unless you have customized the isv.config file)

Values: On or Off

Render Quick Create Control

Determines whether the Left Bar, Quick Create Control, is available to users. As far as we can tell, this option was added with the thought that the Quick Create control could allow users to bypass the validation of required fields. However, in version 1.0, all fields that are marked as Business Required or Business Recommended are displayed on the Quick Create screen. The only potentially valid reason for turning this setting off is that it may free up some screen space for users running with their screen resolution set to 800 x 600.

Recommended Setting: On

Values: On or Off

NOTE

It is possible to create custom keys in the web.config file if you want a place to allow administrators to change settings on your customizations. Note that the values are case-sensitive—which means, for example, that where On is a valid value for certains keys, on is not.

isv.config

The isv.config file contains information about the installed customizations and their locations in the server's filesystem. It is in this file that you will create custom entries to tell Microsoft CRM what customizations you have created, where they should be displayed within the application, and where the supporting files exist on the CRM server.

The structure of the isv.config file is

<configuration>
        <Root>
            <MenuBar>
                <CustomMenus/>
            </MenuBar>
            <Areas>
                <Home code="home" />
                <Workplace code="workplace" />
                <Sales code="sfa" />
                <Service code="cs" />
                <Reports code="reports" />
            </Areas>
        </Root>
        <Entities>
            <entityname> (i.e. the CRM objects; Accounts, Contacts, Leads, etc.)
                <MenuBar>
                    <CustomMenus/>
                </MenuBar>
                <ToolBar/>
                <NavBar/>
        </entityname>
    </Entities>
</configuration>

Microsoft CRM allows us to add the following components to the standard interface:

  • Custom Menus in the main UI areas (Home, Workplace, Sales, Service, Reports)

  • Custom tabs on the left navigation pain of the main UI areas

  • Custom menus on the individual CRM object screens (for example, Contacts, Accounts, and so on)

  • Custom buttons on the individual CRM object screen toolbars

  • Custom tabs on the individual CRM object screen left navigation panes

The following example XML illustrates the entire contents of an isv.config file with one of each of the customizations listed previously. In each case the custom menu option, toolbar button, or tab launches an external Web site. The address of the external Web site is written in the URL property. It is just as easy to have the the custom menu option, toolbar button, or tab point to a custom page under the Web server's wwwroot directory.

[View full width]

<configuration>
    <Root>
        <!-- The main Menu Bar located at the top of all root level areas -->
        <MenuBar>
            <!-- Custom Menu Bar Items that appear between the Goto Menu and the Help
  Menu -->
            <CustomMenus>
                <Menu Title="Custom Menu">
                    <MenuItem Title="Custom New Window" Url="http://www.msn.com"/>
                    <MenuSpacer/>
                    <SubMenu Title="Custom Sub Menu">
                        <MenuItem Title="Modeless Dialog" Url="http://www.msn.com"
  WinMode="2"/>
                        <MenuSpacer/>
                        <MenuItem Title="Modal Dialog" Url="http://investor.msn.com"
  WinMode="1"/>
                    </SubMenu>
                </Menu>
            </CustomMenus>

        </MenuBar>
        <!-- The left areas for each section in the application -->
        <Areas>
            <Home code="home">
                <NavBarItem Icon="/_imgs/ico_18_debug.gif" Title="Custom Tab" Url="http://
  www.msn.com"
Id="navIsv1"/>
            </Home>
            <Workplace code="workplace"/>
            <Sales code="sfa"/>
            <Service code="cs"/>
            <Reports code="reports"/>
        </Areas>
    </Root>
    <!-- Microsoft Customer Relationship Management Entities (Objects) -->
    <Entities>
        <account>
            <MenuBar>
                <!-- Custom Menus that you may add -->
                <CustomMenus>
                    <Menu Title="Custom Account Menu" ValidForCreate="0"
  ValidForUpdate="1">
                        <MenuItem Title="Coming Soon..." Url="http://www.msn.com"
  PassParams="0" WinMode="1"/>
                        <MenuSpacer/>
                        <SubMenu Title="Custom Account Sub Menu">
                            <MenuItem Title="Custom Account Sub Menu" Url="http://www.msn.
  com"
PassParams="1"/>
                        </SubMenu>
                    </Menu>
                </CustomMenus>
            </MenuBar>
            <!-- The Account Tool Bar -->
            <ToolBar ValidForCreate="0" ValidForUpdate="1">
                <Button Title="Custom Account Button" ToolTip="Info on Test" Icon="/_imgs/
  ico_18_debug.gif"
Url="http://www.msn.com" PassParams="1" WinParams="" WinMode="0"/>
                <ToolBarSpacer/>
                <Button Title="Custom Account Button 2" ToolTip="Custom Button Tool Tip"
Icon="/_imgs/ico_18_debug.gif" Url="http://investor.msn.com" PassParams="1" WinParams=""
  WinMode="1"/>
            </ToolBar>
            <!-- The Account Left Nav Bar -->
            <NavBar ValidForCreate="0" ValidForUpdate="1">
                <NavBarItem Icon="/_imgs/ico_18_debug.gif" Title="Account Tab" Url="http:/
  /www.msn.com"
Id="navItem"/>
            </NavBar>
        </account>
        <contact/>
        <lead/>
        <opportunity/>
        <incident/> <!-- Case -->
        <quote/>
        <salesorder/> <!-- Order -->
        <invoice/>
    </Entities>
</configuration>

Let's take a look at the elements in the isv.config XML file, which are shown in Table 14.2:

Table 14.2. isv.config File Elements

Element

Description

Title

Included in several of the custom entries, this is the caption the user sees when viewing a custom menu, menu option, tab, or button

URL

This is the location of the start page to be called by the customization. It can be any valid URL.

WinMode

Used only with menu options because these options launch new windows. WinMode determines whether the new window will be modal or modeless. If the window is modal, the user will not be able to click or select anything in any other window until he or she closes the modal window. Dialog boxes and messages are usually modal. Modeless windows allow the user to interact with other windows while the modeless window is open.

0— Open a regular browser window with all menus, buttons, etc., accessible

1— Modal Dialog

2— Modeless Dialog

PassParams

This flag tells the CRM platform whether to pass the record's unique identifier and also the entity type (for example "1" for account, "2" for lead, "3" for opportunity, and so on) to the custom page.

0— Do not pass the record's unique identifier and entity type

1— Pass the record's unique identifier and entity type

ValidForCreate

This flag tells the CRM platform whether the custom button should appear on the toolbar when creating a new record

0— do not display button on the object's create screen

1— display the button on the object's create screen

ValidForUpdate

This flag tells the CRM platform whether the custom button should appear on the toolbar when editing an existing record

0— do not display the button on the object's edit screen

1— display the button on the object's edit screen

Id

Unique identifier for the custom menu item or button

Icon

The URL for the icon to be displayed with this option

WinParams

This parameter indicates how the customization window should be displayed. For example, the width and/or height of the window can be specified. For more details on this parameter, consult the Features section of the Web page found at http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/open_0.asp

Now that we know more or less what we can do with customization, let's dive right in and go through some real-life Microsoft CRM customization examples.

Because the possibilities of Microsoft CRM customization are literally endless, we've compiled several examples to provide ideas of what can be done and how to do it.


Links Customization

Let's start our journey into customization with the simple portal customization we discussed in the Use Case Corner of Chapter 6, "Homepage, Workplace and Navigation." All files necessary to recreate this customization are found in the \Chapter Examples\Chapter 14\Links\folder on the CD that accompanies this book.

TIP

As you work through the customization examples in this chapter, you will find it useful to have the Show Developer Errors Key in the web.config file set to On. This ensures that you see detailed errors as opposed to simple, generic error screens.

We discussed the concept of making Microsoft CRM the portal for all of our employees' information sources. We created a simple HTML page with links to relevant Web sites and we created a Links tab on the main application navigation pane to list our links for our users.

The Links.htm page consists of the following HTML:

[View full width]

<html>
<head>
<title>Useful Links</title>
</head>
<body>
<p align="center"><font face="Verdana"><small><b>Useful Links</b></small></font></p>
<p align="center"><font face="Verdana"><small><a href="http://www.cnn.com">CNN</a> - Read
  up on the latest news</small></font></p>
<p align="center"><small><font face="Verdana"><a href="http://www.c360.com">c360 Central</
  a> - c360 Corporate Web Site</font></small></p>
<p align="center"><small><font face="Verdana"><a href="http://www.amazon.com">Amazon</a>
  - Shop at Amazon.com</font></small></p>
</body>
</html>

After we create the Links.htm page, we will create a new folder titled Custom on the Web server to house our new page.

NOTE

It is recommended that you create a new folder on the Microsoft CRM server to place all customization files. Create this foler directly under the wwwroot directory and name the folder Custom. The Custom naming convention has quickly become a standard among Microsoft CRM developers. Within this folder, it is good practice to create a folder with the name of your organization so that your customizations will remain separate from those of other developers.

We must then insert the following line into the isv.config file in the <Home> element.

[View full width]

<NavBarItem Icon="/_imgs/ico_18_debug.gif" Title="Links" Url="/Custom/Links.htm"
  Id="Links"/>

Finally, let's not forget to make sure that theISV Integration key in the web.config file must be set to On for Microsoft CRM to display our new customization. Figure 14.1 shows our new Web page displayed within Microsoft CRM.

Figure 14.1. Our simple Links page customization.

When we now launch Microsoft CRM, we now see a new tab called Links. Clicking it shows our custom HTML page with the links we created. Remember, if you encounter an error setting up this customization, turn the DevErrors setting on in the web.config file so Microsoft CRM will provide you detail about what is going wrong.


Web Resources Customization

The eResources menu that can be accessed on the Account and Contact edit screens in Microsoft CRM is a great way to get contextual information from an external Web site based on the current record displayed. For example, these options can be used to get a list of restaurants near a customer's place of business or look at the weather in the customer's part of the world. However, there are only five resources available, new links cannot be added or removed, and the destinations of the existing links can't be changed.

NOTE

All but one of the default links on the Web Resources menu redirect the user to a Microsoft-owned Web site. The Research Company link refers to Hoovers.

Now, we just said that the destinations of the eResources links cannot be changed, but that is not entirely true. When the user clicks on one of the five links, client-side JavaScript functions are called. Those five JavaScript functions are located in the webResources.js file under the forms folder. This file can be edited to redirect the user to a different Web site, but modifying standard Microsoft CRM files is, of course, not recommended or supported.

Let's look at what can be done, for example, to add a Web search engine link on the Lead edit screen. This link could be used to find out if the Lead has ever been mentioned in the press or has ever published articles. Another example is a link on the Account edit screen to a financial Web site such as Yahoo finance to get the company's current stock price.

Our solution to this problem involves creating additional menus in the CRM application, creating an ASPX page, and doing a little bit of C# (pronounced C sharp) programming. Conceptually, what we're going to do is create one Web page that gathers the information about the record currently on the screen, fetch additional data out of the CRM system, and forward the appropriate values to an external Web site.

Here are the steps to implement this solution:

  1. Create a "Web Resources" menu

    Edit the isv.config file to add the new menu. Paste the following under the Account entity:

    <MenuBar>
<CustomMenus>
<Menu Title="Web Resources" ValidForCreate="0" ValidForUpdate="1">
<MenuItem Title="Stock Price" Url="/Custom/WebResources.aspx?resource=StockPrice"
PassParams="1" WinMode="0"/>
</Menu>
</CustomMenus>
</MenuBar>

    also paste the following under the lead entity:

    [View full width]

<MenuBar>
<CustomMenus>
<Menu Title="Web Resources" ValidForCreate="0" ValidForUpdate="1">
<MenuItem Title="Research" Url="/Custom/WebResources.aspx?resource=Research"
  PassParams="1"
WinMode="0"/>
</Menu>
</CustomMenus>
</MenuBar>

    Notice that both of our menu items are pointing to WebResources.aspx which is a custom page we will create shortly. This page gathers the information about the Account or the Lead record and redirects the user to a page on an external Web site.

    Notice also that the PassParams attribute is set to 1. This flag tells the CRM platform to pass the record's unique identifier to our custom page. This is important because we will use this information to retrieve more data about the record and pass that data to the external site.

  2. Create the WebResource.aspx Web page

    Save the attached file in the Custom folder under C:\InetPub\wwwroot on the Microsoft CRM Web server.

    We will not go into detail about the C# code in the ASPX page because some of the concepts are discussed in more details in the Microsoft CRM SDK section of this chapter. That code is divided into the following sections:

    1. Variable setup. This is where we set the server name, virtual directory where the Web services are published, and so on.

    2. Parse the querystring to retrieve the contextual object unique identifier and object type.

    3. Prepare and run a query using fetchXML to return detailed information about the object. A detailed discussion of FetchXML is beyond the scope of this chapter and this book, but we strongly encourage you to read up on it on MSDN as this is a very powerful query language for Microsoft CRM. Similar to the TransactSQL language for Microsoft SQL databases, FetchXML enables you to build complex queries and extract records out of your CRM database via the Microsoft CRM API.

    4. Redirect the user to an external Web site with the necessary contextual information such as the name or the stock symbol.

The necessary files to re-create this customization can be found under the Chapter 14 examples folder on the companion CD-ROM. Figure 14.2 shows a Contact record with our Web Resources menu implemented.

Figure 14.2. Creating a custom Web Resources menu to call a Web site and pass information about the active CRM object.

    [ Team LiB ]


Microsoft CRM SDK

We will now take a look at a more complex subject: writing an external application that will interact with the CRM API. To help explain how the CRM API works we will walk you through writing an application that will interact with the CRM platform. We'll try to provide general guidelines for creating other customizations, including ASPX pages that integrate into the standard Microsoft CRM application or an external application. However, our goal is not to have an in-depth discussion or to introduce every method of every object of the API. For more information on these topics, consult the Microsoft CRM SDK documentation that is available online on MSDN.

First of all, it's important to note that the CRM platform is made available as a collection of Web services. This means that the platform can be accessed from a multitude of platforms, environments, and languages—such as Linux, Java, or Perl. However, we will focus on using C# on the Windows .NET platform in our examples. Also, as long as the Microsoft CRM Web server is available to visitors on the Internet, it is possible to make calls to those Web services from anywhere provided that the calling application has been successfully authenticated.

Now let's talk about the actual application that we will build in this section. To implement our own installation of Microsoft CRM, we needed to import numerous contacts from a number of Outlook pst files. At that time, the Microsoft import tool was not yet available, and no third-party product was available to help us import the data. We looked at the import functionality that was available in the Web client, but because it was not designed to import all .pst fields (for example, notes and categories), we made the decision to write our own import tool.

What we needed was to create a Contact in Microsoft CRM for each Contact in the .pst file. We also needed to create a note linked to the Contact if there was anything in the Outlook note area on the Contact screen. Finally, we needed to create an Account, if one didn't already exist, for the contact's employer and link the two records.

The first thing we did was to setup a new C# project in Visual Studio to build the interface. In the interface, we wanted the user to be able to specify the name of the CRM server where the data needed to be imported before starting the import process. Finally, we wanted to offer some visual feedback on the import progress. Figure 14.3 shows the interface of our Outlook data import tool.

Figure 14.3. The Outlook import tool interface.

NOTE

Looking at Figure 14.3, notice that in addition to the server name text box, there is a text box to capture the service name. This refers to the virtual directory under which the different CRM services are made available on your Web server. MSCRMServices is the default value, but an administrator could decide to change this name. For this reason, it may be desirable to allow users to specify this value in applications that need to connect to a Microsoft CRM server.

The full source code for the import tool is available on the CD accompanying the book in the \Chapter Examples\Chapter 14\c360 Import Outlook Data\ folder. Here we will limit our discussion to the code that is relevant to the CRM API.

NOTE

An in-depth review of the Outlook import source code reveals that the import method executes on a different thread to improve the application's responsiveness. Advanced C# concepts such as threading are beyond the scope of this chapter.

Before We Begin

There are a couple of prerequisites to running our customization. First, Microsoft Outlook must be installed and running on the PC on which the import tool is to be runned. Second, our new C# project needs references to different libraries (or DLLs) to help us talk to different APIs. More specifically, we need a reference to the Outlook library as well as a reference to the Microsoft.CRM.Proxy.dll. The Outlook library is installed when Microsoft Office is installed. The Microsoft.CRM.Proxy.dll file is either on the Microsoft CRM CD or on the \InetPub\wwwroot\bin folder on the Web server where Microsoft CRM is installed. Both of these files have been included on the accompanying CD.

The Run Method

This is where the bulk of the work is done. We've divided this discussion into multiple sections for simplification. We will discuss each section and present the most important lines of code in each.

Section 1

The first thing worth noting here is that we capture the server and service name entered by the user, format it as a URL, and store it in a variable for future reference:

string strDir = "http://" + _form.ServerName + "/" + _form.ServiceName + "/";

The second important thing is the declaration of the various CRM objects. Let's take the Account object for example:

We start by creating a new instance of this object in memory:

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

Next, we forward the current user's credentials by using the .NET framework's DefaultCredentials property on the CredentialCache object:

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

Finally, we set the URL to the Web service:

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

In this section we create five different CRM objects. Table 14.2 contains a brief description of each:

Object | Description
CRMQuery | The query object allows for retrieval of records from the platform. Specify the entity to retrieve, the fields on this entity to be included, conditions to filter the data and the sort order. In our sample, we will use this object to verify if an Account with the same name already exists.
CRMAccount | Use this object to create a new account if one doesn't already exist.
CRMContact | Use this object to create a new contact for each Outlook contact.
CRMCustomerAddress | Use this object to create additional addresses if more than one address was specified in Outlook for a contact.
CRMNoteManager | Use this object to create a note and attach it to a Contact.

Section 2

It's now time to validate the user's credentials and find the CRM user to which they are linked. First, we'll create an instance of the BizUser:

Microsoft.CRM.Proxy.BizUser objCrmUser = new Microsoft.CRM.Proxy.BizUser();
objCrmUser.Credentials = System.Net.CredentialCache.DefaultCredentials;
objCrmUser.Url = strDir + "BizUser.srf";

Next, we need to call the WhoAmI method so that the platform can figure out which CRM user the given credentials map to. The method returns a UserAuth object, which we need to save for future reference. If the current user doesn't have a valid CRM user or wasn't granted a license, the call will fail:

Microsoft.CRM.Proxy.CUserAuth objUserAuth = objCrmUser.WhoAmI();
Section 3

The next task is to get a reference to the Outlook contacts we will import and also fetch the first contact from that list:

Outlook.ApplicationClass objOutlook = new Outlook.ApplicationClass();
Outlook.Items objContacts = objOutlook.GetNamespace("MAPI").Folders.Item("CRM
Contacts").Folders.Item("Contacts").Items;
Outlook.ContactItem objContact = (Outlook.ContactItem) objContacts.GetFirst();

The Outlook folder containing the contacts is called CRM Contacts. This will likely be different from system to system, so it is necessary to adjust the code accordingly.

Section 4

We can now create the Account record. However, we first need to verify that the company name on the Outlook contact is not empty because it would indicate that the contact is not linked to an Account. Also, we need to verify if that company already exists. We used the company's name in our verification, but you could modify this logic and use a different matching rule (for example, the first 10 letters of the company name as well as the company's state code).

[View full width]

if ((objContact.CompanyName != null) && (objContact.CompanyName != String.Empty)) {
    strXml = new StringBuilder();
    strXml.Append("<fetch><entity name='Account'><attribute name='accountid'/> <filter
  type='and'><condition attribute='name' operator='eq' value='");
    strXml.Append(HtmlEncode(objContact.CompanyName));
    strXml.Append("'/></filter></entity></fetch>");
    objXmlDoc.LoadXml(objCrmQuery.ExecuteQuery(objUserAuth, strXml.ToString()));
    objNode = objXmlDoc.SelectSingleNode("//accountid");
    bAccountExist = (objNode != null);

The second parameter passed to the ExecuteQuery method is a FetchXml string. FetchXml is a flexible and powerful query language for Microsoft CRM. FetchXML enables the execution of advanced queries against the CRM data.

In the interest of brevity, we'll skip the section of code where we build the string that enables us to create new Accounts. However, it is of interest to note where we got the list of available fields on the Account object. This can be found by looking at the Create method of the CRMAccount in the SDK documentation and click the link to the Account.xsd. This links to a page of all the standard fields and whether they can be used when creating a new Account or updating an existing Account.

Now creating the Account is a simple matter of calling the Create method. This method returns the Id of the newly created account, which we need to save for future reference.

strAccountId = objCrmAccount.Create(objUserAuth, strXml.ToString());

The following section creates the contact and is structured the same way as the previous example. Look closely at the following lines that allow us to link the Account to this Contact as the Parent Account. This link, however, is not bidirectional. In other words, it does not link the Contact back to the Account. We will take care of this other link in the next section.

if ((objContact.CompanyName != null) && (objContact.CompanyName != String.Empty))
{
    strXml.Append("<accountid>");
    strXml.Append(strAccountId);
    strXml.Append("</accountid>");
}

Next, we complete the link between the Contact and the Account records by updating the Account's primarycontactid field only on new Accounts. We assume that existing Accounts already have a primary contact, which we don't want to overwrite.

if (!bAccountExist) {
    strXml = new StringBuilder();
    strXml.Append("<account>");
    strXml.Append("<primarycontactid>");
    strXml.Append(strContactId);
    strXml.Append("</primarycontactid>");
    strXml.Append("</account>");
    objCrmAccount.Update(objUserAuth, strAccountId, strXml.ToString());
}

The last two tasks are to create a second address if one was provided on the Outlook contact and create a note if necessary.

The rest of the code takes care of updating the progress bar and fetching the next Outlook contact.

objContact = (Outlook.ContactItem) objContacts.GetNext();

NOTE

Whenever assembling a string for use to create or update a record, it's important to remove invalid XML characters such as the apostrophe (') or the less than sign (<). Take a look at the HtmlEncode method for an example of how it can be done.

We have now completed our application. We were able to communicate, from an external application, with the CRM API by using the available Web Services. All the services are very similar to each other (for example, Account, Note, Address, and so on), so knowing how to use one makes it simple to use any of the others.


Clone Customization

Our next customization is a toolbar button that enables a user to make copies of records with the click of a button. The purpose of this clone feature is to expedite the process of entering multiple records at once when the records are all very similar to one another. For example, if we are manually building our product list and have many similar items we can use this functionality to quickly copy records so we can then make changes to the copied record.

Let's take a closer look at this customization. As with any other customization, it is necessary to make sure that the ISV Integration key in the web.config file is turned on. Next, we need to add the following line in the Entities section in the isv.config file to add the clone button on the menu bar of the different entities we want to be able to clone:

<account>
    <ToolBar ValidForCreate="0" ValidForUpdate="1">
    <Button Title="Clone" ToolTip="Clone this account"
Icon="/_imgs/ico_18_debug.gif"
    Url="/Custom/c360/ToolPac/Clone.aspx" PassParams="1" WinParams="" WinMode="1" />
    </ToolBar>
</account>

NOTE

Our clone customization is capable of cloning accounts, contacts, opportunities, leads, cases, competitors, quotes, orders, and invoices.

When the user clicks the new clone button, a new window pops up and loads the Clone.aspx page. This page retrieves the original record, makes a copy of it, adds Clone of to the name or description of the new record, and displays a confirmation message. When the user dismisses the confirmation, the current window is closed, the new record is diplayed in a new pop-up window, and also the grid on the main screen is refreshed so that the new record is displayed if needed.

Looking at Clone.aspx, and more specifically at the Page_Init() method, you see that we first read the unique Id and the type of the original object we want to clone:

string strObjectId = Request.QueryString["oId"].ToString();
string strObjectType = Request.QueryString["oType"].ToString();

The reason those two values are passed to our custom ASPX page is that we turned on the PassParams option in ISV.config. The object type is an integer that represents the object. For example, 1 is an account, 2 is a contact, and 3 is an opportunity. Table 14.3 includes a complete list of all the Microsoft CRM object types.

Table 14.3. Microsoft CRM Object Type Codes

Type

Description

1

Account

2

Contact

3

Opportunity

4

Lead

5

Annotation

8

SystemUser

9

Team

10

BusinessUnit

112

Incident

121

Workflow Process

122

Workflow ProcessInstance

123

Competitor

126

DocumentIndex

127

KbArticle

128

FAQList

129

Subject

130

CompetitorContact

131

LightweightContact

132

BusinessUnitNewsArticle

134

Activity

135

ActivityParty

136

FaxActivity

137

PhoneCallActivity

138

EmailActivity

139

ChatActivity

140

IncidentResolutionActivity

141

LetterActivity

142

AppointmentActivity

145

OpportunityCloseActivity

146

QueCloseActivity

147

OrderCloseActivity

150

UserSettings

1001

ActivityMimeAttachment

1003

InternalAddress

1004

CompetitorAddress

1005

CompetitorContactAddress

1007

CompetitorRevenueReport

1010

Contract

1011

ContractDetail

1013

Discount

1014

ExactDocumentMatch

1016

KbArticleTemplate

1017

LeadAddress

1019

Organization

1021

OrganizationUI

1022

PriceLevel

1023

Privilege

1024

Product

1026

ProductPriceLevel

1036

Role

1037

RoleTemplate

1038

SalesLiterature

1039

SavedQuery

1040

SearchCriterion

1041

SearchLog

1044

SuggestedExactMatch

1045

SuggestedSearchCriterion

1054

Unit

1055

UoM

1056

UoMSchedule

1061

Workflow Action

1062

WFActionLog

1064

WFCondition

1065

WFEventLog

1066

WFParameter

1067

WFRule

1068

WFRuleLog

1069

WFStep

1070

SalesLiteratureItem

1071

CustomerAddress

1080

DiscountType

1081

IncidentEntryActivity

1082

KbArticleComment

1083

OpportunityProduct

1084

Que

1085

QueDetail

1086

UserFiscalCalendar

1088

SalesOrder

1089

SalesOrderDetail

1090

Invoice

1091

InvoiceDetail

2000

AnnualFiscalCalendar

2001

SemiAnnualFiscalCalendar

2002

QuarterlyFiscalCalendar

2003

MonthlyFiscalCalendar

2004

FixedMonthlyFiscalCalendar

2010

Template

2011

ContractTemplate

2012

LWContact

2013

Territory

2014

MailingList

2020

Queue

2028

TrackedItemHistory

2029

QueueItem

3000

IntegrationStatus

Some of the types listed in Table 14.4 are not yet implemented in Microsoft CRM, but will be in a future version. An example of this is the ChatActivity object. If the existence of a CRM object that involves chat piques your curiosity about things to come, be sure and read Chapter 21, "Future Directions of Microsoft CRM."

Next, we need to identify the current user which is done by the following:

CBizUser objCurrentUser = new CBizUser();
CUserAuth objUserAuth = objCurrentUser.WhoAmI();

We must now retrieve all fields for the source object, which is exactly what the RetrieveObject method we wrote does by calling the Retrieve method of the appropriate CRM object. In the case of an account, for example, this is the code that performs the retrieval:

CRMAccount objAccount = new CRMAccount();
strResult = objAccount.Retrieve( ref objUserAuth, strObjectId, "");

The retrieve method expects three parameters: a reference to a UserAuth object returned by the WhoAmI method, the unique identifier of the object to retrieve, and the list of fields to retrieve.

NOTE

This list of fields must adhere to the ColumnsetXml, format, which is defined in the SDK in the ColumnSet XML Schema section. However, one thing that the SDK does not mention is that an empty string is the equivalent of saying, "I want all fields."

The last step in this customization is to take the string returned by the Retrieve method, filter out the fields that are not valid when creating a new object, change the description node (depending on the object type, this node can be the name, first name, description, subject, and so on) to say "Clone of…" so that this new record is clearly identified as a clone of another record, and finally create the new record. This is what the CloneRecord method does.

The rest of the code in the ASPX page is client-side JavaScript code to close the current window, open a new one, and display the new record.


Activity Summary Customization

Our next customization is an Activity View for Sales Opportunities. It simplifies the task of reading through all Activities on a Sales Opportunity by putting the information in a single, scrollable view. All files necessary to recreate this customization are found in the \Chapter Examples\Chapter 14\Acetta Activity Summary\folder on the CD that accompanies this book.

The Activity View customization is implemented as a custom tab on the Opportunity entity. We'll begin the installation of this customization by adding the following line to the Opportunity element of our isv.config file on our CRM Server:

[View full width]

<NavBar ValidForCreate="0" ValidForUpdate="1">
    <NavBarItem Icon="/_imgs/ico_18_debug.gif" Title="Activity Summary" Url="/Custom/
  Acetta/ActivitySummary/activity/ActivityList1.aspx" PassParams="1" Id="ActivitySummary"/>
</NavBar>

We'll then copy the ActivitySummary.dll to the \inetpub\wwwroot\bin directory on the CRM server.

Finally, we'll copy the contents of the \Chapter Examples\Chapter 14\Acetta Activity Summary\Custom\folder on the CD accompanying this book to the \inetpub\wwwroot\Custom\folder on the CRM server. If a folder titled Custom does not exist, create one now.

The next time we navigate to an Opportunity screen, we'll see our new custom Activity Summary tab. Clicking the tab will cause the ActivityList1.aspx file to be loaded, which in turn will call the ActivitySummary.dll, which assembles the Opportunity's Activity information in summary form and presents it to the user.

Figure 14.4. The Acetta Activity Summary screen.

The bulk of the logic in this customization is implemented in the Page_Load method of the ActivityList1.aspx.vb Visual Basic .NET code behind file where general information about the opportunity is retrieved and displayed and where all the related activities are retrieved and displayed as well.

If you want to get more detail on this customization, all source code can be found on the book's CD at \Chapter Examples\Chapter 14\Acetta Activity Summary\ActivitySummarySource.zip. The Microsoft Word file \Chapter Examples\Chapter 14\Acetta Activity Summary\ActivityCustomization.doc goes into further detail about how to set up a project for the source code.

The Activity Summary customization was submitted by Tony Clayton of Acetta. Acetta is a Seattle-based CRM consulting firm with deep expertise in a variety of CRM systems. Acetta can be found on the Internet at http://www.acetta.net.


Summary

Microsoft has provided clean and powerful ways to customize Microsoft CRM. Although there is quite a bit that we can do with version 1.0, there will be much more in the future. For a glimpse of the direction Microsoft will be taking CRM, take a look at Chapter 21. Most notably, it is expected that in version 3.0 of Microsoft CRM the ability to add new objects will be added.

In this chapter, we looked at the types of customizations you can implement with Microsoft CRM and we've reviewed several real examples including link page, Web resources, outlook import, clone button, and activity summary.

Each of these examples takes advantage of different parts of the Microsoft CRM API. This API, which is exposed as Web services, provides a tremendous amount of functionality for customization.

Acknowledgement

This chapter was coauthored by Jeremie Desautels. Jeremie is a Microsoft Certified CRM Professional and Microsoft Certified Solution Developer. Jeremie is co-founder and Chief Technology Officer of c360 Solutions, Inc. He is also the Technical Editor of this book. Jeremie developed the Web resources customization, Outlook import, and clone customization discussed in this chapter. Jeremie can be reached at Jeremie.Desautels@c360.com


Chapter 15. Redesigning Your Business for Customer-Centricity

In this chapter

Make the Customer the Basis for CRM Design

Integrate CRM Across the Enterprise

Adopt the Strategic View

Manage Customer Information as an Asset

Fuse Traditional and e-Channels

Utilize CRM Across Business Models

Understand Your Business Process

From Business Ambiguity to Technical Precision

Enabling Customer-Centric Processes with Microsoft CRM

Architecting a Shorter Time-to-Market

Use Case Corner

Summary

The customer-driven enterprise is the one that will sustain business advantage in today's tough marketplace. Customer-centric analysis of your data can help you answer the following questions:

  • What are the values favored by clients? (Time? Participation? Place? Information availability?)

  • How are these values changing?

  • Who values what?

  • What are client relationships?

  • What is profitability of client relationship?

  • What products do a client select?

  • Which competitor's products are selected by client?

  • What is client's level of satisfaction with the product?

  • Are there additional needs for product?

  • What are client's household relationships?

  • What is the history of contacts with the client?

  • What is the profitability by segment, product, geo-code, and so on?

Take the steps recommended in this chapter to make your business more customer-focused.


Make the Customer the Basis for CRM Design

Customer-centricity starts with the understanding that the customer—not a particular line of business or technology—is the CRM design point. The transformation starts with your customer-facing applications, such as your Web site and other customer contact points. Whether you use call-center support, direct mail, response handling, or face-to-face customer interactions, this is the focal point for activities that will be propagated throughout your organization.

This means understanding your customer's point of view and aligning your entire organization to support it. It might mean starting with a key segment of your customer base, first aligning to that segment's needs, and then moving on to add in the other segments.


Integrate CRM Across the Enterprise

You will be integrating your CRM technology and process across departments or lines of business (for example, sales, service, marketing, and the Internet) rather than automating around traditional departmental boundaries or individual business lines. The point of this cross-boundary integration is to deliver the same face, process, and products regardless of where your customer contacts you.

For example, if you order a product from a company on the Web and decide to make a telephone call to check on its delivery, you expect the phone representative to have your information available. You shouldn't be forced to go back to the Internet to find out. Similarly, if I order a product from one branch of a store, then check with another branch on how much it costs or when to expect delivery, I should get consistent answers no matter which branch I call. Making these scenarios work involves integrating systems across customer touch-points.


Adopt the Strategic View

Treat CRM technology holistically by examining the strategic picture to create a CRM technology ecosystem that is balanced and optimized—both across the enterprise and with external partners and customers and points of interaction to actually deliver on the promise of CRM.


Manage Customer Information as an Asset

Manage customer information as a corporate financial asset, while leveraging technology as the key ally to build value around this asset. Every CRM technology decision can be measured against this question: Does it build value around my customer information?

From the initial customer contact to the acceptance of customer payment, at the heart of every business transaction is the creation, capture, or exchange of information. Managing such information is the focus of data strategy, warehousing, and architecture efforts. The data that business events revolve around is the currency of information systems. Ensuring that it is current, well-integrated, and sharable between business applications ensures that data is managed as an asset.


Fuse Traditional and e-Channels

Build hybrid go-to-market systems that seize the multichannel opportunities of fusing traditional and "e" channels to build customer-centric CRM systems. For example, a promotion might be announced via the traditional channel of direct mail, but responses can be driven to the Web interface to enable customers to serve themselves. Such a hybrid approach makes use of the best of both channels involved.

Another example is the collection of customer contact information at the traditional point of sale, while using that data to make electronic contacts via Web and email.

Placing the focus on the customer opens the possibilities of contacting and interacting with your customer in multiple settings and at any time of the day. Ubiquitous contact is the result.


Utilize CRM Across Business Models

Apply CRM to e-business initiatives and all business models (for example, B2B, B2C, B2B2C). Whether your customer is an individual, a company, or a combination such as the retail customers of a B2B partner, your CRM should support your sales, service, and marketing efforts across those business models. Some customers might appear in more than one model, and you should be able to recognize a customer and their value to you wherever they show up.


Understand Your Business Process

To provide the aforementioned customer-centricity, you need to evaluate your business processes to understand them and to know whether they need changes.

The Goal

Your goal is to understand the existing business process to support, redefine where necessary, and enable it through technology. The recommended way to do this is to conduct a series of interviews, which provide the basis for building the following:

  • A map of current business functions for customer-relationship management

  • Business usage of current application systems (if any)

  • Business process components and major interfaces

  • Integration views

Your approach should be iterative (repeats the steps until enough information is gathered), and will require some improvisation along the way. For instance, when you come across a "gimme"—a benefit that would be easy to obtain and could quickly be implemented—that's known as an early return, and is used to help build support for the project by showing a visible success.

Figure 15.1 shows a process model for conducting a business process redesign.

Figure 15.1. The business redesign process model shows the process you must follow to redesign your customer relationship management process.

To understand your business processes, you need to identify members of your organization with expertise in the relevant processes, including sales, service, and marketing. Usually, the experts are the department heads or the people appointed to the task. It's critical to engage these experts early in the process.

The first step is to analyze the current business processes by doing the following:

Identify Roles and Resources

The first step is to introduce the new roles required specifically for the CRM project: the champion, the contributors, and the integrator. The next several sections describe these roles.

Champion

The champion is the process owner and chief persuader, the overall coordinator and internal public relations agent for the project. He performs the following functions:

  • Helps build enthusiasm

  • Educates others on the project's benefits

  • Generates support throughout the organization

Monthly and sometimes more frequent meetings are held with the champion to provide ongoing updates and midcourse corrections for the duration of the project.

Contributors

Business Area Representatives from across functions provide a sounding board for the duration of the project, giving input on what works and what doesn't (from the field). Contributors are also responsible for ongoing prioritization of needs. Represented areas include

  • Sales— Can include the senior executive for the sales area. Would also include sales people from the field and branch or regional managers.

  • Marketing— The vice president of marketing becomes an important project ally, working closely with the project champion to set direction and provide organizational support.

  • Corporate Management— Includes CEO, president, and vice president levels. Interview results are summarized and applied to help define the goals and priorities of the project.

  • MIS (Senior Technical Analysts)— Systems managers and senior technologists knowledgeable about the company's systems environment are essential to the success of the project.

  • Product Engineering— New product development, research and development, managers, and technical specialists are included.

  • Business Planning— Strategic planners, senior marketing executives, investor relations experts, and sometimes legal counsel can be included depending on the goals of the project.

  • Service Delivery— Line managers, customer service providers and their managers, regional executives, and branch staff can all be included from this perspective.

Integrator

The role of the integrator is flexible and fluid. It requires a tolerance for ambiguity and the ability to provide reflective feedback to project stakeholders. Some of the functions of the integrator include

  • Conducting the project— The integrator assumes responsibility for the success of the CRM project by defining roles, marshalling resources, modeling desired behaviors, and mentoring project resources. He can define project plans, assign project management resources, and/or work with the program management office to set up overall guidelines. The role has been likened to a project shepherd who continually clarifies the vision and sees that participants remain on track for success.

  • Conducting open-ended interviews— Subject matter experts and representatives of the business areas affected by the project or business initiative will be identified and interviewed. The recommended method is the open-ended interview as opposed to predefined surveys. The idea is to explore and conduct a process of discovery, turning up business innovations wherever they occur.

  • Starting outside the box— A strength of the integrator is the capability to start from outside the box, with experiences gained on many projects that can provide perspective on the particular project. When a key project participant remains outside the box, she is able to continually raise the bar, engaging creative thinking and new learning strategies in project participants.

  • Stepping in to define issues— Sometimes the integrator will step into a particular role on a project, whether it be project manager, technical architect, or requirements analyst, to respond to specific issues. Or he might define a new role required by the project, with no current knowledge in the organization. An effective way to instigate a new role for your company is to have an experienced integrator play that role, define its requirements and infrastructure, and then identify candidates (internal or external) to take up the role going forward.

  • Identifying candidates to resolve issues— After a new role has been defined and profiled, candidates who fit the profile are identified and oriented to the job requirements. The integrator enjoys a unique vantage point from having moved around the organization in the course of an enterprise project. Often this background comes in handy in identifying promising candidates for new roles. The issues identified earlier become the selected person's responsibility to carry forward and resolve.

  • Getting back out of the box through a phased approach The integrator's final step on any given CRM project is to phase herself out in a supportive way. This can be accomplished through setting up various supports for the project team, including

    • Ongoing mentoring program

    • "Playbook" for team members to follow

    • Periodic check-ins from team members

    • Periodic communications with ongoing information exchange

    • Web community built and supported

When the new roles have been introduced and understood, the integrator works with the project sponsors to identify and assign the initial resources required, including

  • Internal experts to be consulted, such as subject-matter experts and representatives of the business areas affected by the project or business initiative

  • External sources such as industry associations, online information, consultants, and competitors

  • Existing models, systems, and information repositories that will be consulted to gather information for the project

Just as the consultation of the initial resources identified proceeds, additional contacts and sources surface and can be added to the list. Depending on the time availability and the depth of organizational contacts of the project sponsors, the initial list can be limited or it can be fairly comprehensive, but it should not be exhaustive.

Build "Best Guess" Models

The goal of the next step is to develop a starting point for viewpoint analysis models that capture the essence of each significant point of view represented in the project. The integrator does just enough preliminary research to pull together a straw man, or discussion starter, as a basis for interviews. The straw man is a descriptive model set up so people can knock it down and correct it, which is easier than starting from scratch.

Validate "Best Guess" Models

Validate the starting point models by reviewing with members of the technical team, and by reviewing existing documents. If necessary, do some external research on the industry to make sure you understand the basic concepts of doing business in the target market space. Test your models against a brief review of industry norms.

Conduct Interviews with Internal Experts and External Sources

Serial interviewing is the preferred method of gathering information in viewpoint analysis models. The goal is to understand the different viewpoints without having them modify one another, as usually happens in a group setting such as Joint Application Design or focus groups.

Interviews should start by introducing the goals of the project, the point of the models, and the conventions of the models. Interview subjects can depart from the preliminary models and just describe their situation, or they can offer updates to the models. Use them as conversation starters, not as formal controls on where the interview can go. In the same vein, predetermined survey questions are usually not recommended. If desired anyway, send them out ahead of time and collect responses at the interview, only clarifying verbally what's not clear from the written responses.

Analyze and Improve Models

This is the point where you step back, review the viewpoint analysis models, and begin to apply the desired improvements. Scenarios and view models typically reveal the integration issues of the project, surfacing the concerns of the business area representatives.

As you begin to identify solutions, you will update the models and return them to interview subjects for their feedback and corroboration. This process is an iterative cycle that terminates when the new models have become clear and project participants understand the responses to their particular concerns.

Generate Recommendations

The outcome of one or more iterations of analyzing and improving viewpoint models is formulated into a set of recommendations for the overall solution. The recommendations should include action items at two levels: near-term deliverables and long-term plans.

An effort is needed to identify areas of opportunity where relatively simple, minor, or low-cost improvements can be made in such a way that significant benefits are accrued. These opportunities are considered "low-hanging fruit" because they are most within reach and available to be harvested early on in the CRM project.

The purpose of introducing a tactical element at this time in the project is twofold:

  • Early returns

  • Visible successes from the project early on to build credibility and support throughout the organization

The recommendations presented should provide both interim solutions and long-term or strategic solutions.

Present Deliverables

Deliverables presented should draw on the pool of scenarios, view models, and business models developed. They are organized to present the recommended solutions in the context of their business setting.

Recommended solutions are presented to the project champion and business-area contributors. They provide the requirement basis for configuring the CRM package. The integrator will collaborate with specialists knowledgeable in the installation requirements of the package selected.

Recommended solutions provide the basis for subsequent technical models. A subset of the solutions models and subsequent technical models are presented to the technical teams that carry out the actual implementation of the packaged solution.

Understand Different Viewpoints in Your Business

Our approach introduces two feedback mechanisms, user scenarios and viewpoint-analysis models, which are used in preparation for selecting and applying CRM models.

User Scenarios

Narrative descriptions that illustrate a user, business-area representative, or a customer's perspective on system usage, scenarios provide a neutral reflection of project concerns. In developing scenarios you are not drawing conclusions, just feeding back the information you are collecting, primarily through interviews, and sometimes through surveys and focus groups. The story of Mac from sales presented earlier in this chapter is a scenario to describe the view of the sales organization in a particular situation.

In customer portal development, scenarios are used to support user interface design, demonstrating the expected flow of events for visitors interacting with the features of a Web portal.

Scenarios are crucial to CRM because they identify potential problems and possible solutions and highlight the most important requirements of a particular system's use. Embracing the multiple-use scenarios on a project ensures that you don't end up with narrow design solutions that only work for one type of user or one type of Web-site visitor. It also positions your project to align all points of view with the customer's point of view.

The rules for developing scenarios are as follows:

  • Capture one viewpoint at a time— Make it a point to align yourself with the owner of the view, seeing how the world looks from her perspective. Don't try to correct her assumptions, just surface them and describe them.

  • Keep the scenario loose and informal— Modify its presentation to suit your audience. Some people like verbal feedback with no time committed to writing and reviewing formal scenarios. Others like visuals, and still others want to read a short capsule that captures the essence of what they said to you. Sometimes you need to combine all three, so play it by ear.

  • Keep it focused— The initial interview should not be longer than one hour, and less is even better. People get to the point faster when the time is limited. (Don't get carried away with this however. Ten minutes is not enough. The point is to listen, and help your interviewee get to the point.)

  • Keep it short— One scenario per page. You might have to start with several pages to capture all the information. The process of condensing information into one page will help you become clear about what is essential.

  • Feed it back— This is your chance to get buy-in and promote ownership from your project constituents. Ask for, listen to, and apply corrections. Then feed it back again.

Viewpoint Analysis Models

Whereas scenarios provide a narrative method of describing the system requirements from more than one point of view, capturing those multiple viewpoints for the design of an integrated CRM solution requires a modeling repository. It must be one that is flexible, easily modified, taken in at a glance by the owner of the viewpoint, and questioned or corrected on the spot.

Viewpoint analysis models are about perspective. They offer a quick way to develop a sophisticated knowledge of a problem set by capturing several perspectives against it prior to synthesizing them into one solution.

The rules for developing viewpoint analysis models are as follows:

  • Adopt conventions— You need to adopt conventions to have enough structure so people don't get lost, and you need to present them as a preface to reviewing your models.

  • Go sit with the user— Capture what he sees. Use size and position on the model to indicate importance and priority. Let the relative positioning of components tell the story.

  • Visualize it for them— Start with a best guess and let him correct it. Modeling is easier for the interview subject if you provide the starting point.

  • Show him other viewpoints— People begin to catch on when they see the variations in views. If a view is too foreign for them, don't show it.

  • Use his terminology— If marketing calls a system by one name and sales calls it by another, let the two views use two different names. This can provide an important indicator when it's time to reconcile the meanings of the business entities.

Scenario and Viewpoint Summary

User scenarios and viewpoint analysis models set the stage for the solutions design work that is yet to come. They clarify the issues for CRM, and let project contributors know you've understood their concerns and prioritized them correctly. Presenting both a visual and narrative description, the two techniques work together to deliver a balanced picture of the business context in which the project must proceed.

Aligning with the Customer View

After you develop analysis models you should have a good understanding of the many points of view that occur within your project. You must now pay attention to the one point of view that will be used to organize all the others, the customer point of view. The following steps will serve as a starting point:

  1. Put the customer view on top

  2. Walk through other views looking for overlap

  3. Identify differences—places where the other views conflict with the customer view

  4. Resolve conflicts, based on customer priorities

  5. Continue to adjust divergent processes until all processes reflect and support the customer view


From Business Ambiguity to Technical Precision

In many companies, the bottleneck has shifted from lack of understanding of the business process to the need to bridge the gap between business and technology. Until recently, many companies had not defined their business processes, and there was much to be gained from business process improvement projects. Of course, if you haven't defined your business process, there still is much to be gained.

Nowadays, I see more client companies where the business processes have been defined, and the current issue is how to get from that necessarily ambiguous model to the (also necessarily) unambiguous model required to build technology systems.

The other current issue, perhaps less understood but just as important, is how to continue to incorporate the ambiguity of business while making progress on project goals. That is, how to insert discontinuity into a goal-oriented process.

So how do we get from ambiguity to precision and back again? The following steps provide a guide:

  1. Embrace the ambiguity. You model the business on business terms—high-level, open-ended models that put all the relevant information on one page so it can be taken in at a glance.

  2. Develop that vision. You take significant chunks of business function (also known as services, as in Web services) or information and you drill down to more detail, beginning to incorporate broad strokes about the technology that is required.

  3. You'll end up with a high-level model that represents both the business vision and the technology vision. It provides more detail than the business sales pitch that usually defines the business view, and is more comprehensive than the implementation view.

To move towards precision, you need to start breaking out the kinds of information that system designers will be looking for: data, functionality, events, and so on. You can do this type of analysis with swim lane process models or business process models such as the various flow diagrams that exist.

Depending on whether you're taking an object-oriented approach or not, you'll move into either use-cases, scenarios and object models, or you'll define entity-relationship diagrams, usage models and data flow diagrams. Either way, you begin to focus on the use of the system (the user model), and define components of data and/or functionality.

Going back again (from ambiguity to precision and back again) involves keeping the business (a moving target) in view by shifting back and forth from global thinking to local thinking.

  • At the global level, you work at clarifying the big picture, keeping it loose and flexible.

  • At the local level, you execute iteratively, testing out concepts before rolling them out across the board. You carve up projects into small chunks for delivery. The current chunk is inflexible, precise, and fixed. The flexibility comes from having many small chunks, and the ability to adjust each one as you go, keeping it open until delivery time, when it then becomes fixed.

By reintroducing the ability to adjust implementation options at the level of iterations, you reintroduce the ambiguity that was taken out in order to formalize your system design. The result is a development process that starts out fuzzy, gets clarified through analysis and design, and then begins to blur again when it comes to implementation. It's an approach that works by operating in the real world on both ends of the spectrum (business/technology), while thinking clearly when making critical design decisions.


Enabling Customer-Centric Processes with Microsoft CRM

You are now in a position to take your model and map it against the functionality provided by Microsoft CRM. Some processes will map directly to the new product, whereas others require adaptation to take advantage of product features. Others require modifications to the way you set up Microsoft CRM, to provide custom features and functionality.

The business owners who have contributed to developing your customer-centric business process must be kept involved in the mapping process. Whether you are changing the defined business process, or customizing Microsoft CRM, the business representatives, and eventual users of the system must feel that they are the owners of the solution. That means keeping them involved at all stages, while providing the organization and direction to keep them from getting lost along the way. Even the simplest case of mapping business processes directly to the new product will require some getting used to.

Chapter 5, "Setting up Microsoft CRM," explains organization management and provides the information you need for planning the customization of Microsoft CRM to accommodate the organizational structure of your business.

Best-practice methodologies for sales are provided in Chapter 7, "Sales Force Automation (SFA)," and for customer service in Chapter 9, "Customer Service." This information will be useful as you begin to analyze your current, and plan for your future, business processes.

Automating Business Processes

Each organization has a set of business processes that are unique to that organization. Often employees are unaware of these processes, or that they are dependent on colleagues for information or the completion of previous tasks to complete their own tasks. To run smoothly, organizations must standardize processes across the organization, and encourage all users to adopt these standards.

Microsoft CRM provides a solution for automating internal business processes by creating workflows that carry out routine and repetitive tasks involving daily business operations. These processes can be designed to ensure that the right information gets to the right people at the right time, and to help participants keep track of the steps they have to take to complete their work.

Automating Your Sales Process

Microsoft CRM is designed to help an organization acquire and retain customers and reduce the time spent on administrative tasks. Microsoft CRM provides a robust account-management system that automatically tracks sales-related activities and revenues. It includes analytical, operational, and collaborative tools designed to improve and maintain good customer relations. It also provides tools that help assess customer value in terms of the future business they might generate. This type of analysis early on will help the sales department forge strategic corporate sales relationships.

The sales process is expressed as events, tasks, and dependencies in Microsoft Customer Relationship Management (Microsoft CRM). You use the Form Editor to convert the process into these items, but first you must define the process. When the process is defined, you can customize the default process that ships with Microsoft CRM into your specific sales process events.

Sales Process

Sales process management includes all the tasks associated with finding sales opportunities and closing deals. This includes

  • Prospecting and qualifying leads, managing contacts, opportunities, and accounts

  • Tracing the stages of deal closure and its related probabilities, and the variable compensations directly or indirectly related to closing deals

  • Managing and tracking communications between salespeople and customers, conducting email campaigns, and measuring their success

  • Maintaining a database of product information in a format that's easy for the sales force to access, either online in the office or offline at a customer site.

Sales Force Management

The automated sales force management in Microsoft CRM organizes the basic information required to track sales activities, account ownership, and variable compensation. This information also can be used to structure the sales force into territories and teams.

Automated sales force management systems are invaluable because they measure both the tangible and intangible factors that affect the bottom line, customer satisfaction, and sales force effectiveness. Even if company profits are up overall, tracking revenues generated by individual salespeople, and assessing these figures against sales costs, provides valuable insight into how the organization is faring. If this analysis reveals, for example, that the amount of time spent in administrative tasks is equal to or greater than the time engaged in sales-related efforts, sales costs are too high, and the sales force is not functioning optimally, then your organization can take steps to improve these areas.

Microsoft CRM provides automation tools that reduce the time salespeople (and their managers) typically spend performing administrative tasks. These tools include communication management, email campaign management, and sales process management.

Automated sales force management also provides managers with the information they need about the organization's sales efforts—a list of all salespeople and the contacts and opportunities they are working on, sales forecasts for the coming quarter, and a view of all the sales activity in each account. Microsoft CRM offers both predefined views as well as the ability to create custom views to access the information people want to—and have permission to—see.

Organizational Structuring

You can also use Microsoft CRM to structure the sales force into territories and teams, enabling greater flexibility for sharing and collaboration. In addition, new leads and contacts can be assigned to product or territorial teams until the manager can assign them to individual salespeople.

Territory is an attribute on Account records, enabling you to associate each Account record with a single Territory. Territory is not associated with any other object type. However, because many other object types can be associated with Accounts (for example, Contacts, Opportunities, and so on) you can reverse engineer your way back to Territory from those objects.

For example, to assign leads originating in the Northeast to that territory, you can associate a contact or an Opportunity with an Account that belongs to the Northeast territory.

Forecasting

Part of sales management is getting realistic sales forecasts and managing the sales activities to reach those forecasts. If actual sales do not consistently meet forecasted figures, management needs to find out why to identify whether the issue is with sales practices or forecast methodology. Microsoft CRM provides tools to help with forecasting and with analyzing these numbers against actual sales.

Comprehensive reports for measuring business activity and forecasting sales include the following:

  • Sales activity and quotas

  • Closed and pending orders

  • Support incident management and resolution

  • Financial summaries

Forecasting is usually based on a combination of factors, such as track record (sales activity and closed orders), expected demand (demand fluctuations can often be predicted by industry. For example, accountants are busy in the months leading up to tax time, retailers at Christmas) and, along with advance orders (pending orders) provide the basis for decisions. Support incident management and resolution reports provide risk indications, and financial summaries place the overall forecast in perspective.

Microsoft CRM also enables you to manage your pipeline, analyze the stages at which your opportunities exist, and use real-time data to decide whether you should start marketing programs to create more leads or, for example, focus on closing the top three opportunities to help make your monthly quotas, and so on.

Reports included in Microsoft CRM help you identify the opportunities, trends, and problems that guide your business decision-making processes. You also can easily export Microsoft CRM report data to other applications, such as Microsoft Excel, for further analysis.

Sales and Contact Management

As an organization and its customer base grow, more people seem to become involved in each sale. When more than one person is involved with handling an account, it's critical that everyone understands the history and future plans for the account. The contact management system in Microsoft CRM enables individuals, and organizations, to manage, share, and collaborate on accounts. Efficiently implemented and used, Microsoft CRM logging and tracking features benefit the individual who makes the sale, her sales team, other supporting teams, and her management. The customer also benefits from better service during and after the sales process.

Marketing and Communications

Marketing and communications is an important part of your sales process, encompassing the management of lists both for direct mail and email activity, leads and opportunities, contacts, competitive analysis, tracking of communications and campaigns, and managing your sales literature. Microsoft CRM provides the tools for automating your process for marketing and communications.

Marketing List Management

Many companies and salespeople purchase mass marketing lists. These lists often include names of people who make purchasing decisions and the companies for which they work. These lists are reviewed and individuals are either disqualified as unsuitable for the organization's sales strategy, or qualified for further contact and opportunity investigation.

You can use Microsoft CRM to import lead lists into the database, perform the usual qualifying activities, and convert names to opportunities or contacts if they qualify.

Names that do not qualify are marked as inactive but retained in the database for business reporting purposes, for instance to analyze the success of different list sources or to assess how much time the sales force spends prospecting.

Lead Management

Leads are individuals who have indicated an interest in finding out more about the products or services offered. They have been identified by a salesperson as recipients for targeted information through email campaigns or other communication activities.

Microsoft CRM makes lead information easily accessible from the interface, where profiles can be created and communication activities performed. All activities, such as email, notes, and meetings, are logged, so a history is kept of every contact with the lead.

Leads that show an interest in buying become opportunities. Leads that do not qualify are marked as inactive but retained in the database for business reporting purposes.

Opportunity Management

An opportunity is a potential sale to an account or contact that may be won or lost. Microsoft CRM enables your sales force to

  • Track information about each opportunity

  • Save the contact information

  • Track the stage the opportunity is in

  • Identify the salesperson who is actively working it

  • Assign revenue credit if the sale goes through

  • Assess the likelihood of closing the sale and the projected date

Opportunities can be linked with competitor information and analyzed to identify the most effective selling strategies.

Contact, Account, and Customer Management

Contact, account, and customer management covers the basics: the name of the person the salesperson works with and his or her contact information, including address, phone numbers, and company title. This information is stored with a log of any activities (email, meetings, campaigns, and so on) that have been performed.

This feature enables salespeople, managers, and other authorized personnel to view and handle corporate accounts. Each account is also linked to order information, proposed sales opportunities, and so forth, so a complete history of each account is accessible from one place.

Microsoft CRM also enables the creation of "child accounts" when, for instance, a salesperson does business with more than one department in a large corporation. In this situation, there might be individual department-level accounts that have separate contacts and ordering activities, but all invoices are processed through a single corporate purchasing account.

Competitor Management

Competing effectively is a valuable business strategy, and Microsoft CRM provides the means to create and disperse competitor information quickly and easily. This information helps salespeople quickly access information about the companies and products they are competing with, and to assess how large a threat the competitor represents. For quick comparison facts, competitor information can be linked to product information.

Communications Activity Management

Reliable and effective communication between members of the sales team as well as between salespeople and customers is essential to meeting the bottom line. Through innovative automation tools, Microsoft CRM facilitates communication and tracks activities, enabling the sales force to focus on the business of pursuing leads and making deals.

The Microsoft CRM communication system provides email support and records incoming leads. It also provides a calendar that can be used to schedule meetings and events, create To Do lists, and so on. Salespeople commonly keep notes on conversations and a running log of product information sent, and send task requests to other members of the team. Microsoft CRM provides tools for writing notes and linking files—for instance, copies of letters or product information files—to those notes. This helps other members of the sales team easily scan a list of what was sent, and then open up files to read the contents.

Salespeople can also create email templates that add prepared messages and greetings, maintaining message consistency across the board.

Email Campaigns

When sending mass email or email campaign messages, it's useful to measure the response rate to find out which marketing messages are working and where the best mass mailing lists come from. One way to track if messages are being opened and read is to set the "read receipt" option on all outgoing email messages. Microsoft CRM also tracks email response rates automatically.

Reports

The best way for managers to be apprised of account data, sales activities, and booked revenue is reviewing reports on a regular basis. Microsoft CRM comes with templates for several commonly used reports.

Sales Literature Management

The final important element of the sales process is to provide product information in a format that is easy for the sales force to access, either online at the office or offline at a customer site. Microsoft CRM includes tools to create product catalogs that include

  • Product descriptions

  • Pricing and discount levels

  • Links to sales literature

  • Competitor information

  • Customer profile and order history

These product catalogs help salespeople quickly learn about new or unfamiliar products and services, and provide them with account-specific facts and data they need to help them close deals quickly and efficiently. Because product catalogs are downloadable to their laptops, salespeople can make customer calls equipped with all the information they need. Based on customer needs and past orders, they can make recommendations, answer questions about products, and make comparisons to competitor products or services. In addition, when a customer is interested in closing the deal, the salesperson can use Microsoft CRM to calculate product volume discounts and offer price quotes immediately.

Automating Your Customer Service Process

When businesses think of customer service, they think of the high cost of finding and training customer service representatives (CSRs) and look for how they can provide customer assistance for the lowest possible cost. Unfortunately, the quality of service they provide usually reflects this policy. When users think of customer service, they usually think of customer disservice—long hold times, poor service, not enough time speaking with a human being, no help, and no answers.

Customer service does not have to be synonymous with frustration, however. The Customer Service module in Microsoft CRM provides an extensive set of features designed to increase the efficiency of customer service and provide assistance. This module provides tools that help create a multilevel customer assistance policy that provides an interactive CSR-based service. This service includes

  • Call routing and assignment— enables you to route service requests automatically to the appropriate representative or teams for resolution, escalation, or reassignment.

  • Queue management— enables you to send cases to a waiting area, the queue, where individuals and teams can easily access them.

  • Call tracking— provides tracking and reporting on service call activity.

  • Entitlement processing— checks user's level of access to system functions.

  • Problem resolution— supports the identification and resolution of customer service problems.

  • Logging— enables the system to keep track of incidents through a problem log.

  • Monitoring— enables you to maintain accurate customer-related communications records with automated tracking of customer email messages.

  • Performance management— provides reporting tools to help identify common support issues, evaluate customer needs, track service processes, and measure service performance.

Customer Support Cost Levels

The following describes a customer support policy designed to keep costs relatively low while simultaneously increasing the quality and efficiency of service that customers receive.

  • Level 1— At the first level, the customer utilizes self-service options such as online help database, FAQs, knowledge-based articles, and chat or discussion lists.

  • Level 2— Customer sends a service request to the company. The service request may be sent through an email message. This engages a CSR on a less time-intensive relationship because one CSR can respond to several messages.

  • Level 3— At the highest cost level is a phone call, which engages a CSR on a one-to-one relationship. This level of support should be reserved for the most challenging issues or customers with a preferred support relationship with the company.

Contract Services

A challenge of managing services is keeping track of what customers are entitled to, both internally and from the customer's standpoint.

Through the Customer Service module, sales representatives and CSRs create and track Service Level Agreements (SLAs) and entitlements for new and existing customers, and edit and update existing ones. Creating contract templates makes the process go faster when a business offers different service plans to meet customers' specific needs. They can also view the details of service agreements and update or renew existing ones. Integrated billing is not available for Version 1.0

FAQs and Knowledge Base Articles

The Customer Service module offers internally managed content repositories stored in a "question and answer" system that tracks associations made between questions and answers, and a powerful search tool that includes intelligent searches.

As an internal tool, Frequently Asked Questions (FAQs) and Knowledge Base articles also answer questions CSRs might have about new or unfamiliar products and services. CSRs can also use these resources to reduce case handling by pointing customers to specific articles that provide solutions to their questions. CSRs can perform advanced searches, explicit searches, and browse through articles to find the information they need.

Although CSRs can add or delete questions from existing lists or create new lists based on cases they encounter, the Customer Service module automatically generates a list of suggestions based on the questions asked by customers. This reduces the dependency on manual identification of issues and provides an efficient basis upon which to add or archive Knowledge Base articles. All creation, editing, and publishing of content and their templates are managed with internal tools and stored in a SQL Server database. Knowledge Base authors can also specify sections within an article that are restricted for internal use and should not be available to customers.

To preserve the integrity of your Knowledge Base, a user with management privileges must submit the addition or removal of all content. Users with the appropriate privileges can do more than just search and browse for Knowledge Base articles. They can also

  • Change the content in published or unpublished articles

  • Approve or reject articles that are submitted to the unapproved folder

  • Publish articles so that they are available in the Knowledge Base

  • Delete or unpublish articles that have already been published

Case Management, Queuing, and Routing

Resolving cases is a key function of customer service, and the Customer Service module makes this process easier by providing collaborative activity tools with a browser-based interface through which issues can be submitted and tracked to resolution and closure.

Using one of the predefined views, cases can be filtered and reviewed, activities can be logged, and the time spent on each case can be tracked for performance and productivity analysis and contract allotment. Both open and resolved cases can be accessed through searches, and, when necessary, closed cases can be reactivated. This tracking information can then be turned into reports that measure statistics, such as individual CSR numbers (call lengths, resolutions, and so on), average length of cases, and types of cases.

The Customer Service module includes Web-enabled queuing and routing tools designed to improve how incoming requests for customer service are handled.

With the help of a wizard, CSRs can create queues based on existing product team assignments or subject matter expertise, and modify or merge them as organization, product, and customer needs change.

By adding routing rules to determine how service calls are handled within a queue, organizations that provide high-priority or VIP service can create an "escalation queue" to handle specific callers. Customer service departments organized by product or expertise can create product queues to handle specific types of calls.

An additional benefit of viewing queue details is that it provides immediate feedback on what's going on in the customer service organization, for example, who is assigned to a particular queue, how many customers are waiting in a queue, and how many CSRs are engaged in handling cases. This kind of information can be used to quickly organize staffing when demand increases, and also to forecast and schedule the workforce long term.

Performance Management and Customer Feedback

Logging and monitoring service requests provides the information needed for precision scheduling, workforce forecasting, and improving performance management. The Customer Service module offers management and administration tools that provide detailed transcripts of customer interactions, statistical information about call length and calls handled, as well as information about products, their components, and their usage.

Traditionally, the success of customer service operations is measured by internal and quantitative data, such as how long the average interaction time is and how many calls each CSR works on. One reason that these metrics are cited so often is because quantitative data can be collected and analyzed automatically and internally. The Customer Service module can be used to provide detailed quantitative statistics for efficiency analysis and forecasting purposes.


Architecting a Shorter Time-to-Market

Take this short quiz to assess your digital readiness:

  1. Are your business processes defined? (Business processes are the steps you follow in your day-to-day business.)

  2. Are your business processes repeatable? (Can you reproduce a success you had last week by following the same steps this week?)

  3. Are your most complex processes optimized? (Balanced for optimal performance, usually accomplished through automation.)

  4. Are you optimizing both locally and globally? (It doesn't matter how fast you can make a widget if your sales channel can't sell widgets as fast as you can make them.)

If you answered yes to none of the above questions, you're in luck! You can benefit the most from undertaking a process improvement project. Experience shows that 80% of the benefits are derived from the first 20% of the effort.

If you answered yes to just one of the above questions, you're not alone. Most companies never make the leap from merely defining their processes to making them repeatable and optimized.

If you answered yes to two of the above questions, you might be better off than you realize. If your processes are both defined and repeatable, they are ready for digital optimization—both local and global.

If you answered yes to three of the above questions, your company belongs to the top tier. I don't have to tell you that you work for a company that is highly competitive and innovative. The task that remains is to be sure your digital optimization efforts are focused where they can do the most good, and you prevent allowing standalone, local optimization to defeat your global goals.

If you can answer yes to all four of the above questions, congratulations! Your company occupies rarified air indeed!


Use Case Corner

Consider the following true story from a large provider of employment services, before they achieved integrated customer service systems:

Mac, from sales, has finally gotten his client Bill Smith to agree to a face-to-face meeting, to discuss follow-up business. He's excited because Bill's company is a big client and a lot is riding on this sale, so he's not leaving anything to chance this morning. He's wearing a $500 suit, he's got all the collateral sales materials the client could possibly want to see, he's even got his laptop with a fancy new calculator program that allows him to generate a price quote on the spot.

But as soon as he sits down across the desk from Bill, he suspects something is wrong. Bill's not smiling as big as usual and he seems to be keeping his distance this morning. Mac's antennae are shouting, "Something's wrong!" but he doesn't have a clue what it might be.

"So, Mac, your company services a lot of accounts for us all over the country, right?"

"That's right, Bill, in fact, that's one of the reasons we're a good fit for you locally, we know your company, how you like to do things; it won't take much to ramp up operations here based on what we're already doing for your company."

"So what can you tell me about the problems in Denver last night? I understand Tom's still waiting on his morning reports…"

At this point, Mac knows he's dead in the water. It's happened before, and even though he went through the roof last time, it's happening again. Nobody called to brief him, and now, instead of making the sale he's got to pacify an angry client even though he had nothing to do with the problem.

If Mac had known ahead of time that the Denver account had encountered processing problems the night before, he could have come prepared to give Bill a status update immediately, putting to rest any lingering fears Bill might have had about facing the same problem.

Mac was not the only one to suffer from that company's lack of customer service integration. Important new business that could have been written that day was lost, and Mac's coworkers would tell you that it happens all the time. Small, single-location accounts are not a problem in this respect because the sales rep usually knows about any activity on an in-town account. But keeping up with the big accounts, where the big contracts originate, is often a convoluted nightmare. Customers merge and move, they divest and enter new lines of business, and without integrated systems that can track these developments across the country and internationally, the sales force is in the dark when information matters most.

After this company integrated its service applications enterprise-wide, it was able to set them up so that problems in Denver can easily be reported in Atlanta. An early-warning system generated and delivered a trouble report to Mac before he went out on any customer call. Now, if a large multilocation client experiences problems anywhere in the country, Mac knows to expect questions and develops strategies beforehand for handling concerns.

In Microsoft CRM, the Announcements Cell provides a remarkably simple mechanism for publishing early warnings about service problems occurring across territories. This cell lists announcements that all users of Microsoft CRM will see when visiting the homepage. If you use this method to publish announcements, keep in mind that users can customize their homepage in such a way as to exclude announcements. However, they still have the option of visiting a "show all announcements" page that would provide the information. Finally, to make this work in Microsoft CRM, procedural requirements have to be established to identify and report service problems of the type discussed in this case study. With these few changes in place, the kind of advance warning that Mac's need can be provided.


Summary

In a customer-centric enterprise, processes are realigned to key off customer needs. When you understand your business process from a customer's point of view, using Microsoft CRM can help you implement changes to your business processes. Keep in mind that it's important to integrate changes incrementally. Begin with small steps, giving business users a chance to incorporate changes into their processes gradually. As you find success with early steps, build on it with follow up improvements.


Chapter 16. Managing Your Service Vendors

In this chapter

Establishing Your Requirements

Finding the Best Products and Services

Communicatitng Your Requirements

Integrate Your Vendors

Tying It All Together

Partnership Model

Use Case Corner

Summary

Many of the services your customer relationship marketing initiative will need are available from various service vendors. For example, you can purchase services such as list management, direct mail, call-center support, mailing address cleanup, ISP and ASP providers, and customer or prospect database providers. Your task will be to figure out what you'll need, and then find the best source and set up a relationship with the selected vendor.

Cross-reference: See Chapter 19, "Accessing the CRM Online Community," for a listing of Web sites that provide access to vendor information and assessments (see site category: Resources).

You will be responsible for knowing what you need and judging whether existing offerings will meet your requirements, matching up your requirements to one or more vendor services and orchestrating the implementation of selected products. That implementation will require planning, testing, and quality assurance for ongoing maintenance.

Most people think of software installation as a one-time event—load it once and you're done. As you move into business applications, it's better to think of software as an ongoing process of definition, development, and implementation. And usually that's not the end of it either. After software is implemented, you will still have ongoing maintenance in the form of corrections to the original or subsequent installs, changes to the requirements and installs, and new enhancements and features, delivered in new releases of software from your team or from your software vendor.


Establishing Your Requirements

The first step in acquiring vendor services is to get clear about what you need and document it in enough detail that you can evaluate vendors against your stated needs. This process is called establishing requirements and provides the basis for requesting information and proposals from vendors. When established, your requirements will support selecting a vendor, and managing your relationship with them after you've made the selection.

Defining a Required Technology Service

When you are looking for technology services, such as direct mail providers or consultants, who conduct customer surveys and focus groups, you need to identify your requirements up front and provide them as the roadmap to your potential vendors.

Adopting an Iterative Approach

Professional development teams deliver software in staged releases. The release strategy is characterized by short development cycles (average 1–3 months), prioritization of needs, and the use of reusable components, which enable us to benefit from prior experiences on similar projects.

One reason companies produce software with iterative processes is that it enables you to bring a product to market quickly, even if all the planned features are not active at the time of the first release.

Software companies often release software with advanced features "grayed out," delivering them as soon a possible after the initial release.

Staging Delivery Through Releases

You need to shift your way of thinking back and forth from big-business "corporate-think" to small-business "net-think." Or, if you like, from big-business hierarchical to small-business relational. Shifting back and forth means staying in the middle and it enables us to make a departure from the "all or nothing" way of planning.

We have to learn to take the next small step, without knowing what all the steps will be in advance. In project terms, this means planning for the next 30–90 days, and adjusting as you go. It means changing the way you think about commitment and investment. You make small investments and see how they work, then you adjust and make another small investment. The trick, I think, is holding your vision and the larger commitment to seeing it through, but letting the form of it shift and grow as you go. This is how iterative design and development is done.

Prioritizing Your Business Needs

You'll need to define your goals for your CRM systems, figuring out what matters most to you in this endeavor. Decide on your vision—why you wanted to use CRM in the first place—and return to it often. Identify key problem(s) to solve and areas to improve.

Time spent defining and refining your vision in the early stages will pay off when you get to the design stage of your project. It will give you a basis for making all the technical and design decisions that you will face.

The way to stay focused at this point is to develop just enough to deliver your goals. Resist the temptation to continually expand the scope of your efforts, adding one "neat idea" after another to the design without going ahead and implementing any of the ideas. Now is the time to cut away the extraneous, decide what's really most important to do first, and go for it.

You might want to develop a service prioritization matrix showing the business services that you require (x axis) versus your criteria for prioritization (y axis). Required business services might be grouped according to major subject areas, and include items such as the following:

Customer

  • New Business Development

  • Customer Relationship

  • Customer Satisfaction

Employee

  • Competency Management

  • Human Resource Planning

  • Performance Management

Information Analysis

  • Knowledge Management

  • Metrics

  • Reporting

  • Quality Assurance

Criteria for prioritization should include items such as the following:

  • Business priority

  • Business readiness (how ready is your business for this service?)

  • Process importance

  • Business benefit expected

  • User group affected

  • Existing system(s)

  • Technical complexity and feasibility

Figure 16.1 shows an example of the service prioritization matrix. The "Use Case Corner" section at the end of this chapter shows another example of the service prioritization matrix.

Figure 16.1. The prioritization matrix makes it easy to prioritize your business requirements.

Getting Early Customer Feedback

Testing and publication of your first release will reveal changes and improvements, which can then be built into future releases. Now is the time to solicit feedback from users and customers on the features of your CRM system that you have implemented. Monitor your results and make adjustments as needed. Are you reaching your goals? Are your customers more satisfied and/or more loyal? Are your staff members executing new processes consistently?


Finding the Best Products and Services

Finding and organizing the resources that can help you build your CRM capabilities will require knowing what to look for in a vendor, how to evaluate vendors, and how to handle both the acquisition process and set up an ongoing relationship.

What to Look for in a Vendor

The following seven dimensions, or categories of evaluation criteria, will help you evaluate CRM product vendors. The criteria are kept intentionally broad to encompass not just CRM vendors, but also vendors of related services and products. The same criteria can be applied to all the prospective suppliers, giving you an organized product selection process.

  1. Features and functionality

  2. Single view of customer

  3. Integration with customer applications

  4. Integration with related applications

  5. Architecture

  6. Product viability

  7. Company viability and performance
Features and Functionality

Functionality is the key to a successful CRM system. Delivering the functionality that your business requires is the most important criteria. A functional CRM system will provide the basics, such as sales and service support and marketing automation. Often, purchased CRM systems will also provide functionality beyond your requirements, which can help you to expand your business practices in the long run.

Functionality also includes features such as the following:

  • Complete customer view that enables you to view all contact and account information and history from a central location.

  • Leads and opportunity routing and escalation, enabling you to convert leads to opportunities and track and manage opportunities through the sales cycle.

  • Sales process management that enables you to use powerful workflow rules to automate stages in the selling process.

Many more features can be identified and reviewed in your vendor evaluations. It's up to you to determine which features you need the most and make sure they are available from the selected vendors.

Single View of Customer

CRM products should minimize the effort required to integrate and synchronize your customer information. Open standards architecture and a comprehensive customer data model help a product to meet these criteria.

The goal is to maintain a single view of the customer, no matter what separate system you're using or whether the information is in your accounting system or your online customer interface.

Integration with Customer Applications

The tightest coupling is usually required between CRM and other customer applications, such as contact management, opportunity management, and customer satisfaction measurement tools.

Successful integration in these areas means your business process can flow easily from one function to the next, whether all the functionality is housed in one system or is spread out across multiple applications.

Integration with Related Applications

Beyond the customer-facing applications, back-office systems process related information that also has to match the data in your CRM systems. The tighter the integration here, the greater ability you'll have for maintaining integrity of customer information and simplicity of updating customer records.

Architecture

The architecture of a system determines how it is built, how it is deployed, how easily it can be customized, and how flexible it is for integration with other applications. System architecture is an important variable in evaluating vendor solutions, and it should be considered in any purchase decision.

Some of the factors to consider in evaluating architectures include

  • Platform— The Web servers, databases, and server machines that a CRM system requires or supports.

  • Componentization— The extent to which the product is architected into reusable components. Includes the major components of the system, and how they are connected through component interfaces.

  • Integration capabilities— The ability of the product to quickly and easily integrate with other applications.

  • Ease of customization— How easily the product can be modified for special requirements, and extended to cover requirements that are not included out of the box.

  • Internal structure— How the product is organized, including application logic, customer and other database models, and other features.

  • Infrastructure— The operating system or runtime services that are utilized to support application processing, request handling, and database access.

Product Viability

How is the product doing in the market? How long has this product or an earlier generation of it been around, and how well do industry experts predict it will succeed?

The viability of a product must be considered so that you don't end up with a white elephant on your hands that becomes obsolete and loses vendor support for ongoing upgrades and maintenance.

Company Viability and Performance

Likewise, the viability of the vendor company itself should be carefully considered. Size of operations, number of employees, particularly in the service role, should all be scrutinized in vendor evaluation.

  • Past Performance should be reviewed to assess customer satisfaction with the vendor on prior projects. References should be requested for validation of the information provided by the vendor.

  • Management and Staffing Approach must be examined to assess the contractor's ability to effectively manage personnel, provide experienced and qualified key personnel, and respond rapidly to staffing requirements.

  • Experience on Similar Projects indicates whether the contractor performed satisfactorily on similar projects regarding schedules, turnover rates, meeting costs, and success in performing the work. References should be requested for validation of the information provided by the vendor.

  • Qualifications of Key Personnel should be requested to determine the ability of the contractor to hire, retain, and train qualified technical personnel similar to those required for the task.

  • Understanding the Requirements means assessing whether the contractor has given sufficient evidence of having understood the stated business requirements.

  • Technical Approach should be assessed in terms of whether the contractor has proposed a solution that is technically feasible and achievable within the constraints of the stated business requirements.

  • Quality Assurance and Control Plan should indicate whether the contractor has a process for addressing quality of performance and a plan for ensuring that deliverables for this requirement will meet the quality standards addressed in the process.

Developing a Vendor SWOT Matrix

A good way of presenting an executive summary of your vendor research is to produce a vendor SWOT matrix. The left side of a vendor SWOT matrix lists the vendor name and address information, including Web site for easy reference. The headers across the top include: Strengths, Weaknesses, Opportunities, and Threats. Each cell of the document provides an analysis of these dimensions for each vendor.

See the "Use Case Corner" at the end of this chapter for an example of a Vendor SWOT matrix.

Contracts and Employment Agreements

It is not the goal of this book to provide legal advice on any product or vendor, and you should always consult your attorney for review of contracts and agreements. However, there are a few points that might be helpful in setting up a vendor contract:

  • Technical issues— You will need to be very specific in technical terms about the end product you expect to receive, specifying not only functions and features, but particular technical information such as:

    • Database structures

    • Data models

    • Processing rules

    • Platforms and infrastructure supported

    • Electronic formats and delivery media

    • Availability schedules and remedies for late delivery

  • Requests for proposal (RFP)— The request for proposal is a common document for soliciting vendor proposals. The typical RFP specifies your requirements in technical detail and provides a list of questions that the vendor should answer in submitting a proposal.

  • Nondisclosure agreements— A common practice in vendor negotiations is to request a nondisclosure agreement be signed to protect intellectual property rights and strategic information about your company's plans. Visit http://www.williamsmullen.com/news/articles_detail/001.htm for a useful, generic primer on NDAs.

Handling Virtual Connections

When setting up a vendor relationship, you'll often find that most or many of your ongoing contacts will occur remotely. Here are some tips for handling the virtual relationship:

  • Focus on managing by result— Get clear about your objectives and make them clear to your vendor, allowing mid-course corrections and adjustments as the project proceeds.

  • Increase your use of electronic communication devices— Remote relationships can be just as responsive as the face-to-face kind, when participants will keep mobile phones handy and bridge the distance through increased availability.

  • Review progress against objectives in teleconferences— Allow enough time to cover details in your phone conferences, being sure to communicate and deliver any documents for review well in advance, so participants have time to get them even with the occasional hiccup from email systems.

  • Give more feedback— When you don't have the usual visual and body language cues to how people feel and what they're thinking, it's important to fill in the knowledge gap by providing and asking for increased feedback.

  • Create trusting relationships— Focus on trust in the relationship, being careful to follow through on commitments and requesting the same kind of care from virtual participants.


Communicating Your Requirements

After your requirements are defined—including goals and objectives, diagrams and models of pertinent information, business processes, and the business events that organize data and processes—it is time to communicate your requirements to your selected vendors.

Requirements are communicated on an ongoing basis. That's right, you don't just tell them once and walk away; you have to stay with the process:

  1. First you transmit your requirements documents. It is often useful to set up a face-to-face meeting to review the requirements and make sure you are communicating effectively.

  2. Next, you'll need to confirm that your audience, the vendor, understands what you need, and feels able to deliver it. It's important at this point to listen to the vendor's feedback and address each point in your requirements individually, to make sure you are understood, and that you understand the vendor's ability to provide it.

  3. The third step is to correct the misperceptions, clarifying what you initially intended, because there will be misunderstandings. You will also probably find that as you go over your requirements with a vendor, some of them will change as you discuss the need and it's technical feasibility. It's important to capture these changes and make sure you update the original documentation to reflect the new resolution.

  4. When you are satisfied that you've come to terms with the vendor and all parties are in agreement, you should send the updated requirements documents and once again make sure the vendor agrees that you've captured all the updates correctly.

Who Are You Communicating With?

Different resources will require different modes of communication and different messages. Here are some of the types of people that might be recipients of your message, along with suggestions for communicating effectively with each.

Vendor Resources

Vendor resources might include sales personnel, technical consultants, or service representatives. When setting up a vendor relationship, communications should be formal and written so that your expectations are documented and you have an audit trail to refer to in sorting out misunderstandings. After you have established a working relationship, you might be comfortable working informally with service reps or technical experts you call on for troubleshooting. Informality is okay for the day-to-day communications, but significant points and agreements should be followed up with at least a confirming email.

Your Team

It's important to communicate to your staff what you're doing and why. You can engage them in generating ideas, build enthusiasm by communicating goals and rationale, and offer incentives for performance. Your team will help you monitor data and service quality from your selected vendors.

Communications with your team should include the formal requirements documents that are targeted to vendors, and also can include a variety of training and awareness techniques such as

  • Web announcements

  • Annotated presentations delivered via email

  • Email announcements containing relevant information

  • Lunch 'n Learn presentations delivered in person

  • Online asynchronous instructor-led learning

Partners

Alliance partners might need copies of your formal requirements documents to enable them to participate in your project. With NDAs in place, you can share at least the nonsensitive information with your partners.

What's the Plan for Communicating?

Depending on the size of your project, you might need to develop a formal communications plan for keeping all interested parties informed. The process for developing a communications plan includes the following steps.

Make a Plan

Communications plans should include the following information:

  • Audience

  • Selected method(s) of communicating

  • Expected frequency of communicating

  • Channels for response and interaction with participants

Share the Plan

The first step to improved communications is sharing the plan you've developed with all project participants. This enables people to know what to expect. It also gives them the opportunity to contribute by either taking responsibility for their part of the plan or by helping you to meet yours.

Communicate Redundantly

It's better to err on the side of over-communicating than end up giving too little information. Stop short of deluging all project participants with all messages, but selectively make sure you keep people in the loop. One of the functions of the communications plan is to identify who needs to receive what information at what point, which will reduce your list of recipients.

Leave an Audit Trail (Email or Other)

One of the goals of formal communications is to leave an audit trail so that the current state of agreements can be ascertained, including points that might have been renegotiated along the way. It's no substitute for a signed contract but might keep you out of trouble. Also, people tend to think a little more when putting decisions, terms, and information in written form.

Owning a Business App

Part of your role as the business owner or project owner is to communicate the requirements for your CRM systems. To play this role effectively, you need to understand what's involved in owning a business application, including the responsibilities you'll have and the benefits you'll enjoy.

What Owners Do

CRM system owners are responsible for identifying and procuring the resources for a CRM project. They must estimate the cost and benefits and organize investors to support the effort.

System owners also must define the business requirements, setting expectations and being the ultimate arbiter of whether the system meets the expectations. This means they must set out the goals for the application, communicate the goals, and hold project participants accountable for their delivery.

What Owners Get

The advantage of owning a business system is the opportunity to improve your business. You have a unique opportunity to clarify your business model and define specifically how you want to do business, and then to embed that process into an automated system.

What Owners Supply: Business Requirements

The business requirements document is a means of specifying business processes and the applications that support them. You can adopt a formal modeling language, such as the Unified Modeling Language (UML), or for smaller applications you can simply draw how you see your application operating.

Requirements definition involves visualizing your system. You will need to surface the assumptions and make sure that team members align their assumptions so that everyone is working toward the same vision.

For example, in a restaurant CRM implementation, one company needed to maintain their reputation for extremely high levels of service with an increasing customer base. To do this, they decided to track customer information, dining history and preferences, and make that data available to all staff members by building and maintaining a customer database. The elements or components of their implemented solution were the following:

  • Adjust business processes

    • Treat all service interactions as an opportunity to obtain relevant customer information

    • Input the obtained customer information into the customer database

    • Build clients proactively by treating every customer as if they were a "regular"

  • Track customer information electronically

    • Maintain a database including information on all customers

    • Analyze customer information to identify top customers and trends in their buying behavior

    • Conduct email campaigns using customer-supplied email addresses

The model that depicts these elements of the solution is provided in Figure 16.2.

Figure 16.2. The diamond model for restaurant business processes depicts the elements of the restaurant service solution, which includes adjusting business processes and implementing electronic tracking of customer information.

Building Proactive Communications

Part of the role of the business owner is to ensure project teams and project managers understand the goals of your CRM strategy and its applications. Proactively communicating to project teams and managers enables them to support and carry out the project objectives and action plan as proposed. Other mechanisms that can be employed, depending on project needs, include

  • Targeted training— Training that is tailored to the needs of a CRM audience, which helps teams set expectations and managers understand the objectives.

  • Handbooks— Depending on the goals of the CRM project, the team might want to develop handbooks of project information for dissemination among the groups that are affected.

  • Overviews— Overviews presented to management, employees, customers, and suppliers can introduce the goals of the CRM project and head off confusion and scope creep.

  • Intranet delivery— Defining a home page for the duration of the CRM project to store project contacts, goals, handbooks of project information, schedule, and deliverables is a useful way to facilitate the communications on a large project.


Integrate Your Vendors

One of the challenges of managing vendor-provided software is getting all the parts to play together. This section discusses the issues of integration and offers some approaches to resolving them.

What Are Technical Components?

Technical components can be separate applications or Web services or database services. They are the building blocks that are required to deliver your application.

For example, Microsoft CRM consists of Web services application components, a Web server, and a back-end database. Other applications might deliver data in flat files or data transmissions. These subsets of business information are individual components of your technical solution.

One-Stop Shopping

Preintegrated solutions attempt to provide one-stop shopping for all your technology needs. To the extent that they are successful, these integrated solutions can save you the trouble and headache of doing your own integration.

The problem is that not all applications provide everything you need, and sometimes you'll find that one application does a better job of supporting customer service, whereas another does a better job of supporting sales. In that instance, you might want to consider using "best of breed" composition.

"Best of Breed" Composition

"Best of breed" composition delivers the desired functionality by pulling the best from two or more different sources or solutions. The ultimate goal of Web services is to make it possible to construct your own solutions from a series of application components, which have been developed to open standards so that they automatically match up.

In "best of breed" composition, the goal is to identify your required services (see services prioritization matrix), and then determine whether to make or buy the components you need. It's a good idea to make the components that are part of your core competency, on the assumption that you will incorporate strategic advantage. Components that are not strategic, but supporting, can be outsourced, bought, or licensed ready-made.

Until Web services are much further along in terms of adoption and thorough coverage of the marketplace, you'll find that some components still need quite a bit of integration. It might be worth it to gain better functionality of your systems, or you might find that in some cases composition is the only way to meet all your requirements.


Tying It All Together

When integrating CRM systems, it's important to analyze requirements for configuring the new system, positioning all the components that will be combined to deliver the desired functionality. The same information can be used to orient the technical team implementing the new software.

Figure 16.3 shows a process methodology that can be followed for a CRM integration project.

Figure 16.3. The process model for a CRM integration project specifies the steps that must be taken to complete the project.

The process model for this CRM integration project shows the steps involved in developing the requirements for a CRM implementation. The products from each step of the process are added to the evolving set of deliverables. Deliverables from earlier steps are utilized and refined by later steps. Early steps are completed with the support of the sponsor (this would be the CRM business owner) and his senior technical advisors, setting up the heart of the process—the serial interview of business area representatives and subject matter experts. The next sections describe the details of the seven steps of the process:

  1. Identify roles and resources

  2. Build "best guess" models

  3. Validate "best guess" models

  4. Conduct interviews with internal experts and external sources

  5. Analyze and improve models

  6. Generate recommendations

  7. Present deliverables

Identify Roles and Resources

The first step is to introduce the roles required specifically for an integration project and identify who will fill them. The next several sections describe these roles.

Champion

The champion is the process owner and "chief persuader," the overall coordinator and internal public relations agent for the project. He performs the following functions:

  • Builds enthusiasm

  • Educates others on the project's benefits

  • Generates support throughout the organization

The business owner is the champion for the typical CRM project. Monthly and sometimes more frequent meetings might be held with the champion to provide ongoing updates and mid-course corrections for the duration of the project.

Contributors

Business area representatives from across functions provide a sounding board for the duration of the project, giving input on what works and what doesn't (from the field). Contributors are also responsible for ongoing prioritization of needs. Represented areas include the following:

  • Sales— Can include the senior executive for the sales area. Would also include salespeople from the field and branch or regional managers.

  • Marketing— The Vice President of Marketing might be an important project ally, working closely with the integrators and the project champion to set direction and provide organizational support.

  • Corporate Management— Includes CEO, President, and Vice President levels. Interview results are summarized and applied to help define the goals and priorities of the project.

  • MIS (Senior Technical Analysts)— Systems managers and senior technologists knowledgeable about the company's systems environment are essential to the success of the project.

  • Product Engineering— New product development, research and development, managers, and technical specialists are included.

  • Business Planning— Strategic planners, senior marketing executives, investor relations experts, and sometimes legal counsel can be included depending on the goals of the project.

  • Service Delivery— Line managers, customer service providers and their managers, regional executives, and branch staff can all be included from this perspective.

Integrator

The role of the integrator is flexible and fluid. It requires a tolerance for ambiguity and the ability to provide reflective feedback to project stakeholders. Some of the functions of the integrator include

  • Conducting the project

  • Conducting open-ended interviews

  • Starting outside the box

  • Stepping in to define issues

  • Identifying candidates to resolve issues

  • Getting back out of the box through a phased approach

When the roles have been introduced and understood, the integrator works with the project sponsors to identify and assign the initial resources required, including

  • Internal experts to be consulted, such as subject matter experts and representatives of the business areas affected by the project or business initiative.

  • External sources, such as industry associations, online information, consultants, and competitors.

  • Existing models, systems, and information repositories that will be consulted to gather information for the project.

As the consultation of the initial resources identified proceeds, additional contacts and sources will surface and can be added to the list. Depending on the time availability and the depth of organizational contacts of the project sponsors, the initial list can be limited or it can be fairly comprehensive. It should not be exhaustive.

Build "Best Guess" Models

The goal of this step is to capture the essence of each significant point of view represented in the project.

You will need to model current usage of applications across the company, interviewing as needed to understand individual differences in requirements. Then, you produce a series of models for each viewpoint, gathering an understanding of what is most important to each perspective.

The integrator will do just enough preliminary research to pull together a straw man, or discussion starter, as a basis for interviews. The straw man is a descriptive model you set up so that people can knock it down and correct it, which is easier than starting from scratch.

Validate "Best Guess" Models

Validate the starting point models by reviewing with members of the technical team and by reviewing existing documents. If necessary, do some external research on the CRM industry to make sure you understand the basic concepts of doing business in the CRM market space. Test your models against a brief review of industry norms.

Conduct Interviews with Internal Experts and External Sources

Serial interviewing is the preferred method of gathering information to define business views. The goal is to understand the different viewpoints without having them modify one another, as usually happens in a group setting such as Joint Application Design or focus groups.

Interviews should start by introducing the goals of the project, the point of the models, and the conventions of the models. Interview subjects can depart from the preliminary models and just describe their situation, or they can offer updates to the models. Use them as conversation starters, not as formal controls on where the interview can go. In the same vein, predetermined survey questions are usually not recommended. If desired anyway, send them out ahead of time and collect responses at the interview, only clarifying verbally what's not clear from the written responses.

Analyze and Improve Models

This is the point where you step back, review the viewpoints you have captured, and begin to develop the vision for a shared model. Interviewing typically reveals the integration issues of the project, surfacing the concerns of the business area representatives.

As you begin to identify solutions, you will update the models and return them to interview subjects for their feedback and corroboration. This process is an iterative cycle that terminates when the new models have become clear and project participants understand the responses to their particular concerns.

Generate Recommendations

The outcome of one or more iterations of analyzing and improving your models is formulated into a set of recommendations for the overall CRM solution. The recommendations should include action items at two levels: near-term deliverables and long-term plans.

An effort to identify areas of opportunity where relatively simple, minor, or low-cost improvements can be made in such a way that significant CRM benefits are accrued is needed. These opportunities are considered "low-hanging fruit" because they are most within reach and available to be harvested early in the CRM project.

The purpose of introducing a tactical element at this time in the project is two-fold:

  • Early returns in cost and time savings

  • Visible successes from the project early on to build credibility and support throughout the organization

The recommendations presented should provide both interim solutions and long-term or strategic solutions.

Present Deliverables

Deliverables presented should draw on the pool of models developed. They are organized to present the recommended solutions in the context of their business setting.

Models providing a visual depiction of solutions are presented to the project champion and business area contributors. They provide the requirement basis for configuring the CRM package. The integrator will collaborate with specialists knowledgeable in the installation requirements of the package selected.

After Implementation

On implementing a CRM packaged system, the implementation model is provided by the vendor, so what is most needed from the standpoint of the company installing the package are the requirements for configuring and integrating the package system. The solution models can be used to orient the staff resources that are brought in by the package vendor. They might also be used to carve out the implementation project and orient the internal teams who will carry out the project.


Partnership Model

The best way to enter into projects with vendors is to set up a relationship as partners with the vendor. The partnership model is based on open communications, trust, and the ability to benefit from the unique contributions of each individual. As Figure 16.4 shows, the partnership model provides a map for the integration of two or more parties, whether companies, provider and client, or partners in strategic alliance.

Figure 16.4. The partnership model supports the integration of two or more parties.

The partnership model is also effective in providing the reengineering and process improvement that is often a central component of the CRM initiative. It defines the required steps that partners will follow, indicating where those steps are separate and where they overlap.

Strategic Vision

The model starts at the level of defining strategic vision for both parties, whether of company strategy, product strategy, or market strategy. This step is performed separately, but certainly results can be shared and can inspire the parties to find synergies between similar visions. It includes

  • Understanding your goals and parameters for the project in question

  • Defining the target customer or audience demographics

  • Initiating the marketing strategy

  • Delineating the expected budget range

Business Case

The next step is the business case, which elaborates the economic models to explore the anticipated costs and benefits of the project or collaboration. This step also includes the review of statistical information on the use of current products and services and of competitor's products and services. The goal of this review is validating the direction of the product or service strategy.

Project Scope

Project scope is evaluated next, and boundaries are drawn in terms of what is in-scope and what is out-of-scope. Defining the scope helps clarify the goals, parameters, and focus of a project so that subsequent changes and additions can be recognized and evaluated before being added.

Business Requirements

The definition of business requirements is the first overlapping step in the partnership model. A more specific vision is developed, indicating data needs, data definitions, process specifications, object and event models, and target customers. The parties will build a joint list of project requirements, and establish the initial project approach plan at this stage. Customer value assessments also begin at this stage. Partners can employ surveys or interviews with potential customers to learn about how they assess the value of an offering.

The remaining steps in the process have a joint focus, whether one or both parties actually perform the steps. This shared focus clarifies the singular outcome expected from the process of working together.

User Model

The user model defines the user interface, which can consist of an Internet site design, online graphical user interface screens, queries, reports, and other outputs such as cases or knowledge content. Use cases help capture all the scenarios depicting how the project will be used when implemented.

Component Design

Next, the partners define the logical components needed to develop the project deliverables and support the business processes required. They define the technical architecture requirements, logical data model, and sources of required information. Working together, they decide on the features the project will implement and the options for doing so. They also define the human resources that will be required by the project and work together to locate and select appropriately skilled service providers for every stage of the project.

Required technology will be defined, including platform selection (development language and application, database, and Web servers) and tools and techniques for development. Partners will also identify any needed vendors for the project, from data providers to other services.

Development estimates of time and cost are finalized at this stage, and a release strategy is put in place. The release strategy should be characterized by short development cycles (average three months), prioritization of needs, and the use of reusable components which enable the parties to benefit from prior experiences on similar projects.

Construction

The construction phase includes the development of any components, program code, and executables that are needed to implement the design. Unit testing occurs on each component at this stage. Whether one or both partners are involved in actual construction, the planning and management should be done cooperatively.

Test

The test program must also be managed jointly, covering seven different dimensions of system performance, including

  1. Functional Requirements— Getting the job done

  2. User Interface— Desired "look and feel"

  3. Integration— Seamless interplay between components

  4. Stress— Traffic volume, database, and application server performance

  5. Regression— Changing the changes (configuration management)

  6. Acceptance— Applying customer scenarios

  7. Production Performance— Ongoing tuning and performance monitoring

Implementation

Ongoing monitoring and support provide follow up on the project's performance and help in defining subsequent releases to update and accomplish both parties' vision over time.


Use Case Corner

For a major provider of professional services, a "make or buy" component plan was devised. This provider had already developed many of the basic systems needed to conduct business or in some cases, had purchased and installed the appropriate systems. They had payroll systems and major systems for setting up a client engagement, tracking expenses, and billing customers for invoices.

What was missing was an integrated set of productivity systems to be used by the professional in the field, delivering services. Indeed, they had many productivity systems, but they had been built on different platforms by different vendors over the years, resulting in nonintegrated systems that couldn't play together.

It was determined that all field productivity systems would be built under one umbrella that specified architecture and would be delivered via one employee portal, using a Web services approach.

The following steps describe how the vendor research was set up, organized and vendor selection was accomplished:

Step One

First, identify the required services by business area. Then, prioritize according to the selected criteria. Plot the services against the criteria, resulting in the service prioritization matrix shown in Figure 16.5.

Figure 16.5. This service prioritization matrix helps a major professional services firm prioritize the services required, and supports make or buy planning.

Step Two

Next, plot the services against the current state, determining whether adequate systems exist within the company, to what extent they meet the needs, and whether outsourcing or vendor selection is a possibility.

Figure 16.6 shows the resulting matrix of services against technical factors.

Figure 16.6. Technical prioritization matrix shows how existing systems meet the needs of business areas and plots the technical factors against each required service.

Step Three

Next, for the services that are identified as buy options, vendors are identified and a vendor SWOT matrix is developed for each of the identified services or for a bundle of services. As shown in Figure 16.7, the vendor SWOT shows a summary of vendor research at a glance.

Figure 16.7. The Vendor SWOT matrix shows how vendors stack up against the competition.

Based on the deliverables from these three steps, the requirements are clarified, technical options are identified, and desirable vendors are identified and researched to determine where to purchase the required services.


Summary

Technology leaders in all industries must manage their relationships with vendors so that they receive the products and services needed without losing ownership of the projects involved. This chapter offers some techniques and methods that were developed in a variety of different technical settings. They will help you get clear about what you need and help you convey those needs to all the vendors you will require.


Chapter 17. Installing and Maintaining Vendor Software and Services

In this chapter

Set the Direction

Implementation Strategies for CRM Projects

Handling Changes and Continuous Improvement

The Validation and Verification Processes

Use Case Corner

Summary

Chapters 5, "Setting up Microsoft CRM" and 11, "Configuring Microsoft CRM" cover installing Microsoft CRM software specifically, whereas this chapter continues the discussion from Chapter 16, "Managing Your Service Vendors" about dealing with vendors of software and services that you might need for your CRM project. It includes methods for managing the installation and maintenance of vendor software, handling changes, and test and validation procedures. These techniques apply to both Microsoft CRM and other vendor software and services. They also apply to overall testing for Microsoft CRM, fitting it into your environment, linking it with your back office and existing online systems.


Set the Direction

As discussed in Chapter 16, the partnership model enables you to align your strategy with that of any partner or vendor by defining your own vision; developing a business case that includes the expected cost and benefits of purchasing the desired software and/or services; and defining the scope of your project. As you begin defining your business requirements, you begin to work jointly with your partner or vendor to merge both visions into one project.

Experienced project managers know that the best way to collaborate with vendors is to develop your own vision, becoming clear about your requirements before engaging the vendor. This positions you to continually drive the project yourself, from start to finish. Understanding your business needs, your options for meeting those needs, and deciding where vendor software fits into your overall scheme is the key to staying in the driver's seat.

Identify Solutions and Solution Providers

Chapter 16 covers vendor selection in detail. After you have set the direction, you can identify vendors and begin to interview them. You don't have to do an exhaustive search. Check out the literature online, ask colleagues for referrals, and discuss your needs with others who have faced similar situations. Figure 17.1 shows a process for selecting products and vendors.

Figure 17.1. The vendor product selection process depicts a process you can follow for selecting a product or service from a vendor.

As opposed to traditional sequential processes, this approach systematically uses, reuses, and refines requirements and all relevant information. The process defines "just enough" requirements to screen the market for potential solutions. The information that becomes available as a result of screening, in turn, influences and enhances the next level of requirement definition.

The first cut of your requirements is defined on the basis of the following analysis:

  • Current processes

  • Experiences with the product in other organizations

  • Competitive products

It is understood that today's market offers a wide array of products and services, all of which may adopt different underlying philosophies and approaches. Open technologies give users a choice of implementation among tools, methods, and techniques, as opposed to closed technologies, which are already integrated with a predefined suite of products.

First, you will select the product that seems to offer flexibility, range, and customization opportunities combined with the state-of-the-art presentation. This product will be brought in on a trial basis. Pilot projects are identified, product is installed, and introductory tutoring is offered to pilot project managers. Consulting should be provided on an as needed basis, as the pilot project managers are getting more familiar with the product.

In the beginning of your explorations, you should be able to start narrowing the field down to the two or three top vendors. Contact these top contenders and start asking questions. You might decide to download an evaluation copy of software or meet with the vendor for a face-to-face discussion. As you work through your evaluation, pay attention to the following factors:

  • Responsiveness to your requests, calls, and queries. Does the vendor return your calls in a timely manner? If they promise to send information, is it forthcoming? These are good indicators of how you can expect to be treated down the road—after you've signed on the dotted line.

  • Organizational fit. How comfortable are you with their style? Do they rub you or your staff the wrong way? Or do you get the sense that they understand your point-of-view?

  • Who's driving whom? You want a relationship of give and take, where there is a comfortable balance between your need to give direction and the vendor's provision of advice and consultation. Beware the vendor who offers a one-size-fits-all solution.

Meanwhile, changes on the market are monitored and analyzed to ensure that another candidate would be identified quickly in case of dissatisfaction with performance and offerings of the first selection. (In such a case, familiarity with the initially selected product by several of your people would serve as an asset for the next iteration.) In this process the requirements are finalized and an understanding of the adequacy of the product is formed. Based on this acquired knowledge, future recommendations are formulated.

Work Through Requirements and Project Planning

When you hire a vendor, one of the benefits you purchase is their prior experience and knowledge gained from implementing similar projects. An experienced vendor should be able to provide resources such as the following:

  • Templates for project planning

  • Sample deliverables

  • Team roles and responsibilities

  • Team skills required

  • Hardware/software requirements

  • Production task list

  • Test plans and expected results

Select a Pilot or Prototype Project

One of the first steps to take with your vendor is to select a project that can serve as a pilot or prototype for proving out how the product or service will work in your environment.

Pilot projects use iterative development and prototyping to drive out requirements and deliver proof of concept early in the development cycle. With this approach, the requirements for the final product do not have to be cast in stone early in the life cycle.

Prototyping allows for effective management of risk (both technical and business), and verification, validation, and testing of requirements early in the development cycle. Figure 17.2 shows the life cycle of a typical pilot or prototype project.

Figure 17.2. The Pilot Prototype Project life cycle shows the project from initiation to product delivery.

The pilot or prototype project has a life cycle that starts with project initiation, then rapid development of the solution and rapid delivery.

Typical Pilot/Prototype Project Description

The typical project that would be suitable for a pilot has duration of from three to six elapsed months (from the start of the project to delivery). It should be long enough to allow some time for exposure to the product or service in question, but not so long as to keep the overall project from proceeding. The actual effort required by the project may vary from 3 to 15 effort-months, though for scheduling purposes elapsed time is the more significant number.

The team assigned to carry out the project should be highly skilled with knowledge of the business processes to be supported.

Risks

The risks of taking a pilot/prototyping approach include the following:

  • Endless prototyping spirals where the prototype never reaches completion due to continually changing requirements.

  • The prototype escaping into production. This happens when there is strong pressure from the business to implement the prototype because it looks like it meets their requirements. Often in this situation the system implemented would be poorly documented, have poor performance, and be difficult to maintain.

  • Lack of the user involvement required to ensure success. Although the necessary user involvement will vary depending on the particular project, expectations should be established up front and be tracked. The frequency and average duration of user requirements sessions or interview and review processes must be defined. It is important to gain agreement that the business partners involved will be empowered to make decisions for their area and that these decisions will be supported after the sessions/reviews.

  • Continually expanding scope— known as scope creep, the temptation to keep adding one more requirement can be a liability.

  • Frustration from the business because they cannot understand why it takes so long to complete a system when the prototype appears to be a completed application.

Risk Management Factors

Established during project initiation, a detailed specification of the scope of the prototype must be defined, including expectation setting in terms of what will not be included. In order to manage the risks inherent in the pilot/prototyping approach, the following rules must be observed:

  • The level and types of business involvement must be defined. Expectations must be set up front and tracked.

  • The frequency and average duration of business user interview and review processes must be defined.

  • Agreement that the business partners involved in interview and review will be empowered to make decisions for their area and these decisions will be supported after the reviews.

  • Agreement to the principles of time-boxing, that is, that the deadline will be met even if that means cutting functionality.

Evaluate Results

Your product evaluation pilot project will yield useful information and increased experience whether you decide to continue to a full implementation or not.

Results can be delivered formally or informally, and should include the following variables:

  • Functional usefulness. How well did the product or service meet our business requirements?

  • Quality of service. This includes responsiveness, attention to detail, flexibility, and ability to respond quickly.

  • Architectural fit. How closely does the product architecture fit our selected framework?

  • Business architecture. How well do the embedded business models reflect our desired way of doing business (for example, in a CRM application, the architecture of the customer model is very important).

  • Recommendations for going forward. To proceed or not and how to fine-tune the implementation, based on the experiences of the pilot (for example, increased attention to user training, speeded up schedule because of ease of use, and so on. )


Implementation Strategies for CRM Projects

CRM projects often span the enterprise, requiring widespread acceptance for their success. To develop that acceptance, we can utilize the 80/20 rule to help us understand how to promote the goals of the project. We can assume that 20% of the audience is already eager to embrace a new CRM system. This 20% can be identified as the early adopters of the enterprise. These early adopters are quick to embrace change, will readily see the value of the initiative, and will likely provide their support.

Another 20% will be opposed or indifferent to our CRM project. As slow adopters, they will not be easy to convince, and will remain cautious for the duration of any new initiative. These skeptics can raise valuable questions that help us run a tight ship, but their contribution usually comes later in the project. Initial efforts require more support than criticism.

The remaining 60% is our target audience, because they have yet to decide. We can expect they will have a reasonably open stance, coming around if we provide sound reasons. The following strategies will help build that support in the implementation of your CRM project.

Utilizing "Early Returns" To Promote Your Project

If we work with the 20% already on our side to create early successes, and then see that they are well publicized, we have a means of influencing our target audience, the undecided 60%. For example, on one CRM project, the project's steering committee identified the "low-hanging fruit"—customer data areas that could be sourced (pertinent systems identified and data extracted) with a minimum of effort and brought into the related data warehouse quickly. These early returns were used to help build credibility for the project and secure ongoing funding from stakeholders.

As the project defines the areas of greatest impact for CRM, the recommendations will specify an action plan for near-term and long-term objectives. Early returns will be defined as a part of the near-term deliverables.

Selecting and Developing Component Sponsors

The action plan is broken up into component projects that deliver key CRM objectives. For each component, we identify a sponsor who provides support and resources for those objectives. These sponsors act as cosponsors to the project champion who drives the overall CRM effort. For example, CRM covers the business areas of sales, service, and marketing. Likely sponsors would be the vice presidents in charge of managing each of these business areas. One or two of their areas of control can become the place the CRM team sets up a laboratory for testing and proof of concept on the plan. As the laboratory setting produces results, they are propagated across the remaining business areas.

Launching Prototypes and Pilot Projects

Prototypes are built to demonstrate the look and feel of the application, allowing for rapid validation of project requirements. Checkpoints are established, every 60 to 90 days, to provide for ongoing corrections and prioritization of expenditures. Allowing the greatest flexibility, this approach also provides ongoing validation of requirements, easy incorporation of new requirements, which are surfaced through prototyping, and early delivery of predefined components of CRM functionality.

Defining Success Criteria

Because they are evolving in nature, it is important for CRM projects to acknowledge milestones achieved and project successes along the way. The project manager must help define clear criteria of project success, with measurable milestones and indicators of project achievements that can be used to:

  • Promote the goals of the project

  • Predict the course of related future projects

  • Identify where the project falls short and plan ways to recover

  • Ability to reference one source of customer information for all needs of a given business initiative, regardless of interdepartmental boundaries. (Define the business initiative, such as marketing's capability to track and predict performance of specific campaigns or promotions.)

All aspects of a given customer transaction can be conducted electronically. (Define the customer transaction, such as a customer requests service online at the company's Web site and receives service request confirmation through email within a specified time frame, whereas a service case is initiated automatically.)

One unified interface to all customer information and business intelligence needed to complete a particular information query. (For example, a telephone service company can calculate the number of customers in all states requesting DSL services without leaving the primary reporting interface. )

Organizing the CRM Project

CRM projects have a higher level of visibility because of their global intent. They can also be hard to predict because of their inherent complexity. It is important to harness the resulting chaos without demanding that it be controlled in standard ways. This implies iterative approaches and facilitating the project as a process of discovery.

Iterative approaches enable the team to test out assumptions through prototyping, and to apply the knowledge gained to the next phase of the project. Continually testing and proceeding allows for a constant balance of theory and proof.

Although CRM projects often deal with existing systems, they are often venturing into uncharted territory. Whether it's undocumented and little understood legacy systems or harnessing new technology for business advantage; they involve making discoveries along the way. The CRM project manager must expect to incorporate discoveries into the project plan, and must prepare project sponsors accordingly.


Handling Changes and Continuous Improvement

Change management, or configuration management, addresses the need for a controlled, defined process for managing change in the software development setting. In the case of vendor-provided software and services, it is critical to introduce a structured process for managing change so that you retain control of your applications.

Change requests may originate from several directions, or requestors:

  • CRM business owner (CEO, product manager, marketing…)

  • Customer feedback

  • CRM administrator

  • Tester

  • Vendor

Change requests must be organized and managed so that they are addressed according to their real priority and so that no request gets lost in the shuffle. To do that you might want to introduce a change log, a structured request form, and procedures for managing requests. The following steps serve as an example procedure for handling change requests:

  1. Receive change request and log into the change log (the status of the request would be set to: proposed)

  2. Classify the request type as one of the following:

    • update with no programming required (add, change, delete)

    • software change (cosmetic, functional, or bug fix)

    • new feature or enhancement

  3. If the request is an update, perform the following:

    • get signoff from authorized agent (business owner)

    • perform update and verify

    • close out the request in the change log (status: complete)

  4. If the request is a software change or new feature, the relevant party (noted in parentheses) will perform the following steps:

    1. Evaluate and assign priority to the request (business owner)

    2. Determine the scope, feasibility, and cost of the change (technical manager/architect and developer team)

    3. Approve change (business owner)—status: approved

    4. Add change to schedule and send approved change list to vendor team (assign the change to a release package)

    5. Return completed changed software (vendor team)

    6. Perform regression testing (test team)

    7. Close out change request—status: complete

    8. Publish updated site software (release the changed software package).

  5. It is recommended that the following information be logged for change management tracking and reporting:

    • Change log (one entry per change request)

    • Release #

    • Change request #

    • Requestor

    • Requestor type

    • Date initiated

    • Date completed

    • Status (proposed, approved, complete)

    • Priority (high, medium, low)

Selecting a Project Approach

CRM projects are quite different from traditional software development projects. The business requirements for software development projects are usually well understood and finite in nature. They are specific to the needs of a departmental tactical solution, and are managed with a clearly structured approach. Requirements for CRM projects, on the other hand, typically evolve as the project unfolds.

Software development delivers tactical solutions to defined problems, specified to solve departmental concerns. CRM delivers dynamic enterprise applications, with a focus on the strategic support of new business models.

Selecting a project approach is based on organizational factors as well as on technology factors. CRM projects often involve modifying or repurposing multiple application systems, for business goals defined and shared by several organizational units.

Three basic project approaches can be used successfully on CRM projects. They include

  • Unstructured

  • Structured

  • Pragmatic

Unstructured

The unstructured approach sets up an environment of constant learning. Mistakes by team members are welcome and are considered a necessary part of the learning process. They are part of how we learn, and are almost as valuable as no mistakes. Project advances in the unstructured approach will occur in an opportunistic fashion, with the team prepared to move quickly when opportunities arise.

This approach requires a high degree of political flexibility and organizational willingness. CRM teams must be allowed to operate outside the usual protocols, depending on the requirements of the individual project.

Structured

The structured approach makes the process explicit. It's for situations in which the process is predefined and planned in detail in advance. It's a better approach for technology projects in which the terrain is well known, and implementation solutions are built in mature technologies. In structured approaches, the required skill is in laying out the schedule and managing for success. Structured approaches add overhead to a project. You'll be spending time in steering committee meetings, selling and defending project goals and progress. Time will be spent preparing presentations, responding to queries, and explaining project progress.

The structured approach requires adequate time and top-down support. It emphasizes appearance, perception, and communication of project goals. Mistakes are not allowed in the structured environment because the learning is expected to take place ahead of time. Project steps are predefined based on the knowledge acquired, and project goals are about execution, not discovery.

Pragmatic

The pragmatic approach combines aspects of both the structured and unstructured approaches, and defines the required supports to be successful. It utilizes predefined time boxes, with flexibility within each time box, and the agility to reconfigure time boxes if needed. The pragmatic approach expects some learning and discovery to take place, but not so much as to derail the project. It acknowledges the value of learning through mistakes, as does the unstructured approach, but it mandates that mistakes are acceptable within defined and limited boundaries.

This pragmatic approach builds in mechanisms for making midcourse corrections. It requires the ongoing involvement of project sponsors because their direction helps keep the project on course and out of difficulties. The pragmatic approach requires the combination of the sponsorship of a champion who can help sell the project within the organization, and the reliance upon interested parties. Thus, it finds and invites the collaboration of natural allies in building organizational support for project goals.

Choosing the Best Approach

To choose the best approach, you need to think about what your organization can support, what its preferred styles are, and how flexible your particular project sponsor can be. Sometimes the personality of the project sponsor and/or stakeholders will dictate the tone of the project approach. Sometimes another factor, or set of factors, will determine the choice of approach. In either case, the approach will set the tone for the entire project and as such, should be selected with care. It is often an organization's first encounter with alternative methods, and can be a valuable introduction to them if handled with precision. Table 17.1 summarizes the three approaches for CRM projects.

Table 17.1. Three CRM Project Approaches

Approach

Description

Requires

Unstructured

Constant learning

Consistently strong sponsor at mid-level

Political flexibility and organizational willingness

Mistakes welcome

Structured

Predefined

Time and top-down support

Emphasis on appearance, perception, and communication of project goals

No mistakes allowed

Pragmatic

Predefined time-boxes with flexibility within them

Combination of sponsorship of a "champion" and reliance on interested parties

Willingness to make mid-course corrections

Ongoing involvement of sponsors

Careful mistakes

Project approach is selected based on organizational factors and technology factors.

Continuous Corrections

The point of using iterative approaches in CRM development is to provide a fluid process that can manage ongoing change. By maintaining a dynamic model, you can position your project to adapt quickly and adjust to new business requirements as they come up.

It's Always Just a Draft

It's always a challenge to determine when a software design model is complete. Actually, it's a trick question. A model is never complete, because the real world is constantly changing and updates are to be considered the norm—not an unusual thing.

So, our models of changing reality have to be changing as well, to reflect the latest information. In this way, any model you develop will be incomplete and you can think of it as a draft—a draft that is never fully completed.

Don't Stamp Draft on It

We understand that our model is dynamic and ever-changing, by definition. Therefore, we don't need to label it as a draft. Rather we need to educate and set expectations that modeling is fluid and dynamic models are always under development—subject to business and technical updates.

For example, in a project where the corporate culture tends toward monolithic, committee-driven decision-making, the tendency is to couch everything in terms of where you are in the committee's decision-making process. If something is not official, you publish it with caveats about how it's just a working draft and nobody should get excited about it.

But publishing a model as a draft contradicts our understanding of what a model is, so it should be avoided whenever possible.

Small Decisions Versus Great Big Ones

It is better to make a series of small decisions, with the ability to adjust at any time, rather than create monolithic decision-points that act as bottlenecks to getting anything done. When you cultivate an environment and expectation that we will continually adjust, change, and grow, people come to realize that small changes are easier than monumental ones, and can adapt a little at a time.

Being nimble and flexible requires paying attention to the small decisions, and keeps you from getting stuck on the big ones. Change then becomes an ongoing reality, which is accepted in small steps—eating the elephant in small bites rather than one great big one you choke on.

Convey Corrections

You're going to have to provide corrections, changes, and updates to the vendor software and services that you are using. The question is, what's the best way to do that?

Ideally, you can just talk things over and arrive at a mutual understanding of the necessary corrections. In very small projects, or on teams that have worked together for so long they can pretty much read each other's minds, this can truly be the most effective way to do it.

For everyone else, perhaps a little more is needed.

Think about what goes into a conversational solution, which typically goes something like this:

  • We identify that there is a problem

  • We acknowledge each other's feelings and try to soften the blow

  • We each take turns at articulating the problem

  • We each take turns at articulating the solution

  • We arrive at an agreement

  • We celebrate our solution and pat each other on the back

  • Everybody leaves happy, feels recognized, and knows their ideas were heard

Okay, maybe that's an idealized version, but it provides a skeleton of what we'd like to happen in any such transaction. That skeleton is an example of what we call a model. It is an abstraction of reality that enables us to focus on particular aspects of reality. In this case, we focused on the pattern and emotional content of transactions. We disregarded the medium, the actual people involved, and so on. In so doing, we are able to zero in on the aspects of the situation that we want to formalize, and suspend the rest. That is, exactly what you want to do in conveying corrections to a vendor.

Maintain a Model

As shown previously, a model can be as simple as a series of steps that are identified and formalized. It can also be depicted graphically, or numerically. The important point is that you maintain a formalized way of representing complex aspects of your project so that the people working on the project have a road map to the requirements and any changes that must occur.

Decide What's Enough

As mentioned previously, it's always just a draft. When the model you're developing seems to say what you want it to say, consider it done for now. You might want to run it by someone else on your team and see if it makes as much sense to them as it does to you. Another pair of eyes will usually help turn up issues that are not clear in your model, and you can slowly work toward more clarity.

Model Fluidity

The reason that CRM projects can benefit from the use of models is that models are more fluid than computer programs, and can be updated more easily. They originate in the design stage of a project, and give you a mechanism for recognizing design problems and identifying desired changes before the programs are actually written in computer language. Making changes at the early stages of a project rather than waiting until you see the actual system can take many hours off the development time required.

Model Corrections

Your model becomes a guide to the desired corrections. It documents the existing reality of your requirements and how they have been agreed upon between your team and the vendor. To change the agreement, go back to the model, make updates, and review them with the vendor just as you did the original requirements. Gain agreement on corrections and sign off a new version of the model.


The Validation and Verification Processes

When you receive software, files, or database updates from your service vendors, it is up to you to make sure what you receive conforms to expectations. To do this you'll need to set up your own processes for validation and verification to ensure the quality of service. The following sections provide a guide to quality, testing, and test planning procedures.

Quality, Testing, and Test Planning

Testing and Quality measures help to optimize the utilization of resources. It is essential to define quality in customer or user's terms. When an evolutionary development approach is used, functionality and design might change with each iteration of the prototype. Paralleling the evolutionary development activity is the iterative process of test design.

Test design begins during requirements definition with the definition of test scenarios for each requirement. Test scenarios, iteratively defined and updated during application prototyping activities, are an excellent starting point for defining the testing process.

Categories of Testing

To define a comprehensive plan for testing all aspects of the business system under consideration, it is beneficial to include several independent dimensions of system performance. The following dimensions must be spelled out and tested:

  • Functional Requirements— getting the job done.

  • User Interface— desired look and feel.

  • Integration— seamless interplay between components.

  • Stress— traffic volume, database, and application server performance.

  • Regression— changing the changes.

  • Acceptance— applying business scenarios.

  • Ongoing performance testing— continuing tuning of system performance.

  • Functional Requirements— getting the job done.

    Functional requirement testing verifies that software delivers the capabilities it was designed to accomplish. Workflow control is evaluated. Links are verified and tested. Tests are developed to ensure that scripts, stored procedures, and triggers are all working as expected to deliver the features of the Web or program interface.

    Delivery of data on request via search engines is checked. Database content—both valid and invalid data conditions—should be simulated and tested.

  • User Interface— desired look and feel.

    User Interface testing addresses the need for a visual check on the presentation of the product features and functionality and associated update forms. Several categories of UI testing must be addressed:

    • Appearance includes the look and feel attributes of the system from color selection to sizing and correct usage of graphical elements.

    • Navigation conventions and visual structure of information are tested for usability. Is there a consistent visual identity on all views of the system? Can the user recognize system location on any screen and is it possible to navigate comfortably?

  • Integration— seamless interplay between components.

    Integration testing verifies that the links between system components are working together as expected. Perform validation on data conversions and transformations between input and update mechanisms such as

    • data entry

    • conversion programs

    • update forms

    • output formats such as

      1. online search results

      2. form update returns and generated files or table entries

      3. billing and accounting reports and files

    Throughput and its optimization are tested, with emphasis on identifying bottlenecks, serialization, and scalability issues.

  • Stress— traffic volume, database and application server performance, delivery.

    Stress testing determines the number of hits or user sessions a system can handle in a given time frame. Traffic volume is simulated and load testing done to determine breaking points and scalability issues. Design of architecture (database server, Web server, application server) usage is tested for performance constraints and data delivery parameters. Bandwidth requirements can be tested and identified for scenarios involving a mix of low-end (14.4), mid-range (28.8 to 56K), and high-end (ISDN, cable modem, and ADSL) user access.

  • Regression— changing the changes.

    Regression testing makes sure that changes to computer programs don't have unintended consequences. Testers normally develop a set of test cases that must be rerun against new versions of software to make sure that all the old capabilities still work as specified.

  • Acceptance— applying business scenarios.

    Acceptance testing is the business owner's opportunity to evaluate what the users of the system will encounter in business interactions with the site. Predetermined scenarios will help the owner test situations that software must accommodate. This is the time for a new set of eyes and hands to try to break the system in every conceivable way.

  • Ongoing performance testing— continuing tuning of system performance.

    Performance testing involves ongoing rechecks of critical measures of system performance, such as response time, load times for data, run times for programs, and load balancing for networks. Links and bridges between system components require special attention in the testing process. Throughout the project lifetime, data, software, and equipment should be monitored and performance verified for requirements compliance.

This plan for testing all aspects of the business system assumes that program/unit testing is performed as a significant part of the software development process, and unit testing is therefore not addressed in this plan.

Recommended Approach

To establish a useful testing program, an iterative approach is recommended with the following rules:

  • Each iteration introduces additional tests taken from the seven dimensions or categories, depending on the requirements exercised in that iteration of the application prototype.

  • Some test cases will be developer-conducted, whereas others can be obtained either in collaboration with customer-oriented partners (sales, service, and marketing personnel) or by other team members at the business owner's request. It is important not to limit the testing process to developer(s), but rather select a combination of developer and external testers for a given iteration.

  • External testing resources should be utilized to capitalize on the knowledge residing outside of the enterprise.

  • Both online Web access and process automation systems need to be tested.

  • In the beginning of each iteration the scope of the iteration and target audiences for the testing within the scope will be revisited to introduce the most effective and most needed addition to the plan.

The following is a sample from which test scenarios may be used:

Test Scenario Form

ID # 999

Please fill in the fields below for each test scenario executed.

Test Scenario (one or several per task, requirement or goal, as required to cover the situation)

Iteration #:_______

Test Scenario ID#:________

Date created/last revised: __mm/dd/yy__

Test Scenario Name: _____________________________________

Component Tested (page, search, database server, and so on.):_____________________________________________________

Dimension Tested (1-7 from previous definitions):______

Tester name: ____________________________________________

Scenario Description:

__________________________________________________________

__________________________________________________________

___________________________________

Information required (values, inputs, combinations):

__________________________________________________________

___________________________________

Sequence or special instructions:

__________________________________________________________

___________________________________

Expected results/outputs:

__________________________________________________________

___________________________________

Actual test results:______________________________________

__________________________________________________________

_________________________

One or more test scenarios will be developed for each business requirement, goal, or testing task from the project schedule, depending on the scope and needs of the iteration. The dimension(s) covered by the scenario also vary according to the scope and purpose of the iteration. Test scenarios are developed to provide testers with specific instructions for exercising the scenario, logging results, and adding to the set of test cases maintained for regression testing.

Problems will be reported to the developer(s) for resolution, correction, and retesting.

Test scenario results will be logged with dates and reference numbers for tracking, and reported to business owner for final signoff approval. Failed tests will be tracked, issues assigned, and problem resolution documented.

It is recommended that the following information be logged for test results tracking and reporting:

  • Test Results log (one entry per scenario)

  • Iteration #

  • Test Scenario ID#

  • Date tested

  • Test Scenario Name

  • Dimension Tested

  • Status (open/closed)

  • Test results

  • Issues

  • Action items

Identified Testing for Release I

For your first release of the service or product, it is useful to determine what Release I, Iteration 1 will address. The following bullets provide an example for a CRM application:

  • Verify user home pages and page contents

  • Validate customer data received from vendor or sending applications

  • Test customer database search results

  • Refine Web page look and feel

Testing for the first iteration prototype often focuses on the two dimensions of Functional Requirements and User Interface. Subsequent iterations address other dimensions and remaining system requirements as they are implemented.

Release I, Iteration 2 could address the following

  • Customer Database (User Interface, Functional Requirements)

  • User Registration System (User Interface, Functional Requirements)

Release I, Iteration 3 could address the following

  • Data entry system for company database (User Interface, Functional Requirements)

  • Walk-through of user setup and administrator scenarios for all pages and databases (Integration, Acceptance)

Release I, Iteration 4 will address the following

  • Production System performance (Stress)

  • Regression testing for Production System (reapply selected test cases in production environment)

  • Performance tuning for database access

The four iterations of this previous testing provides thorough coverage of all dimensions of test cases for Release 1. The testing scenarios developed during this process should be maintained and updated with additional information gathered during testing, to provide a basis for testing future releases of the software.


Use Case Corner

At a major national bank, the marketing role is changing from supporter of research and sales to defining market strategy. Traditional IS support is marginal and completely inadequate. The situation is complicated by multiple mergers and acquisitions, with no common data warehouse for all systems.

A project was initiated with a goal of shortening the update cycle on CIF/product data received from outside vendors, from the existing quarterly update to a monthly update cycle. The problem identified was that it took longer to receive, validate, and load an update of customer information from the vendor than the time period the system was targeting. In other words, the targeted time frame was a monthly update, but it took longer than a month to get an update in from the vendor validated and loaded to the receiving database. Hence, there was no way to move from a quarterly update to a monthly update.

Solving this problem involved executing the following steps:

  1. Create a model of the update process.

    In this step, the team documented all the steps required to create an update file, including activities carried out by the vendor through the actual delivery of data and its verification and loading at the end of the process. A team of investigators visited the vendor site to interview all the team members involved in the process of creating files and preparing them for delivery to the bank. Discussions about how this was done allowed the team to understand the timing of critical steps and where time was spent at every step of the way.

    The same team of investigators also studied the delivery mechanisms and talked to bank employees about how the update files were received and loaded to the system. These steps were also documented and timing considerations noted.

  2. Identify variances.

    Next, the team looks at the overall process document to identify places where the standard steps are not followed, and to understand why these variances are happening. They also identify steps which are performed differently under different circumstances and why.

  3. Identify solutions: places to streamline the process.

    Now the team is able to locate stages of the process which can be streamlined, either by correcting variances or by reorganizing steps for greater efficiency. By looking at the total process rather than just a fragment owned by a particular group, efficiencies of scale can be applied.

  4. Set up test procedures.

    Finally, test procedures must be identified and put in place to verify that the streamlining changes are applied correctly and that they yield the expected results.

By following these steps, the team was able to shorten the delivery time for updates of customer information to less than a month. One source of Product and Customer data is available on time, updated monthly, consolidating 60 branches nationwide—easily accessible to all. Marketing is no longer making pricing decisions in the $15-$20 million range without credible estimates of revenue impacts and customer price sensitivity. This is rapid deployment of data and processing while cutting costs through streamlining and consolidation. General Bank estimated savings of up to $2.3 million each year in profit not lost through customer attrition because of pricing and product dissatisfaction.


Summary

The selection and purchase of vendor software and services are just the beginning of your relationship with all the involved parties. For any software project to be successful, you need to pay attention to how you conduct the installation and ongoing maintenance, within your own environment and in the relationship between your shop and the vendor's. Adopting the key tools, techniques, and methods recommended in this chapter will go a long way toward making the your software implementation an ongoing success rather than a never-ending nightmare.


Chapter 18. Understanding the CRM Marketplace

In this chapter

Market Dynamics

Microsoft's Reseller Partner Channel

Three Aspects of Corporate CRM

Data Warehousing

Other Services Related to CRM

Solutions of the Small and Mid-Sized Business

Use Case Corner

Summary

The CRM marketplace comprises all the products and services focusing on sales, service, and marketing applications. Various competitors and alternative product vendors offer support for the related aspects of CRM. The SME can find products delivering these aspects through a number of different avenues.


Market Dynamics

When companies within an industry encounter similar problems they engage in a search for answers, sometimes collectively and sometimes individually. As an idea for a solution emerges, resources begin to group around it. Industry leaders recognize it as a good solution and they begin to talk about it, the industry press picks it up as a story, and vendors begin to target the market that emerges. Figure 18.1 shows the cycle of innovation that ensues.

Figure 18.1. Innovation within an industry occurs around three key resources.

Any of the three key resources (industry leaders, industry press, and vendors) can initiate the cycle and can contribute to the solutions identified. Innovation is an ongoing process that peaks at times of greatest need and when the industry achieves new discoveries that are then incorporated into all the surviving participants. For instance, the cable TV and telecommunications industries are now racing to incorporate advanced technology to provide increased consumer bandwidth and the services it promises, such as video-on-demand and interactive applications for the retail consumer.

The CRM Market

The CRM marketplace has grown out of the synergy of several markets over the years. Direct mail, customer database services (Marketing Consumer Information File or MCIF), contact management, and sales force automation are some of the precursors of today's CRM software market. Meanwhile, the industry at large has seen the convergence of the Internet as a business channel, the development of business intelligence tools in the data warehousing market space, and the business practice of reengineering. CRM is at the apex of these converging technologies, along with the related arenas of ERP and SCM.

For example, in banking, customer information is often delivered through the MCIF or marketing customer information file. Banks produce extracts from their customer master files, and any other files that contained related data on accounts, such as transaction and financial information files, and ship these files to the MCIF provider. The data then undergoes scrubbing and cleansing routines to homogenize the information and is enhanced with selected external information, such as the NCOA (National change of address) database, and geo-coding or demographic data.

With the prevalence of merger and acquisition activity in banking, one bank sends out more than 100 extract files to be cleaned up and merged into a comprehensive customer information database. The data is delivered via tapes or transmissions, and then loaded into a vendor-provided system providing a front-end with reporting and analytical capabilities.

CRM Competitors

Most CRM competitors field solutions for verticals—applications designed for companies in a specific segment of a market. For example, Siebel targets the financial services industry with its sales force automation program. Microsoft CRM however, will be sold across vertical channels.

Industry experts predict that Microsoft CRM will change the face of the CRM industry in the following ways:

  • Enlarging the market in the small business space

  • Forcing CRM mid-market players to adopt a focus on vertical niches or to stay with national markets to remain viable

  • Becoming an everyday, commodity desktop feature such as email, spreadsheets, word processing, and PowerPoint

Microsoft's competitors providing CRM software include the following:

  • Saleslogix (http://www.saleslogix.com/home/default.php3)— The CRM division of Best Software has roots that go back more than 15 years. One of five U.S. divisions under Best Software, the CRM Division is comprised of two award-winning product lines, ACT! and SalesLogix. Both products are focused on the sales business process.

  • Frontrange (http://www.frontrange.com/)— The new FrontRange offering, which combines core CRM functionality plus unique features for vertical markets, is developed specifically for midsize companies. The contact-management function for each module, for example, is modified according to industry preference, such as projects and quotes for manufacturers and clients and portfolios for financial services.

  • Oncontact Software (http://www.oncontact.com/index.asp)— Oncontact develops customer-relationship management (CRM) systems for mid-market companies.

  • Salesforce.com (http://salesforce.com/us/)— With strong support for tracking contacts, leads, and customer inquiries, salesforce.com ($50 per user per month) offers functional online customer management and meets the needs of small businesses, with a capable set of features at an attractive price.

  • Epicor (http://www.epicor.com/solutions/crm.asp)— Offers award-winning customer relationship management (CRM) solutions that enable you to have full visibility of your customer relationship so that you can provide improved levels of service to your most important asset.

  • UpShot (http://www.upshot.com/index.html)— Sales-focused CRM, UpShot provides Web-based CRM focused entirely on increasing sales. This solution promotes closer coordination of sales and marketing activities, helping sales organizations close deals faster and more predictably, and helping marketing organizations produce a better return on their investments, resulting in more and better leads.

  • Applix (http://www.applix.com/index.asp)— Applix iCRM is a suite of collaborative CRM and analytics solutions that optimizes Web-based marketing, sales, customer service, partner management, quality assurance, and help desks. Enterprises improve their customer acquisition, satisfaction, and loyalty with this highly adaptable, integrated suite of CRM solutions.

  • Firepond (http://www.brightware.com/)— Firepond offers products and services that are tailored to the specific requirements of companies in select industries, including manufacturing, insurance, financial services, telecommunications, transportation, and high technology.

  • Pivotal (http://www.pivotal.com/pivotal.asp)— Pivotal provides software, services, and support required to produce significant improvements in marketing, sales, and service effectiveness for mid-level enterprises. Specializes in easily customizable software for flexible implementations.

  • Siebel (http://www.siebel.com)— Siebel's product line for CRM marketing targets large enterprises, but also comes in a midmarket version. Pricing starts at $1,350 per named user, with additional modules starting at $100 per named user. The product suite includes Siebel Marketing, Siebel eMarketing, Siebel eEvents, and Siebel Marketing Analytics. Siebel also offers vertical industry applications in the areas of finance, insurance/healthcare, communications, energy, consumer sector, life sciences, public sector, automotive, travel, and transportation.

  • Onyx (http://www.onyx.com)— Onyx Enterprise CRM version 4.0 provides a Web-based CRM solution built on a leading-edge Microsoft technology-focused platform. Onyx is one of the leading vendors for the small and midsize business market.


Microsoft's Reseller Partner Channel

Microsoft is now putting a new channel management team in place, financial incentives to stimulate partner satisfaction, and strong mechanisms to protect partner interests as the company continues its transition to the .NET Web services platform.

The firm is using partner conferences to unveil $500 million in channel programs, including the hiring of hundreds of additional partner account managers, as well as financial incentives to motivate employees to bring partners into small to medium-sized enterprise (SME) and enterprise projects.

Microsoft's product development groups will tailor software to specific customers and the partners that serve them. One example of this is the Small Business Server .NET product, which incorporates features to help resellers deploy the software out of the box for SMEs.

Microsoft built CRM on the Microsoft .NET foundation to open opportunities for Internet service vendors and partners to extend their systems by using Web services. Microsoft CRM is the first Microsoft business application built on .NET that facilitates the easy connection of systems and enhances solutions with external Web services such as credit checking, analytics, and marketing automation services that extend the core functionality of Microsoft CRM.

According to Joe Outlaw, research director at Gartner Inc., "Gartner Dataquest estimates the respective penetration rates of CRM solutions by small business and medium-sized business are 2 percent to 3 percent and about 20 percent, respectively. These markets are at early stages of adoption with large opportunities for CRM vendors that approach the markets with the right products and messages. SMEs don't want large-enterprise solutions at discount prices or with minor modifications, such as a few features turned off. SMEs want products and services designed, priced and delivered from vendors that understand their needs and are committed to meeting them."

What all this means to the small businessperson using Microsoft CRM is better software delivered faster. Vendor competition for the opportunities in this market means that the quality and maturity of the CRM suites available to SMEs will continue to improve. Furthermore, the vendors who focus most closely on the needs and requirements of SMEs will be the most successful. Those who do not focus on core needs, will not survive economic downturns. A key factor in selecting CRM software will be the viability of the vendor in the marketplace. Microsoft's unquestionable strength gives Microsoft CRM a clear advantage in this regard.


Three Aspects of Corporate CRM

Corporate CRM incorporates three specific functions: Data warehousing, reporting, and analytic applications. It also tackles the acquisition and maintenance of customer information, including contacts, behavior, name and address, relationship, and activities.


Data Warehousing

The typical Information technology organization supports an environment that was built over time, with computer applications that were designed to support the day-to-day operation of the company's primary business. There are separate applications (or computer systems) for several categories of use. Some are centralized systems, used for back office functions such as financial, payroll, and general ledger updates. Others run in localized environments, such as those for field office, personnel, and sales and marketing initiatives. Still others are run in multiples—every branch running it's own version. Order processing and customer information storage systems might fall into the category of multiples.

Often these different applications are built on differing platforms by many separate development teams, without a "city plan" or architecture for fitting them all together. Each department just does their own thing, without worrying about what other departments are doing.

To complicate matters further, over time companies see a proliferation of needs for reporting extracts from various quarters, such as

  • Special Projects

  • Process Reengineering Initiatives

  • Pricing and Profitability Studies

  • Marketing Campaigns

  • Financial and Regulatory Compliance Needs

  • Auditing Concerns

What ensues is an increasing competition for resources, including

  • Information

  • Knowledgeable Technical and Subject Matter Experts

  • Processing Time (Mips)

A decreasing window of opportunity for accessing those resources accompanies this increasing competition for resources. Time in the overnight processing cycle is in demand particularly in batch updated systems. Often, no more than a two hour window of opportunity for extracts exists. In a real-time environment or what's referred to as 7 by 24, the problem gets worse.

To avoid degrading the processing of day-to-day operations in a business, you must remove the information access from the critical path of Information Processing. Thus, the practice of making "Shadow Copies" of data repositories was born, and termed Data Warehousing. Typically, these copies are taken daily, weekly, or monthly, and in some instances much more frequently.

The Data Warehousing industry has grown up around the real business need to create a Corporate Information Architecture—a city plan that is—to support informational processing for management decision support and integrated analysis. The organization and integration of data into this architecture as well as the creation of data access mechanisms, are the goals of many a data warehousing implementation project.

Customer-centric intelligence applications depend on the data warehouse for input. The data model required for customer-centric intelligence applications usually differs from the existing data warehouse schemas in the areas of customer information, customer behavior information, and information about your marketing sales and service initiatives.

Reporting

Customer reports are the usual mechanism for understanding your customers. Marketing, sales, and service business people usually have their favorite reports that they can easily navigate to get a clear picture of the area of customer information they are accustomed to handling.

As your company shifts to encompass the single customer view, with all business areas aligned to support that view, your reports also change to represent one unified view of the customer. Different reports with different approaches to customer information analysis may no longer work.

Analytic Applications

Analytic applications vary from simple reporting tools to complex online analytic processing systems (OLAP). Some products use data mining to extract and exploit customer information from existing files, building customer profiles that are used to predict customer behaviors.

For example, when a bank sees a customer make a large withdrawal, it might be a precursor to closing an account. Or when a credit-card company sees a client make a large payment against their balance, it might indicate that the customer is planning to close his account. In both instances, customer retention is considered much less costly than acquiring a new customer to replace the one you've lost.

Analytic applications flag behaviors such as these indicators, providing the information so that customer service areas can be proactive in offering incentives to these customers to stay and keep their accounts active.

Customer Information

Customer information is gathered from all interactions with the customer, including the following types of data:

  • Contacts— sales and service activities generally introduce information about contact people, numbers, contact instances, and outcomes of various customer contacts, such as sales calls.

  • Behavior— as described previously, certain actions that customers take are captured as customer behavior indicators.

  • Name and address— information can vary from primary contact information, to household and alternative addresses, all which must be maintained for moves and changes of all kinds.

  • Relationship— captures the relationships between customers, including family and household relationships on the retail consumer side, and business relationships in the area of commercial accounts.

  • Activities— transaction detail such as payments, billing, and past dues, and other activities such as sales and service contacts.


Other Services Related to CRM

In the following section you will find definitions of many of the services that are related, whether directly or indirectly, to CRM.

eCommerce

eCommerce is the electronic exchange of data for the purposes of conducting business. It involves the use of the Internet to facilitate the actual sales of goods and services.

Sites offering eCommerce services to SMEs include the following:

Microsoft bCentral

http://www.bcentral.com/products/cm/default.asp

This Small Business Solutions site from Microsoft offers eCommerce solutions software, which allow you to put your product catalog online, accept payment through a link to PayPal Merchant Services, and run some basic reports of sales orders per buyer and sales histories.

PayPal

http://www.paypal.com

PayPal offers a free set up of services for your Web site, which enables you to accept secure payments from anyone with a credit card or checking account. The service charges transaction fees for the processing, and has a global presence, handling multiple currencies and offering integration to your small business Web site.

Oracle Small Business Suite

http://www.netledger.com/portal/products_1.jsp?product=osbs

For a more extensive solution, see the Oracle Small Business Suite of tools. This product suite was awarded the PC Magazine Editor's Choice award in 2002. Oracle's order processing functionality enables you to accept credit-card payments and also offers more sophisticated ordering features, such as automatically applying special and promotional pricing, customer invoicing and estimates, and more complex billing scenarios.

Campaign Management

Campaign management enables you to plan and manage every aspect of your marketing campaigns from your desktop. This type of marketing automation enables you to

  • Measure the return on each campaign, learn from the results, and improve the next one.

  • Target your communications at either individuals or households, and apply intelligent rules to identify the right person in each household to receive your offer.

  • Schedule key campaign activities and automatically initiate regular communications at the frequency of your choice.

  • Coordinate and optimize inbound and outbound communications over multiple channels including traditional and digital media.

  • Build predictive models and combine them with other database criteria for more accurate results.

  • Automatically update models for any changes to customer records, ensuring that predicted outcomes always reflect the latest information.

  • Run all your analysis, predictive modeling, and customer communication activity from a single environment.

Sites dedicated to this kind of marketing automation include the following:

YellowBrick Solutions

http://www.yellowbricksolutions.com/

YellowBrick's Campaign Studio is a product that supports campaign management activities such as customer segmentation, defining campaign steps, and selecting communications channels. The company also offers consulting services to help you get the most out of your marketing campaigns.

Overture Software

http://www.overturesoftware.com/index.html

Offering a more high-end solution, targeted to the mid-size market, Overture Software's integrated solution starts at $4,000 a quarter. The company's founders were all senior marketing, sales, and development managers in Silicon Valley, who got together and designed a product they themselves would want to use.

Pop Art

http://www.popart.com/solutions/campaign-management.html

Pop Art, a Portland, Oregon based company provides both campaign management and e-commerce services to clients including nonprofit organizations, emerging business, major regional enterprises, and Fortune 500 companies. Their products support campaign tracking, ROI measurement on marketing investments, and site traffic analysis.

Helping Customers Help Themselves

Customer self-service portals enable customers to help themselves through the use of knowledge-based articles, FAQs, and other customer-friendly approaches.

Of course, Microsoft plans to add customer portal services to the Microsoft CRM product set in a future release, but in the meantime, you might check out the following resources:

Onyx

http://www.onyx.com/products/ocp.asp

Onyx Customer Portal 4.0 and Onyx Partner Portal 4.0 are two of the three integrated portal solutions offered as part of Onyx Enterprise CRM. Version 4.0 of the Onyx Customer Portal offers more direct customer interactions. New features are aimed at increasing marketing effectiveness and online service efficiency.

Oracle's Collaboration Suite and Portal

This is the same as the preceding listing under eCommerce.

http://www.netledger.com/portal/products_1.jsp?product=osbs

Oracle includes a Web site offering with forms, a store, and the online Customer Center. It also provides a powerful sales and service tool, where your prospects or customers can log in to a secure area and easily get information about their accounts such as order history, order status, and payment history, make payments online, and submit questions or cases to Customer Support, and check case status.

Web Content Management ASP Vendors

Web Content Management ASP vendors are an interesting subcategory of portal services. These vendors combine workflow, rights management, and high-end management capabilities for a sophisticated Web portal solution. Some examples include the following:

CrownPeak

http://www.crownpeak.com/

Web content management offered as an online service.

Atomz

http://www.atomz.com

Focuses on content management, search capabilities, and promotional support.

Clickability

http://www.clickability.com

This product specializes in publishing, making your Web site more interactive, and improving navigation.

Customer Contact

Customer contact software helps small and mid-sized businesses reach their visitors and customers easily and affordably with targeted, relevant email communications based on their interests.

Customer Care International's Xtend Commerce

http://www.customercareintl.com/index.html

Helps the small or medium-sized business enhance or replace traditional marketing methods by increasing their visibility via the Internet, reaching more people, providing new channels for sales, and reducing overall traditional marketing costs. Provides an advanced integration link to GoldMine, which is a real-time interactive link between Xtend Commerce and GoldMine Sales and Marketing.

Siemens' HiPath ProCenter Office

http://www.siemensenterprise.com/

Enables the small to mid-sized business to seamlessly add email and fax-handling capability to traditional voice routing allowing SMEs to service their customers with the same flexibility as today's most sophisticated enterprise contact centers.

Field Service Automation

Many companies have some form of support systems for their field service force, but often these applications are developed for the desktop and not tailored to the mobile nature of field service operations. With a mobile extension to your enterprise systems information customer profiles, best practice handbooks, and site descriptions are right at the fingertips of the field service force.

Field service systems provide best practices leading to less ad hoc solutions and adding to the efficiency of your service operations. The increased service level and better information feedback gives your company a better understanding of the customer's needs enabling increased service revenue and sales.

Some examples of field-force automation products include the following:

IBM Start Now Wireless Solutions for Small and Medium Business

http://www-1.ibm.com/industries/wireless/doc/jsp/solution/index.jsp

IBM's field force automation solution focuses on wirelessly connecting mobile employees through wireless products. The Web site has a nice demo of a handheld device performing field force automation.

ServiceHub

http://www.servicehub.net/index.html

Web-based dispatch management service for small to medium-sized businesses. Through the ServiceHub subscription service, companies can easily link dispatchers with mobile workers through wireless devices.

Sales Force Automation

Sales Force Automation applications enable you to boost the profitability of your organization by increasing revenues and reducing operational costs. They can help you to

  • Forecast revenues accurately.

  • Track every lead.

  • Follow each deal through the pipeline.

  • Understand where bottlenecks occur—and why.

  • Stay on top of key sales metrics that determine your organization's success—such as sales pipeline, forecasting, and performance over competitors.

For sales force automation products, see the following:

salesforce.com Inc.

http://www.salesforce.com

One of the fastest growing CRM companies, salesforce.com combines low start-up cost, quick time to benefit, and a comprehensive feature set.

SalesLogix2000

www.saleslogix.com

A mid-tier solution, SalesLogix2000 is produced by the same company, Interact Commerce Corp., as Act!, which is the more low-end product. The two products have a similar look and feel, whereas SalesLogix2000 delivers a much more robust solution.


Solutions for the Small and Mid-Sized Business

Microsoft has rolled out a new Microsoft Gold Certified Partner Program for Hosting and Applications Services. ManagedOps.com, Inc. (www.managedops.com), Qwest Communications International, Inc. (www.qwest.com), and Usinternetworking, Inc. (www.usi.net) are qualified managed ASP partners under the program. To gain Gold status, each ASP passed Microsoft scrutiny of technology, service quality, operational readiness, and operational best practices involving weeklong, onsite assessments and more than 200 hours of Microsoft consulting. Approximately 20 more ASPs have entered the certification pipeline worldwide, the company says.

"Microsoft Gold" hosting and applications services certifications are intended to accelerate new application activations and build trust among ISV and integrator channel partners and their customers.

The application hosting certification is considered the most difficult, covering the whole ecosystem—not just technology certification, but partners' ability to roll out and support new services, down to the systems for sharing information with channel solution providers and whether the partner's human resources can assure scalability.


Use Case Corner

One Web-based business offering services to political candidates utilized an array of CRM-related services to build a sophisticated online shop.

The Web site combined eCommerce for online sales and fundraising contributions, customer contact for building site loyalty, and a series of Web and telephony services.

TIP

Telephony is a term from the telecommunications industry that describes services delivering features such as chat and discussion, teleconferencing, outbound dialing, and voice recognition technology.


Summary

For the small to mid-sized business user seeking to round out CRM's functions, a variety of vendor solutions exist. You can take the "best of breed" approach to product selection, choosing the best product for the job at hand, and integrate these applications for a well-rounded suite of CRM-related tools. While in today's software world, the integration of these separate products is a challenge, part of the Web services vision is to have products built on the same general standards that can be more easily integrated. The more your product selections are based on standard technologies (.NET, XML Services, and SOAP) the closer you'll come to the integration ideal.


Chapter 19. Accessing the CRM Online Community

In this chapter

Online Communities

CRM Communities Benefits

Translating from Corporate CRM to Microsoft CRM for the SME

Categories of Sites

Sites by Category

Summary

Because CRM practitioners understand the value of relationships CRM is successful at utilizing the Internet's capabilities to support community. After all, it's their business! As a result there is already a robust and active online user community for CRM.

An online community shares many of the same objectives as one operating offline, including providing a forum for interaction and collaboration, bringing people together, building synergy, and helping community members spark each others' ideas and creativity.

Online communities provide a place for sales, marketing, and service people to keep up-to-date with CRM developments, as well as to meet, discuss, and contact each other about CRM-related issues. They also act as a focal point for research, management advice, and news of commercial developments in CRM.

Although many of the online CRM communities focus primarily on corporate CRM for large organizations, there are many synergies between large and small companies and much of the information applies equally well to small companies. At the least, finding a few online CRM communities with which you keep current can help broaden your perspective on what CRM is and how it can work for your company.

This chapter explores how to tap into the online community to get ideas and help with your CRM questions.


Online Communities

Online communities are usually organized around a Web site, facilitating interaction through discussion or chat boards, email mailing list, or Usenet newsgroups. They also often contain aggregates of information, resources, Web links, and library materials covering the subject matter on which the site focuses. Some sites also provide database listings for vendors, publications, and resources for CRM services and information.

To effectively participate in online communities, you need to understand what's expected, how to interact, and what is frowned upon.

Site Rules and Regulations

Most online communities have moderators and/or list managers who administer the technical aspects of participant interactions. When you join a community, the moderator usually provides rules for participation, either on the Web site, or by sending an email.

Remember that the only way people know you online is through your written words. They can't see or hear you, so the usual cues of body language and tone are absent. In most online communities the only thing that participants know about one another is what they read in community messages. So it helps to think about what kind of personality you want to present through your words.

Practice Safe Interactions

The Internet can seem like a private and harmless place because our interactions over the Internet tend to occur in the safety of our homes and places of business. But it's actually a very public place, which people from all walks of life and all corners of the globe can access.

Don't assume that because you're honest and have good intentions everyone you come into contact with online is the same way.

Anonymity Is Not Automatic

Just because it feels anonymous doesn't mean it is. You can't assume that no one knows who you are, or even where you live. Based on your email address alone, it's not hard for someone to find out your name, address, and phone number. If you want, you can participate in a mailing list without using your regular address, by getting a Hotmail or Excite Mail account and send your messages from there. Web-based message boards don't usually gather much information about you, but be careful about the data you supply when you register (for sites that require registration).

Messages Have a Way of Migrating

When you write an email for one intended audience, don't assume that it won't be passed on to other, unexpected ones. The Internet makes it easy to pass information around, and you should write with the assumption that what you submit could eventually be seen by your boss, your spouse, or community leaders. Many mailing lists maintain archives where your words could last for a very long time, and many sites have you agree to allow the publication of your words (at their discretion) during the sign-up process.

Don't Believe Everything You Hear

Some people are honest in their interactions over the Internet, some are selectively so, and others are habitually dishonest when online. The safest course of action is not to take claims at face value. Whether the writer is claiming to be an attractive blonde 21-year-old female (read balding, lonely 52-year-old man), or a senior manager in some large corporation (maybe he's a junior staffer with little or no authority whatsoever).

Don't Give Away Personal Information

It can be easy to give away more than you should when dealing with others online. The rule of thumb is to operate on a "need to know" basis, not giving any more information than is needed for a particular transaction. Always know the person you're giving any information to, and always question the source of emails that specifically request personal information.

If anyone asks for your password, whether by email, phone, or other means, don't reply and don't provide it.

Report Problems

If you receive threatening, inappropriate, or scary emails, the first thing to do is report them to the community administrator. You can also report problem emails to the ISP of the sender if you know his email address. (Be aware that many spam emails have their addresses masked and look as though they're coming from someone else's address—possibly even yours. You might not be able to determine the sender's address, but you can still forward the email to the address postmaster@domain or abuse@domain with the same domain as the sending email address).


CRM Communities Benefits

Some online CRM communities cater to different vertical industries, as well as to CRM across industries. You can participate in any of these, and you can also expect some Microsoft CRM-specific sites to be cropping up before long. But don't restrict yourself to only the Microsoft CRM sites because there's a lot of good experience with the business of CRM already out there and available. Some of the benefits you can expect to gain include the following:

  • Peer support

  • Replies to questions

  • Information exchange

  • Read other's questions and answers

  • Resources for further research

  • Vendor and consulting sources

  • Links to other publications

  • Work, partnering, and collaboration opportunities

Peer Support

Online communities provide access to your peers through a means that is both convenient and easy to access. You can network to develop relationships for mutual support as well as for business opportunities. It's a great way to take the pulse of your counterparts in other companies, and field ideas as they come up. You can seek advice from people working in the trenches in CRM, and offer your own experiences in return.

Replies to Questions

When you come across a problem in your CRM implementation, the CRM community can be a place to field questions and look for expert replies. It's wise to check the credentials of those you accept advice from, but after you do, an online community can keep you in touch with the day-to-day experiences of those further down the path than you.

Information Exchange

Online communities provide a mechanism for all parties involved in CRM projects to exchange relevant information. Articles, whitepapers, and bulletin boards provide a wide range of options for communicating both your successes and the problems you've encountered.

Read Other's Questions and Answers

When you ask a question and get the answer, that's great. But when you participate in online forums, you get answers to a lot of questions that you didn't even have to think of. It's a great opportunity to piggyback on the experiences of others and shorten your implementation times by learning from industry peers.

Resources for Further Research

Another benefit you'll find in the CRM forums is lots of information, links, and leads to further resources for any topic you might be interested in. If you want to take your research to the next level, online communities give you plenty of opportunities to follow up with ongoing research.

Vendor and Consulting Sources

A wide range of services are available online for many of your marketing automation needs. Online communities help you tap into these resources, providing lists as well as reviews on industry experts, vendors, and service providers.

Links to Other Publications

Many online community sites provide extensive links to other useful industry sites and resources. The network of CRM resources points to both online and offline resources you can contact and employ.

Work, Partnering, and Collaboration Opportunities

If you're looking for employment, partner opportunities, or companies you can partner with, online communities can provide many useful leads. Some sites specialize in one or another of these objectives, so look around until you find the site that delivers exactly what you're looking for.


Translating from Corporate CRM to Microsoft CRM for the SME

By getting connected with the online CRM community, you can benefit from the 10-plus years of accumulated experience that has been developed in the industry.

What to Look For

The following guidelines provide a roadmap to make the most of this resource:

  • Look for best practices— Some of the most useful and informative offerings in the online CRM community are online case studies and descriptions of CRM experiences from which you can extract best practices. These practices can be applied to businesses of any size with a little thought and creativity.

  • Use the literature— More literature about CRM exists online than you could ever possibly read through. Use this treasure of information to provide a basis for your efforts.

  • Understand the concepts and principles of CRM— These are the same whether you're applying them to big businesses or small- to mid-size entities. If you visit the online CRM resource and gain an understanding of the concepts and principles of CRM, you'll be ahead of your competition just by virtue of exposure to what's being done in the industry.

  • Adopt new business models and scale down for your size— when new business models appear in one vertical or one segment of the industry, it won't be long before they start to pop up in other areas. Monitoring the online community and making note of new models and practices that you can scale down or otherwise modify for your own use is a great way to keep pace with your industry.

A Word of Caution

Hopefully, this chapter has given you the enthusiasm to go out and make use of all the great resources that are available online, but perhaps a note of caution is in order as well. If you want to be welcomed on all the sites you visit, and not considered an intruder, consider the following guidelines for participating:

  • Lurk before you leap— Unless you're experienced in participating in a particular online community, it's usually a good idea to hang out at a site and lurk for awhile before you make your first post—just to be sure you're familiar with the protocols of the community.

  • Remember you might have different needs— Keep in mind that if you're a smaller company using CRM for the first time, you might have different needs than the typical participant in an online CRM community where most members are from larger enterprises. There's nothing wrong with being a newcomer and having different needs of course. In fact, savvy members of any community recognize that often it's the newer voices that bring a fresh perspective that helps the whole community. Just be sensitive to your impact in this regard.

  • Defer to the norms of the community— Just because you've been participating in one community that allows flames and encourages outlandish behavior, doesn't mean that every site is the same way. It's best to identify the norms of your new community and "when in Rome…"


Categories of Sites

The online CRM sites and newsgroups listed below have been categorized according to the majority of their content. Some might have overlapping purposes, and therefore, might appear in more than one category to make it easy to locate the information you're looking for.

Communities and Associations

This category encompasses sites and newsgroups that cater to communities of CRM professionals and professional associations. A rich source of experience, business models, and best practices is available for you to join. Some sites require paid membership, while most are free. Some require registration to access information such as articles and whitepapers.

News

The news category contains sites that track and keep you up-to-date on news and events in the CRM sector. It might include search directories and magazine sites that are focused primarily on reporting news and events in the industry.

Publications

Publication sites specialize in publishing for the CRM professional, including online articles and print magazines and publications. These sites are good for conducting research using articles, journals, and whitepapers on CRM topics.

Resources

The resource category lists vendors, consultants, service companies, and other resources for the CRM community. It includes sites that categorize and provide searchable databases of vendors providing services and products for CRM, as well as selected sites of vendors themselves.

Inspiration

The final category is sites that provide sales and marketing inspiration. Drawing on resources from marketing and sales disciplines, these sites provide the inspiration to find the next customer and implement the next marketing initiative.


Sites by Category

This section lists some sites to explore; they are organized by category. Some sites might appear in more than one category if they have content that crosses over. You'll find that visiting one of these sites leads naturally to visiting others, and you'll find that you develop your own list of favorites that you bookmark and return to.

Communities and Associations

Business associations and other existing communities form an important part of the online CRM community. Many of the sites listed below operate in both online and offline arenas.

Microsoft Public CRM Newsgroup
microsoft.public.crm newsgroup

Easily the most active online Microsoft CRM community, this news group is provided by Microsoft.

The Direct Marketing Association

http://www.the-dma.org/

The Direct Marketing Association (The DMA) is the oldest and largest trade association for users and suppliers in the direct, database, and interactive marketing fields.

The Association for Interactive Marketing (AIM)

http://www.interactivemarketing.org

This site is devoted to helping marketers leverage interactive opportunities across multiple channels to effectively reach their respective marketplaces. Headquartered in New York, AIM serves diverse corporate interests in an effort to build a strong interactive community, drive benchmarks, and best practices, advocate industry guidelines, and educate the direct and interactive marketing industries.

The Internet Alliance (IA)

http://www.internetalliance.org/

The Internet Alliance, based in Washington, D.C., is the leading consumer Internet industry association representing the industry at the state, federal, and international levels. Through public policy, advocacy, and consumer outreach, the IA is dedicated to building the confidence and trust necessary for the Internet to become the mass-market medium of the 21st century.

CRMCommunity

http://www.crmcommunity.com/default.htm

CRMCommunity is a community-oriented Web source for comprehensive, targeted information on evaluating, purchasing, and implementing customer-relationship management technology and solutions.

CRM-Forum

http://www.crm-forum.com/

CRM-Forum is an independent online resource center for CRM professionals working in the business-consumer marketplace. It provides CRM professionals and companies involved in CRM on both the demand and supply side of the industry with a place to keep up-to-date with CRM developments, and to meet, discuss, and contact each other about CRM-related issues.

Association for the Advancement of Relationship Marketing

http://www.aarm.org/

AARM is a not-for-profit association and promotes industry growth, development, and education through a network of CRM people, which provide a forum for members and offer educational and networking opportunities for those involved in specific CRM disciplines. AARM fulfills its educational role by providing conferences, seminars, workshops, executive briefings, networking sessions, and other CRM educational content.

Business Process Management Group

http://www.bpmg.org/

The Business Process Management Group is a global business club exchanging ideas and best practice in change management. It has over 2,000 members across all business sectors. Through case studies, seminars, and research it supports members by improving their organizations' work across business processes, information technology, and people.

CRM2day

http://www.crm2day.com/

CRM2day focuses on every business function—marketing, sales, human resources, technology, and so on. It also focuses on the business sector—finance, retail, health, insurance, IT, telecoms, Internet, call centers, and so on, in order to provide its members with information and knowledge that is indispensable in today's competitive business environment.

CRMguru.com

http://www.crmguru.com/

CRMGuru.com serves the world's largest CRM community with independent editorials, features, discussions, and products.

The CRMXchange

http://www.crmxchange.com/

The CRMXchange is your place on the Internet for an exchange of information on customer relationship management (CRM), sales, call center, and telemarketing issues.

The CRM Foundation

http://www.crmfoundation.com/index.html

The CRM Foundation is a nonprofit society in India. Its mission is to help organizations find the best tools for improving and assessing CRM practices, to create a common platform for users and suppliers of CRM Tools/Solutions, and to add value to CRM professionals by providing opportunity for networking, sharing and learning, and benchmark CRM practices.

The CRM Project

http://www.crmproject.com/

This project explores a bouquet of collaborative technologies that together comprise a total CRM solution. The best-of-breed vendors you'll find here describe their products in detail, and they explain how to work with those products. Top industry analysts offer reviews, advice, and their visions of the future.

The Customer Service Network

http://www.customernet.com/

This site provides access to a full program of site visits where you can see best practice in operation. You'll also be invited to a series of workshops, where key issues are discussed and problems shared. And, at their networking events, you'll have the opportunity to find out, directly from the people involved, what makes the best customer service organizations so good.

eCustomerServiceWorld.com

http://www.ecustomerserviceworld.com/

eCustomerServiceWorld.com is an online Customer Service Associate Membership organization and is the organizer of the European Conference on Customer Management—Europe's most prestigious and largest conference for Customer Service, CRM, Contact Center, and Customer Support professionals.

GreaterChinaCRM.org

http://www.greaterchinacrm.org

This site is a CRM portal focusing on Greater China—Mainland China, Hong Kong, and Taiwan. It covers all topics in the CRM arena, including contact center, sales force automation, enterprise marketing automation, personalization, eCRM, PRM, data mining, data warehousing, knowledge management, business intelligence, ERP, and supply-chain management.

Intelligent CRM

http://www.intelligentcrm.com/

Intelligent Enterprise communities focus on business software strategies that provide competitive advantage by improving business decision-making, enhancing business performance, and maximizing the lifetime value of customer relationships. This one is focused on CRM topics.

Marketing Competence

http://www.argo-navis.com/competence/index.php

This site is dedicated to Total Customer Management.

The Resource Center for Customer Service Professionals

http://www.the-resource-center.com/

One-stop shopping for call center and help desk education. The Resource Center carries books, reports, surveys, self-study training in all forms, association memberships, and training seminars produced by industry associations, consulting firms, and publishers.

Destination CRM

http://www.destinationcrm.com/

The goal at destinationCRM.com is to become the preferred Internet location for information, products, and services relevant to the CRM user marketplace. destinationCRM.com is dedicated to providing this pertinent information in a timely manner, thereby connecting decision makers and industry providers now and in the future.

CRM Assist

www.crmassist.com

The CRM ITToolbox site. ITtoolbox is a company that maintains knowledge bases for each major segment of the IT industry. Each knowledge base contains information sourced from the user community, licensed from leading content providers, and linked to on the World Wide Web.

TIP

To find a Microsoft CRM user group in your local area, check the Microsoft Event locator site for updates:

http://msevents.microsoft.com/isapi/events/usa/enu/default.asp?MSCOMTB=ICP_Events%20Home

News

Web sites included in this category focus on news and events in the CRM industry. They also provide search directories and magazine sites that are focused primarily on reporting news and events in the industry.

RealMarket Today

http://www.realmarket.com/index.html

A source for late-breaking news in CRM; RealMarket seeks to accelerate the acceptance of CRM solutions through education, awareness, and example. RealMarket research helps organizations tackling the customer relationship challenge by recognizing the interrelationship of CRM (unified sales, service, and marketing), the 21st century contact center, and e-business, while tackling the customer interaction challenge of managing data, channel, and process.

Search CRM

http://www.searchcrm.com

The CRM-specific search site. Combines news, white papers, and a search engine to bring you the latest CRM developments. Also provides discussion forums moderated by experts and category experts to answer your questions directly.

CRMConferences.com

http://www.crmconferences.com/

The Center for Business Intelligence (CBI) and World Research Group (WRG) has teamed to bring you industry-specific CRM events. Although the theory of CRM is applicable to most industries CBI and WRG recognize the value of industry-specific case studies and the benefit of networking with those who face similar challenges. CBI and WRG have put together a series of CRM events that focus on three specific industries: sports, insurance, and pharmaceuticals. If you provide CRM services or are involved in one of these three industries you will not want to miss the opportunity to attend these events.

Publications

These publications include both online and print magazines in the CRM sector. They can be useful for conducting research using articles, journals, and whitepapers on CRM topics.

e-CRM Magazine

http://www.destinationCRM.com

This site's features are designed to serve leaders engaged in the development of customer-centric, e-business initiatives and ventures at their companies.

Field Force Automation

http://www.destinationffa.com/info/contact_us.asp Field Force Automation magazine targets executives and managers charged with implementing mobile technologies into the business process of the enterprise. It provides business managers, IT implementers, and integrators with the ideas and specifics for integrating new technology into their company's field operations.

Customer Contact World Magazine

http://www.ccworldnet.com

Customer Contact World magazine is Asia's only CRM and business intelligence magazine. This is Asia's only bimonthly publication delivered to over 10,000 readers across the Asia Pacific.

Resources

This section includes vendors, consultants, service companies, and other resources for the CRM community. It includes sites that categorize and provide searchable databases of vendors providing services and products for CRM, as well as selected sites of vendors themselves.

Cross-reference

See Chapter 16, "Managing Your Service Vendors," for more information on defining your requirements for vendor products and services, and for setting up a successful relationship with these vendors.

isitCRM.com

http://www.isit.com/IndexCRM.cfm

With articles, vendors, current topics, and free press release postings, isitCRM.com can help you find the answers to your CRM questions. The site also includes vendor profiles with links to the Web sites of participating companies.

ECCS

www.eccs.uk.com

ECCS is a focal point for research, management advice, and commercial developments in Customer Relationship Management. It delivers a mix of originally researched information and interactive services. Register free on www.eccs.uk.com for regular information, ideas, and insights into CRM practice. You'll find information unavailable elsewhere: CRM Trends keeps you in touch with major user and marketplace developments. Infobank provides insights and ideas you can apply to improve your CRM performance based on Business Intelligence's exclusive research. In addition, you will find case studies, articles, a guide to vendors and consultancies, CRM books, events, training programs, and much more.

1to1service

http://www.1to1service.com/

1to1service is a vendor for call center technology and services. They provide a contact center solution that is easy to implement and supports all communication channels including telephone, text-chat, email, fax, VoIP, and Web-based self-service.

Business Intelligence

http://www.business-intelligence.co.uk/

Business Intelligence delivers independent, authoritative advice on emerging business trends and practices including CRM, supply chain, data warehousing, balanced scorecard, business intelligence, human resources, and knowledge management, presenting its findings in the form of conferences, exhibitions, research, publishing, training courses, and Web communities.

Capterra—The Enterprise Software Center

http://www.capterra.com/

An objective Web site that combines guidance and resources to simplify software selection.

Hewson Group

http://www.hewson.co.uk/

Hewson Group is an independent UK-based organization. Since inception in 1989, Hewson Group has specialized in market analysts and management consultancy in the Customer Relationship Management arena.

Talisma Corporation

http://www.talisma.com/

Talisma Corporation is a provider of interaction-centric CRM solutions for service, sales, and marketing to mid-market and Global 2000 enterprises. Talisma's proven philosophy of rapid software deployment and use-based evolution has helped hundreds of companies create long-lasting and profitable customer relationships and see early returns on their investment.

Inspiration

No listing of sales- and marketing-related Web sites would be complete without mentioning the sites that help you find the inspiration to do your job. Drawing on resources from marketing and sales disciplines, these sites provide the inspiration to find the next customer and implement the next marketing initiative.

The Perfect Customer

http://www.perfectcustomer.com

This site offers daily tips for transforming your business to attract only the customers that you really want (what they call your "Perfect Customers"). Also includes articles, discussions, and other resources for bringing "right-brain technologies" into your left-brain technological world.

Millionaire Eagles—The Enlightened Millionaire Program

http://www.milleagles.com/

This site can best be introduced by reading their online mission statement, which is "Our mission is to change the economic history of the planet by creating 100 Enlightened Millionaires in 100 cities in the U.S. and Canada. An Enlightened Millionaire is someone who understands that there is no limit to the abundance in the Universe, and that there is enough for everyone."

Metamorphosis International

http://www.dataminingcookbook.com/

The site for the data-mining cookbook, which is a useful guide about how to benefit from the customer information you collect in your CRM systems.

Excalibur Exhibits and Events

http://www.excaliburexhibits.com/

Excalibur Exhibits and Events is a Houston-based, event-marketing company. If you need help with trade show exhibits, retail displays, corporate briefing centers, and special event programs, this site can help.

Archetype Discoveries Worldwide

http://www.archetypediscoveriesworldwide.com/

The owner of this site, Dr. G. C. Rapaille, is an internationally known expert in archetype studies and creativity. From the site:

In contrast to traditional marketing research firms, Archetype Discoveries does not rely on what people say. Instead these studies use a unique blend of biology, cultural anthropology, psychology, and learning theories to discover the hidden cultural forces that pre-organize the way people behave toward a product, service, or concept. Unlike opinions that can change in a minute, cultural Archetypes are deeply imprinted in people's minds and strongly rooted in cultural codes.

Use-Case Corner

Online communities are built, not found. Community building is an art in itself.

One example of a thriving online community is the literary agency Studio B (studiob.com) with its popular Computer Information Professionals discussion list. Although the list boasts the participation of many successful writers who are leaders in the community, David Rogelberg, founder of Studio B, acts as an influential community builder by writing industry-related and discussion-provoking posts, which stimulate activity on the list. There is a "list mom," a typical community-building role, who moderates and encourages restraint, gently nudging participants back on track when posts go too far afield from the stated topic of the list.

Another way in which Rogelberg builds his community is to value and work with individuals who influence community members and play leading roles in the industry. Tim O'Reilly, publisher of the In a Nutshell series books, and an active member of the computer-book publishing community, often drops in to discuss issues on Studio B's list, creating a cross-pollination of ideas that enhance thought leadership to community members. Rogelberg makes it clear that O'Reilly's contributions are welcome, whether he always agrees with Tim's point of view or not.


Summary

CRM has already developed a thriving community that functions both online and off. Until Microsoft CRM develops its own following, the existing communities can provide support to those just entering the field, or just starting to use software to do their jobs. Even after Microsoft CRM grows its own community, the broader field will still have much to offer. As you begin to work with Microsoft CRM, remember that you can always turn to community resources for help, idea sharing, inspiration, and encouragement.


Chapter 20. Selecting a Consultant for Help Implementing Microsoft CRM

In this chapter

Ressons to Hire a Consultant

What to Look for in a Business Technology Consultant

Due Diligance

Defining Specialists

What to Expect after You Sign

Summary

When applied successfully, new technology is a wonderful thing. When it's not, it can be a nightmare. One of the ways to improve your chances for success is to bring in an outside expert who has experience with exactly the kind of thing you're trying to do.


Reasons to Hire a Consultant

An advantage of hiring an expert is that you can get an objective opinion from someone essentially without an agenda—someone whose only stake in the outcome of your project is your success. Insiders can have their own agenda, whether it is political or just being busy with their day-to-day jobs.

Some outsiders can have an agenda, in terms of bringing in as many resources as they can, whether you need the extra bodies or not. Vendors with dollar signs in their eyes can fall into this category, and should be managed carefully. The rule of thumb is to define your own direction, or hire an independent who can help you, then look for vendors who can play a defined and carefully bounded role.

Familiar with Best Practices

A good independent consultant brings knowledge of best practices in their field. She will be able to provide a frame of reference, kept up to date by her ongoing participation in the field.

The benefit of hiring an expert is that where you have the knowledge of your business, you might not be an expert in CRM. Someone who moves around from one company to another gets to see many different ways of doing things and, just as importantly, ways not to do them.

Technology Transfer to Your Employees

Give a man a fish and you can feed him for a day, teach him to fish and you feed him for a lifetime. We're all familiar with this story, and it's still true. Hiring a consultant gives you the opportunity to provide hands-on training, coaching, and mentoring to your team.

You should expect any consultant to be able to assist with technology transfer, so even if your team depends on the consultant in the early stages of the project, eventually, the dependency decreases and the team's self-sufficiency increases. Look for consultants who believe in making your team self-sufficient as soon as possible.

Proven Methods Can Shorten Implementation Time

When your approach means trial and error for your team, you can waste the money saved on doing it yourself by just stumbling around. Hiring a consultant with proven methods developed in multiple industries can drastically shorten implementation time and help keep your project within budget.


What to Look for in a Business Technology Consultant

If you select carefully, a consultant familiar with a particular industry problem can save your company a lot of time and effort wasted on false starts. Some of the attributes to consider include the following:

  • Loosely coupled relationships with a variety of resources

  • Experience across industries

  • Orientation and education

  • Variety of communications models

  • Ability to act as translator

Loosely Coupled Relationships with a Variety of Resources

You want an advisor to have access to resources such as work force suppliers, product vendors, potential clients, and other independent consultants. But you don't necessarily want them to be too closely aligned with any particular resource. Too close of an affiliation with a limited or large company can indicate too much influence and/or dependence.

On the other hand, having a close relationship with other independents or partners shows the ability to forge a partnership, and enables an independent to bring the force of several alliances to bear on your situation. Just be wary of taking advice from those who are more affiliated with one alliance partner or company than any other. Such a consultant might be more influenced by that relationship than you realize.

Experience Across Industries

Business technology consultants focus on enterprise and integration issues. Having experience in multiple industries gives a consultant access to a broader range of solutions, to be applied to your situation. Over the years, experienced consultants develop a toolkit of approaches and solutions they have experienced in many different situations. The broader the experience, the richer the consultants toolkit.

Orientation and Education

It would be oversimplifying to expect that your consultant could make everything you need to know come clear to you immediately. But, not all of it is ineffable and mysterious either. A good consultant acts as a guide to the often confusing, sometimes treacherous, terrain of information technology. You should expect support in orienting yourself to that terrain, an inside guide to how the system works, as well as training and technology transfer for the individual members of your team.

Variety of Communications Models

You operate every day in a variety of communications modes: visual, narrative, verbal, email, phone, and face to face transactions. Although most people have a preferred mode of communicating, it's an inflexible consultant who can only use one or two mediums. Look for an advisor who is comfortable transacting in most mediums, especially the ones you prefer.

Ability to Act as Translator

If you've ever traveled to places where the culture is decidedly different, you learn the value of having a good guide and translator to help you find your way around and help you communicate with the locals. A seasoned traveler, like a seasoned consultant, doesn't get lost in the changing cultural domains, and knows how to concentrate on finding the common ground between people coming from sometimes vastly different points of view. A good consultant can help you communicate with the natives—those coming from a different viewpoint within or outside of your organization.


Due Diligence

Beyond the desirable attributes listed previously, there's also a due diligence factor that you should observe any time you're hiring expert help. Be sure to look for the following.

Credentials

Ask for and take the time to call and follow-up on references provided. One phone call can help establish the credibility of a consultant's claims, and if you can't reach any of the references, be sure to let your candidate know.

Referrals

Getting a referral from a trusted source is still the best way to know what you're getting into when it comes to hiring professional help. Ask around among your network of business associates, and check in user groups, and other industry associations where you have membership. Referred resources have an established track record in a community where they will want to maintain a good reputation by keeping their customers satisfied.

Professionals

When it comes to putting up a small Web site for a volunteer organization, maybe hiring your neighbor's son or daughter is a nice idea. But when it comes to the customer-facing presentation of your business, take the time and effort to find and hire a professional. This means that you should expect a professional demeanor, and civilized behavior. Upon your request, credentials should be forthcoming.

Written Proposals

A professional advisor won't have any trouble providing a brief, focused proposal covering what they propose to accomplish for your business, in clear business terms. It should include information about options, cost, time, and effort. Also the approach to be taken should be covered at a high level.

Customer First

One more thing to notice is the quality of your interactions at this stage of the game. Is the consultant overbearing? Do you get the feeling that your questions are foolish and your consultant knows everything? These are warning signs that you would do well to heed. The best way to work with someone who can help you put your customers first is to make sure they are putting you first now.


Defining Specialists

The terms used to refer to different technical specialists vary greatly, even within a particular profession. Consider the following:

  • Independent consultant/designer: A specialist or firm whose advice precedes the outsourcers and system integrators. The consultant might provide a needs analysis, a strategic plan, or a design. Most independent technology consultants have specialized experience in a specific area, such as CRM, and are in a position to provide multiple options. They provide expertise, but not a product. They can transfer their skills or knowledge to your team for current and future use.

  • Outsourcer: An outsourcer is an outside company that takes ownership or control of a company's computer system or network.

  • System integrator: A system integrator is a firm that designs or optimizes the system or network, while enabling the company to retain control of the system and responsibility for day-to-day maintenance.

  • Vendor/dealers: Many technology vendors have a single objective when approaching a company—to convince the company that their expertise is the best match for the project's needs. Many vendors offer to design the system, write specifications, and assist with the bidding—all with the expectation of obtaining business. If a company does decide to hire a vendor/dealer to serve as its technology consultant, it should be made clear in the request for proposal that the vendor or dealer will not be permitted to bid, sell, or install any portion of the work required.


What to Expect after You Sign

You should continue to expect the qualities that originally attracted you to the consultant to be present. You should expect to continue doing business with the individual you interviewed and hired not another resource that is brought in without your knowledge and/or consent. It is acceptable, of course, for your advisor to maintain staff and utilize resources of their own choosing, but beware of the consultant who disappears for long periods, leaving someone else to take up the slack.

You should also expect progress reports, ongoing information about the issues and concerns coming up, and to be involved in their resolution. You can't hire a consultant and turn over the reins. You need to work jointly with your consultant to keep yourself involved and up-to-date on project progress.

NOTE

In general, certification in the technology industry has been questionable at best. The problem is who will certify the certifiers? With technology being such a rapidly evolving field, most educational institutions are not perceived by business to be keeping up with new developments at all. Thus, certification has not made much progress in IT at large.

There is however, some case to be made for Microsoft's (and other vendor's) certification in specific technologies, for specific applications. In this case, the technology is more finite, the knowledge base more quantifiable, and the certification more likely to be a fair measure of true knowledge.

As a rule of thumb, the more specific the technology, the more certification makes sense. In a more general role, don't expect certification to say much about the expertise of an expert, whether it be an integrator, an architect, or even a senior developer. Whether certification is an important factor depends on the role you are trying to fill.

Nonetheless, Microsoft CRM Reseller Partners are required to pass certifications on the specific technologies involved. You should expect those certifications to be meaningful.


Summary

Hiring a consultant to help you with your Microsoft CRM implementation doesn't have to be a daunting task. If you get clear about your needs and requirements up front, be sure to check out your candidate's credentials and pay attention to the chemistry between you. A well-selected consultant can bring much-needed expertise to your project. Depending on the size of your project, you might want to consider a mix of independent and certified consulting expertise. Although certification is valuable, independent experience with the technologies you're using in general can also be quite helpful, especially on larger and more complex projects.


Chapter 21. Future Directions for Microsoft CRM

In this chapter

Background

Market Timing

The Next Step—Microsoft Business Framework (MBF)

Short- and Long-Term Direction

Summary

While we'd love to be able to paint a detailed picture of what the future will hold for Microsoft CRM, at the time of this writing future feature sets for Microsoft CRM have not been published. At a high level, we have heard that a version 2.0 will be released in early 2004 and will introduce international versions as well as de-duplication and record merging functionality. These two features have been highly requested additions to the product. We have also heard that a version 3.0 will be released approximately one year after version 2.0 (early 2005) and will include some additional marketing functionality. Since no official product road map has been released, this information may or may not accurately reflect Microsoft's product plans.

One thing we can definitively say, however, is that Microsoft is approaching the CRM market very aggressively. Prior to the product launch, several large-scale marketing campaigns were executed to promote CRM. Each campaign had a close tie-in to the .NET platform on which Microsoft has bet so much. The fact that Microsoft chose CRM as their first .NET application made the tie-in a natural. We'll discuss what that means for the future of Microsoft CRM, but first, let's take a look at some history.


Background

Microsoft Business Solutions (MBS) is the Microsoft division that came about when "Microsoft Classic," as MBS personnel refer to it, announced the proposed acquisition of Great Plains on December 21, 2000. At the time of the acquisition announcement, Microsoft President and CEO Steve Ballmer made the following statement:

"In nineteen years of operations Great Plains has proved to be one of Microsoft's most innovative partners. Microsoft and Great Plains see the future of business applications for small and medium-sized companies in the same way."

This marked Microsoft's entrance into the business applications market, a bold new step from a company very much used to taking bold new steps. Up to this point, Microsoft had gained dominance in both the operating system market and the desktop applications market and was seeing increased acceptance in the market for development languages and platforms.

Microsoft completed the acquisition of Great Plains on April 5, 2001. The deal cost Microsoft approximately $1.1 billion in stock at the time it closed. Upon completion of the acquisition, Great Plains President, Doug Burgum, made the following statement:

"Microsoft Great Plains will continue to enhance our solid reputation for customer service and innovative business solutions. With the commitment of our 2,200 global channel partners, more than 2,000 team members, and the tremendous people and technical assets within Microsoft, we have the opportunity to reshape some of the basic assumptions that have guided commerce in the past and truly improve the lives and business success of our customers."

Just a few years prior to this, Microsoft founder Bill Gates had been quoted in Great Plains' 1998 Annual report stating:

"The relationship between Microsoft and Great Plains is an example of a real partnership that demonstrates how technology companies can work together for the true benefit of our mutual customers."

Clearly, the companies were highly aligned long before the acquisition. The official press description of Great Plains at the time the acquisition was completed was published as

"More than 140,000 businesses in 132 countries count on Microsoft Great Plains Business Solutions. Microsoft Great Plains provides business applications that help small and midmarket companies become more agile in today's interconnected economy by extending specific information and procedures to employees, customers, vendors and partners. The business applications automate end-to-end business processes across financials, distribution, project accounting, electronic commerce, human resources and payroll, manufacturing, supply chain management, business analytics, sales and marketing management, and customer service and support."

Prior to its acquisition by Microsoft, Great Plains had been in existence in Fargo, North Dakota for nearly twenty years and had built a well-organized Value Added Reseller (VAR) network. Of course, the company had a solid set of financial, accounting, and supply chain management applications based on Microsoft technologies, but it was probably the advanced channel network that made Great Plains a prime target for acquisition by Microsoft. These 2,200 partners had the relationships and experience to sell financially oriented applications to small and medium-sized businesses. Microsoft and Great Plains went about integrating their organizations and in September 2002 (announced at the annual Stampede conference) Great Plains officially became Microsoft Business Solutions.

The next big step in Microsoft's Business Solutions journey came on May 7, 2002, when Microsoft announced its plans to acquire Navision, a leading European developer of business applications. Much like Great Plains, the Navision acquisition offered Microsoft a well-developed partner channel, but in an entirely separate geography—Europe. Prior to their integration into Microsoft, both Great Plains and Navision were very similar in their respective markets. With both acquisitions in place, Microsoft quickly gained strong United States and European partner channels; something that would have taken any other company years, if not decades, to accomplish.

The Navision acquisition was completed in July of 2002, but not without resistance from at least one large competitor. The Sage Group PLC of England worked to have the European Commission investigate the deal on the grounds that Microsoft/Navision might engage in anticompetitive behavior. The investigation was not approved, but it did signal the market's growing awareness that Microsoft as a Business Solutions player was formidable.

Microsoft has been dabbling in CRM for some time. Their email client, Microsoft Outlook, has traditionally provided competition in the contact management space and their bCentral services offered some CRM functionality for smaller businesses. In fact, Microsoft's initial inroads into CRM date back to February of 1999 when a plan was approved to undertake CRM-like projects for MSN (Microsoft Network). One of these projects, Carpoint, led to 20,000 auto dealers using the service for CRM-type functionality. After this came the bCentral Customer Manager and eventually the development of the Microsoft CRM code base. Prior to the release of Microsoft CRM in January 2003, the Microsoft CRM code base had been in development for nearly three years.

However, Microsoft's first major foray in traditional CRM came in the form of a legacy reseller agreement between the Great Plains division and Siebel Systems, the traditional CRM market leader. Siebel had long dominated the enterprise CRM market and needed a strategy for selling into the midmarket. Great Plains had a large midmarket sales channel, but no CRM product to sell. It seemed like a match made in heaven, and the deal was sealed in July of 1999. The two companies worked together to create an impressive integration between the product sets. However, what seemed like a good thing at first just didn't work. The Great Plains resellers were perhaps too financially oriented and the Siebel product was powerful but too complex for the market. The partnership struggled and was finally laid to rest in August of 2002.

The end of the Microsoft-Siebel reseller relationship came about, not coincidentally, just as Microsoft was beginning initial training on its own homegrown CRM solution. Microsoft had been planning a CRM solution/direction for some time and announced in February of 2002 that they were well underway building a product. Microsoft CRM, which is officially named Microsoft Business Solutions CRM, is the first Microsoft product to be built largely with .NET technologies. The database is SQL Server 2000, the application is written in C#, and the Web interface has been built with ASP .NET. Because Microsoft has been investing so much in the .NET strategy, the fact that they chose CRM to be the first true .NET application made a statement about their dedication to the CRM market.

The origins of the Microsoft CRM application are not entirely clear. There is some tie-in to the bCentral efforts and there are also rumors that Microsoft looked at existing midmarket CRM vendors for acquisition and ultimately decided that it was best to start from scratch. Regardless, the Microsoft Business Solutions team is forging rapidly ahead and has made a lot of progress in a short period of time. In addition to the progress they have made on the product side, Microsoft has made a strong effort to recruit business partners with true CRM expertise as well as to hire experts from the CRM industry.

Microsoft CRM was released to manufacturing (RTM) on January 21, 2003, three weeks after the generally expected arrival. Pre-orders were accepted in the third quarter of 2002 and it is estimated that somewhere around 400 implementations were sold prior to release and many more after release. This is amazing when you consider that in the three-year life of the Microsoft/Siebel agreement, less than 500 implementations were sold.


Market Timing

Many argue that Microsoft's market timing couldn't have been better. The dot-com bust has beaten down existing small and midmarket CRM players just after those vendors have expended significant resources educating prospective buyers on CRM. At the same time, the all-too-common stories of CRM failure and cost overruns have convinced businesses of the need for a low-cost solution backed by a vendor they know will be around for a while.

Another area where Microsoft's timing was right has to do with its philosophy toward partnership. The hundreds to thousands of small to mid-sized consulting and systems integration firms in the market are always looking for additional products and services to offer to their customers. In recent years, firms such as these have been run off by existing CRM vendors who've had to reclaim every potential revenue source; especially professional services.

In contrast, Microsoft's partner philosophy is worlds away from that of most existing CRM vendors. Microsoft makes it easy for others to promote their software and even proactively recruits companies to take on the product line. In addition to the existing pool of Microsoft Business Solutions partners, Microsoft has announced that it will distribute the Standard edition of Microsoft CRM through the regular Microsoft Certified partners, a group of 20,000–30,000 organizations. This large pool of sales and implementation resources guarantees that Microsoft's CRM product moves quickly into the market.

Microsoft is going to develop a huge presence in the CRM market, and there will be no end to the number or horizontal and vertical solutions built on the Microsoft CRM platform. Here's why:

  • Microsoft has tremendous resources and is aggressively moving into the CRM space.

  • Microsoft's email platform has a significant share of the small and medium business market. CRM, by its very nature, needs to integrate tightly with email.

  • Microsoft's technology is ubiquitous in an industry where system compatibility and market share are extremely important.

  • Microsoft's large and ever growing group of partners must differentiate themselves through innovative applications of Microsoft's technology.

  • Microsoft has built its CRM system as a platform upon which third parties can develop any number of horizontal and vertical solutions.

The last bullet point is perhaps the most significant. Microsoft CRM is designed as a platform and Microsoft is dedicated to continually improving that platform so that Independent Software Vendors (ISV) can leverage it to build horizontal and vertical solutions. Refer to Figure 21.1.

Figure 21.1. Microsoft's CRM platform enables developers to focus on vertical specific functionality.

Horizontal solutions are defined as solutions that provide a specific function or set of functions that can be used across industries. Vertical solutions are defined as solutions that provide a set of features specific to an industry, segment, or niche. Prior to the launch of Microsoft CRM, over 40 different third-party Microsoft CRM solutions had been announced by Microsoft ISVs'. That number is steadily increasing.


The Next Step—Microsoft Business Framework (MBF)

Enter the Microsoft Business Framework, a project initiated in 2001 with the goal of developing common business functionality and making it available to developers. The platform will allow developers to focus on industry or process-specific functionality, freeing developers from having to reinvent the wheel on common functions such as order entry and contact management. Refer to Figure 21.2.

Figure 21.2. Microsoft's strategy standardizes common business functionality and allows developers to concentrate on industry functionality.

This strategy is in line with the .NET framework and concept of providing the developer with as much common functionality as possible. Making the framework open and extensible draws more ISV's to it and will further extend Microsoft's sales capabilities. The benefit to customers is that they will be able to find more functionality specific to their business, yet built on a solid base. The strategy might also potentially shuffle the deck of applications players. Existing applications vendors with proprietary platforms will have to contend with new players developing on the Microsoft Business Framework. These new players will be able to focus on industry features, whereas the existing vendors will bear the dual overhead of continuing to develop both their platforms as well as their industry solutions.

Microsoft has taken a big step toward making their CRM platform a standard by publishing the Microsoft CRM Software Development Kit (SDK) on the Microsoft Developer Network (MDSN) Web site and subscriptions. This is another example of how Microsoft is differentiating itself from the existing field of CRM players. By making it easy to access knowledge about the technology, Microsoft is further embracing the development community and positioning its platform as a standard. Having the Microsoft CRM SDK on MSDN sets a precedent even for the other Microsoft Business Solutions applications (Great Plains) whose SDK's have never been published there.


Short- and Long-Term Direction

Through our discussions with various product planners and Product Managers, we've been able to arrive at some short- and long-term goals Microsoft has for CRM. As mentioned earlier, at the time of this writing the immediate release feature sets were still being determined and were to be heavily influenced by customer and partner feedback to the first release. Likely to be included in this list are a few feature requests that come up repeatedly:

  • Internationalization— With the acquisition of Navision, creating an international version of Microsoft CRM that deals with multicurrency, date formats, language, and Navision product integration is the key to tapping into a huge market. This will be highly prioritized.

  • Data Duplicate Checking— This was one of the most requested early items, so it is likely that it will appear in a Service Pack.

  • Customer Portal— Among other things, this highly requested component would enable companies to give their customers the ability to submit service cases and update their own profile (their address) over the Web. It has been mentioned that this could make it in an interim release (1.1?) and some partners have already built variations of this functionality.

  • Survey/Profiles— Survey/Profile data structures enable the compilation of multiple question/response type fields for tracking additional data against CRM objects. Early versions of the CRM database included traces of these structures as they were initially scheduled for inclusion, but later removed.

  • Chat— Early versions of the database also included references to chat functionality. Microsoft product planners have alluded strongly to their future direction of collaborative CRM.

  • Schema Extensibility— Version 1.0 enables CRM objects to be extended with custom fields, but new objects cannot be added to the object model. This is a near certainty in version 2.0 because it is critical for true verticalization.

  • Marketing Functionality— Version 1.0 of Microsoft CRM was marketed as having light marketing functionality. In this was included the lead management, email templates, direct email, and mail merge capabilities. It is rumored that version 3.0 will introduce marketing applications for tracking of specific marketing campaigns and results.

Longer term, the main focuses we heard about were related to:

  • Business Platform— The common business functionality platform discussed earlier in the chapter.

  • Collaborative CRM— The ability to offer chat, desktop sharing, cobrowsing, file transfer, and application sharing. With Microsoft's recent acquisition of Placeware, a 20% marketshare holder in the online collaboration market where Webex holds 56% of the market, Microsoft has acquired the tools it needs to fulfill this vision.

  • Emphasis on the needs of Business Solutions ISV's— The Microsoft strategy continues to move toward dominance in platforms and horizontal technology, while deferring industry specific feature sets and solutions to its business partners. As the concept of the Business Platform develops, Microsoft will continue to build out CRM so that ISV's can tailor it to their clients' needs.


Summary

One thing is for sure with Microsoft CRM; it is here to stay. The underlying framework will continue to develop through Microsoft's efforts as well as the efforts of the numerous Microsoft Business Solutions partners.

If you're a prospective Microsoft CRM customer wondering if the Microsoft CRM solution will grow with your business, don't worry. Microsoft is in this market for the long haul. If you are already a Microsoft CRM customer, don't be concerned if a feature you want is currently missing in the product. At some point your feature will be available whether Microsoft, a partner, or another customer adds it. You're in the middle of a huge development community and there are a tremendous amount of resources fueling it.

If you're a Microsoft Business Solutions partner wondering how to guide your business, get a copy of Crossing the Chasm by Geoffrey Moore, read it, and then take aim at your verticals/segments/niches and stay focused. Besides differentiating with your industry focus and knowledge, provide great service to your customers. Great execution will always be a differentiator and, sadly, is always in short supply.

Many people are saying that Microsoft will commoditize the CRM market. We disagree. While the technical components of CRM will become increasingly more affordable, great business solutions where technology is simply an enabling component will always be extremely valuable. That is one thing on which we know we can rely.


About the CD-ROM

    What's on the CD-ROM

    Windows Installation Instructions

    License Agreement


What's on the CD-ROM

The companion CD-ROM contains chapter examples, case studies, eCourses, ISV solutions, product fact sheets, videos, whitepapers, and online resources.


Windows Installation Instructions

  1. Insert the disc into your CD-ROM drive.

  2. From the Windows desktop, double-click the My Computer icon.

  3. Double-click the icon representing your CD-ROM drive.

  4. Double-click on Default.htm. The CD-ROM materials are accessible through the HTML interface.

NOTE

If you have the AutoPlay feature enabled, Default.htm will be launched automatically whenever you insert the disc into your CD-ROM drive.


License Agreement

By opening this package, you are also agreeing to be bound by the following agreement:

You may not copy or redistribute the entire CD-ROM as a whole. Copying and redistribution of individual software programs on the CD-ROM is governed by terms set by individual copyright holders.

The installer and code from the authors are copyrighted by the publisher and the authors. Individual programs and other items on the CD-ROM are copyrighted or are under an Open Source license by their various authors or other copyright holders.

This software is sold as-is without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Neither the publisher nor its dealers or distributors assumes any liability for any alleged or actual damages arising from the use of this program. (Some states do not allow for the exclusion of implied warranties, so the exclusion may not apply to you.)

NOTE

This CD-ROM uses long and mixed-case filenames requiring the use of a protected-mode CD-ROM Driver.


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

# (pound sign)
< (less than sign)
' (apostrophe)
* (asterisk)
*= operator
+= operator
-= operator
.csv file format
.ost file extensions
.pst file extension 2nd
= operator
1to1service Web site
80/20 rule

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

AARM (Assocation for the Advancement of Relationship Marketing) Web site
Abbreviation field (Contract Templates)
ABC Bar (Jump Bar)
Acceptance (testing category) 2nd
access 2nd
customer access
.NET
Microsoft Outlook
Web
Access Levels 2nd
accessing
communities 2nd
Deployment Manager
Web client
account executives 2nd
account management
marketing (business processes) 2nd
Account template
account-management systems
Accounts 2nd 3rd
Cases
hierarchy
Opportunities
Accounts/Contacts tab
Action Bar 2nd 3rd 4th
Action menu commands
Close Activity 2nd
Convert to Kit
actions
object types 2nd 3rd
workflow
Assign Object 2nd
Change Status
Create Activity 2nd
Create Note
Post URL 2nd
Run Subprocess 2nd
Send Email 2nd
Stop 2nd
Update Object 2nd 3rd 4th
Actions lists
Actions menu commands
Deactivate Contact
Active Contact Status
Active Directory 2nd
Active status (Contracts)
Active status (Service Cases)
Activities 2nd 3rd 4th 5th
attaching
canceled
completed
creating 2nd
creating (Sales Process)
due dates
emails
promoting 2nd
linked objects
Service Cases
tracking
types
Activities Cell 2nd
Activities record
Sales Opportunities 2nd 3rd
Activities Sub-Area (Workplace) 2nd
Activities tab 2nd 3rd
Activity History tab
activity management
Customer Service component
Sales component
Activity Summary customization 2nd
Activity Summary tab
Add Mapping option
Add Schema Field option
administrative reports 2nd
Advanced Find 2nd 3rd
Advanced Find command (Tools menu) 2nd
Advanced Find view
customizing
Advanced Query Builder window
advertising specialists
After option (wait for timer condition)
Aggressive Browser key (web.config file)
agreements
service vendors
RFP (requests for proposal)
virtual connections 2nd
AIM (Assocation for Interactive Marketing) Web site
aligning
customer views
business processes (customer-centricity)
Allotment Type field (Contract Templates) 2nd
Allotment Type field (Service Contracts)
allotments
Service Contract Templates
Allotments Remaining field (Contract Line Items)
Allotments Used field (Contract Line Items)
analytic applications
Corporate CRM
analytical processing
analyzing 2nd
process model integration 2nd
AND NOT operator
AND operator
Announcements Cell 2nd
anonymity
online community interactions
answers/questions
online communities 2nd
API
external applications
preparing
Run method
Run method, Section 1 2nd
Run method, Section 2
Run method, Section 3
Run method, Section 4 2nd 3rd
writing 2nd 3rd
apostrophe (')
Append Privilege
Append To Privilege
application code
installing
application programming interfaces
application services provider (ASP) 2nd
applications
analytic
Corporate CRM
business
service vendors
service vendors, owners 2nd 3rd
customer
integration (service vendor evaluations)
customer-facing
back-end integration (evolution)
enterprise (e-business)
integrations
intelligence
customer-centricity
operations
Data Warehousing
related
integration (service vendor evaluations)
server
Exchange Connector 2nd
verticals
CRM competitors
applications. [See also external applications]
Applix
applying
principles
business
business, making informed decisions 2nd
business, selling effectively
business, service
Appointment link
appointments (Calendar)
creating 2nd
approaches
change management
selecting 2nd
iterative
testing, validation/verification processes (vendors) 2nd 3rd 4th
project
change management
change management, pragmatic approaches 2nd
change management, structured approaches
change management, unstructured approaches 2nd
Archetype Discoveries Worldwide Web site
architecture
service vendor evaluations 2nd
archive files
Areas
Bottom Bar
Article Queues
Subjects
Articles
KB (Knowledge Base) 2nd 3rd 4th
articles
Knowledge Base
customer service processes 2nd
ASP (application services provider) 2nd
Assign Object (workflow action) 2nd
Assign Privilege
Assigned folder
Assigned Queues
assigning
identification values
records 2nd
workflow
assignment
call
Assocation for Interactive Marketing (AIM) Web site
Assocation for the Advancement of Relationship Marketing (AARM) Web site
associated URLs
Announcements Cell
Associated view
customizing
associations
online communities 2nd
AARM (Association for the Advancement of Relationship Marketing)
Assocation for Interactive Marketing (AIM)
Business Process Management Group
CRM Assist
CRM Foundation
CRM Project
CRM-Forum
CRM2day
CRMCommunity
CRMguru.com
CRMXchange
Customer Service Network
Destination CRM
eCustomerServiceWorld.com
GreaterChinaCRM.org
Intelligent CRM
Internet Alliance (IA)
Marketing Competence
Resource Center
The Direct Marketing Association (The DMA)
asterisk (*)
Atomz
attached documents
storing
Attributes and Mappings folder
Attributes node 2nd 3rd 4th 5th 6th 7th 8th 9th
audit trails
requirement communcations
planning (service vendors)
authentication
Windows
Auto-Numbering 2nd
auto-signature feature
automating
business processes (Workflow Monitor) 2nd 3rd 4th
customer service processes 2nd
customer-centricity business processes 2nd
sales processes
customer-centricity business processes 2nd 3rd 4th 5th 6th 7th 8th
automation
field service automation
IBM Start Now Wireless Solutions for Small and Medium business
ServiceHub
Sales Force Automation
salesforce.com Inc.
SalesLogix2000

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

B2B (Business to Business)
versus B2C (Business to Consumer)
B2B (business-to-business)
customer/supplier interactions
B2B (business-to-business) exchange 2nd 3rd
Web services 2nd 3rd
.NET
WSDL (Web Services Description Language)
B2C (Business to Consumer)
versus B2B (Business to Business)
back-end integration
customer-facing applications (evolution)
bars
Report Group
Basic (User) Access Level
bCentral (Microsoft)
BCP (Bulk Copy Protocol)
Before option (wait for timer condition)
best guess [edit quotes] models
building (process model integration)
validating (process model integration)
best guess models
business processes
building (customer-centricity)
validating (customer-centricity)
best of breed [edit quotes] composition
service vendor integration
Bill To Address field (Service Contracts)
Bill to Customer field (Service Contracts)
Billing End Date field (Service Contracts)
Billing Frequency field (Contract Templates)
Billing Frequency field (Service Contracts)
Billing Start Date field (Service Contracts)
BizTalk channels
tracking 2nd
BizTalk Document Tracking 2nd 3rd 4th 5th
BizTalk Mapper
BizTalk Messaging Manager 2nd 3rd 4th
BizTalk Server 2002 Partner edition 2nd 3rd 4th
Blank Email option (mail merge)
Blank Letter option (mail merge)
Bottom Bar (home page)
bottom-up implementation model
OLTP (online transaction processing)
boxes
Search
time
pragmatic approach (change management)
boxes. [See also dialog boxes]2nd [See also check boxes]
BPI (Business Process Integration)
BPI (business process integration)
Bulk Copy Protocol (BCP)
business
principle applications
making informed decisions 2nd
selling effectivly
service
business alerts
thresholds
business ambiguity
business processes 2nd
business applications
service vendors
owners 2nd 3rd
business cases
partnership model
business decisions
supporting 2nd
business development managers
business exchange integration
.NET
Business Intelligence Web site
Business Management records 2nd
business management systems (existing)
Integration component
business models
customer-centricity
viewpoint analysis models (customer-centricity)
business needs
establishing requirements
prioritizing (service vendors)
business people
.NET
business performance
measuring
business performance monitoring
business planning
contributor role
business platform
business platforms
Business Process Integration (BPI)
business process integration (BPI)
Business Process Management Group Web site
business process models
business process reengineering
business processes
automating 2nd
automating (Workflow Monitor) 2nd 3rd 4th
best guess models
building (customer-centricity)
validating (customer-centricity)
business ambiguity to technical precision 2nd
communication
communication activity management
email campaigns
reports
sales literature management 2nd
customer service processes
automating 2nd
case management 2nd
contract services
cost levels
customer feedback
FAQs (Frequently Asked Questions) 2nd
Knowledge Base articles 2nd
performance management
queuing 2nd
routing 2nd
customer view alignement (customer-centricity)
customer-centricity
goals 2nd
deliverables (customer-centricity) 2nd
interviews (customer-centricity) 2nd
mapping 2nd
marketing
account management 2nd
competitor management
contact management 2nd
customer management 2nd
lead management
marketing list management
opportunity management
quiz
recommendations (customer-centricity) 2nd
redesign
process model
roles
champions (business processes)
contributors (business processes)
integrators (business processes) 2nd 3rd
roles (business processes)
sales process 2nd
contact management system
forecasting 2nd
organizing
sales force management 2nd
use case 2nd
user scenarios (customer-centricity) 2nd 3rd
viewpoint analysis models (customer-centricity) 2nd 3rd
business requirements
partnership model
business requirements document
Business Solutions ISV (Independent Software Vendors)
business strategies 2nd 3rd 4th
business performance
measuring
comprehension
customer-centricity 2nd
business technology consultants
communication modes
education
orientation
resource relationships
translators
wider experience
Business to Business (B2B)
versus B2C (Business to Consumer)
Business to Consumer (B2C)
versus B2B (Business to Business)
business transaction processing 2nd
Business Unit Settings 2nd
Access Levels 2nd
Business Units 2nd
Privileges 2nd 3rd 4th
Queues 2nd
Quotas
roles 2nd 3rd 4th 5th
teams 2nd
users 2nd
Business Unit Settings, Users command (Settings menu)
Business Units 2nd
inheritance
business-to-business (B2B)
customer/supplier interactions
business-to-business (B2B) exchange 2nd 3rd
Web services 2nd 3rd
.NET
WSDL (Web Services Description Language)
businesses
improving (customer-centric)
mid-sized
solutions
small
solutions
buttons
Calendar
Close Invoice
Convert Lead
Create Invoice 2nd
Create Order
custom
Delete Rows
Edit Mapping
Export
Filter
Go Offline/Online
Group Tree
New Article
New Contract
New Email Template
Print
Promote Email to CRM Activity 2nd
Quick Call
Refresh

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

c360 SearchPac 2nd 3rd
multifield search 2nd 3rd
Query Manager 2nd 3rd 4th
Calendar
appointments
creating 2nd
Calendar button
Calendar field (Contract Templates)
Calendar Sub-Area (Workplace) 2nd
calendars
Contract Line Item Calendar
call assignment
Call Initiator field
Call Recipient field
call routing
call tracking
campaign management 2nd
Overture Software
Pop Art
YellowBrick Solutions
campaign managers
campaigns
marketing
tracking
canceled Activities
Cancellation Date field (Service Contracts)
Cancelled status (Contracts)
Cancelled status (Service Cases)
Capterra Web site
case management
Customer Service component
customer service processes 2nd
Case Origin field (Service Cases)
Case template
Case Type field (Service Cases)
Cases
Cases (Service Cases) 2nd 3rd 4th 5th
Activities
assigning (Queues) 2nd
escalation 2nd
fields 2nd 3rd 4th
grouping
statuses
catalogs
Full Text Catalogs
categories
testing
validation/verification processes (vendors) 2nd 3rd
cautions (special feature)
CBI (Center for Business Intelligence)
cells
Activities 2nd
Announcements 2nd
Center for Business Intelligence (CBI)
CEO-Biz Mgr role
certification 2nd
champion role
process model integration
champions
roles
businesses processes (customer-centricity)
change logs
change management 2nd 3rd
approaches
selecting 2nd
B2B (business-to-business) exchange 2nd 3rd
Web services 2nd 3rd
Web services, .NET
WSDL (Web Services Description Language)
BPI (business process integration)
change logs
corrections 2nd
drafts 2nd 3rd 4th
making decisions
model fluidity
models
Internet 2nd
IT (Information Technology) 2nd
model corrections
project approaches
pragmatic 2nd
structured
unstructured 2nd
requests 2nd
wireless devices 2nd
change managers
Change Status (workflow action)
change status workflow
Channel Properties Wizard
channels
BizTalk
tracking 2nd
e-channels
fusing (customer-centricity) 2nd
field sales
Internet
Microsoft Reseller Partner Channel 2nd
traditional
fusing (customer-centricity) 2nd
characters
invalid HTML
charts
reports 2nd
chatting
check activities (workflow condition)
check boxes
Sales Literature
Show the name of this section on the form
check for condition (workflow condition) 2nd
check object condition (workflow condition)
Citrix/Remote Desktop environments
CRMSO
Clickability
clone customization 2nd 3rd 4th 5th 6th 7th
Clone.aspx page
close (transactions)
Close Activity command (Action menu) 2nd
Close Invoice button
code
application
installing
code. [See syntax]
codes
object type 2nd 3rd 4th
collaboration opportunities
online communities
collaborative CRM
columns
Full Name
Contact Info view
tables
adding
comma-separated value (CSV) 2nd
commands
Action menu
Close Activity 2nd
Convert to Kit
Actions menu
Deactivate Contact
File menu
Print Quote for Customer
New menu
New Activity
Service menu
Contracts
Settings menu
Business Unit Settings, Users
System Customization
Tools menu
Advanced Find 2nd
Import
Options 2nd 3rd 4th 5th
User Options
Comments tab
communication
business technology consultants
communication activity management (business processes)
email campaigns (business processes)
reports (business processes)
sales literature management (business processes) 2nd
communication (business processes)
communications
proactive
service vendors 2nd
service vendor requirements 2nd
partners
planning 2nd
teams 2nd
vendor resources
communities
accessing 2nd
communities. [See also online communities]
companies
performance/viability
service vendor evaluations 2nd
competitor management
marketing (business processes)
Competitor record
Sales Opportunities 2nd
competitors
CRM markets 2nd 3rd
completed Activities
component design
partnership model 2nd
component sponsors
implementation strategies
measuring success 2nd
pilot projects
prototype projects
componentization
architecture evaluations
components
Customer Service 2nd
activity management
case management
contracts
email auto-response
information sharing
queuing
routing
searchable knowledgebases
Integration 2nd
exisiting business management systems
Microsoft Office
Sales 2nd 3rd 4th
activity management
complete customer view
direct email
Great Plains integrations
information sharing
Microsoft Outlook synchroniation
opportunity management
order management
quotas
reports
sales library
workflow rules
technical
service vendor integration
concurrency user licensing 2nd
conditions
workflow
check activities
check for condition 2nd
check object condition
Else[ellipsis]If construct
wait activity condition
wait for condition
wait for conditions
wait for object condition
wait for timer condition 2nd
configuration 2nd
Deployment Manager 2nd 3rd 4th
accessing
Attributes 2nd 3rd 4th 5th 6th 7th 8th 9th
Entity Mapper 2nd 3rd 4th
License Manager 2nd
nodes 2nd
publishing 2nd 3rd
Schema Manager 2nd
Server Manager
User Manager 2nd
System Customization 2nd
Workflow Manager 2nd 3rd
configuration files
isv.config 2nd 3rd 4th 5th 6th 7th 8th
web.config 2nd 3rd 4th 5th
configuration management. [See change management]
configurations
CRMSO 2nd 3rd 4th 5th
email promotion 2nd
Customer Service
Customer Service Professional
editions 2nd 3rd
email
mail merge 2nd 3rd 4th
Sales
Sales Professional
System Customization 2nd
forms, customizing 2nd 3rd 4th 5th 6th
previews, customizing 2nd
Status fields 2nd
Status Reason fields 2nd
views 2nd 3rd 4th 5th
views, Advanced Find view
views, Assoicated view
views, Main view
connections
dropped (CRMSO) 2nd
online communities
cautions
guidelines
virtual
service vendors 2nd
connectivity (Scribe Migrate)
construction
partnership model
constructs
Else[ellipsis]If (workflow condition)
If[ellipsis]Then
consultants
business technology
communication modes
education
orientation
resource relationships
translators
wider experience
credentials
customer service
expectations 2nd
hiring
best practices 2nd
implementation time
technology transfer
professionals
referrals
specialists 2nd
written proposals
consulting resources
online communities
Contact Info view
Full Name column
contact management
marketing (business processes) 2nd
contact management system
sales process (customer-centricity business processes)
Contact Status
Contact template
Contacts 2nd 3rd 4th
Cases
creating 2nd
fields
Opportunities
types
Contacts record
Sales Opportunities
Content Area (home page)
Activities Cell 2nd
Announcements Cell 2nd
content management
Contract Address field (Service Contracts)
Contract End Date field (Service Contracts)
Contract field (Service Cases)
Contract ID field (Service Contracts)
Contract Line field (Service Cases)
Contract Line Item Calendar
Contract Line Item screen
Contract Line Items 2nd 3rd 4th 5th
fields 2nd 3rd
Contract Name field (Service Contracts)
contract services
customer service processes
Contract Start Date field (Service Contracts)
Contract template
Contract Template field (Service Contracts)
Contract Templates 2nd 3rd
fields 2nd 3rd 4th
contracts
Customer Service component
service vendors
RFP (requests for proposal)
virtual connections 2nd
Contracts (Service Contracts) 2nd 3rd
Contract Line Item Calendar
Contract Line Items 2nd 3rd 4th 5th
fields 2nd 3rd
fields 2nd 3rd
lifecycle
stauses 2nd 3rd 4th
Contracts (Service Contracts). [See also Service Contract Templates]
Contracts command (Service menu)
contributor role
process model integration 2nd
contributors
roles
businesses processes (customer-centricity)
controls
Crystal Smart Viewer ActiveX
report navigation
conversion mapping
Convert Lead button
Convert to Kit command (Action menu)
converting
Leads 2nd 3rd
processes
Core CRM edition
Core records 2nd
Corporate CRM
analytic applications
customer information 2nd
Data Warehousing 2nd 3rd
reporting 2nd
Corporate Information Architecture
Data Warehousing
corporate management
contributor role
corporate systems
internal/external integration
corrections
change management 2nd
drafts 2nd 3rd 4th
making decisions
model fluidity
models
models
cost levels
customer service processes
Create Activity (workflow action) 2nd
Create Invoice button 2nd
Create method
Create Note (workflow action)
Create Order button
Create Privilege
Create Rule from Template
CRM
Corporate
analytic applications
customer information 2nd
Data Warehousing 2nd 3rd
reporting 2nd
CRM Assist Web site
CRM Foundation Web site
CRM market 2nd
competitors 2nd 3rd
CRM Project Web site
CRM services
campaign management 2nd
Overture Software
Pop Art
YellowBrick Solutions
customer contact
Customer Care International's Xtend Commerce
Siemens' HiPath ProCenter Office
customer self-help
Onyx
Oracle Small Business Suite
eCommerce
Microsoft bCentral
Oracle Small Business Suite
PayPal
field service automation
IBM Start Now Wireless Solutions for Small and Medium business
ServiceHub
Sales Force Automation
salesforce.com Inc.
SalesLogix2000
Web Content Management ASP Vendors
Atomz
Clickability
CrownPeak
CRM-Forum Web site
CRM2day Web site
CRMAccount object
CRMCO
synchronizing
CRMCommunity Web site
CRMConferences.com Web site
CRMContact object
CRMCRYSTAL database
CRMCustomerAddress object
CRMguru.com Web site
CRMQuery object
CRMSO 2nd 3rd
(Microsoft CRM Sales for Outlook)
configuration 2nd
configurations 2nd 3rd
email promotion 2nd
mail merge 2nd 3rd 4th
customization 2nd
deployment 2nd
folders
archive files
CRM folders
Offline Folder file
personal folder file 2nd
Public Folders
going offline 2nd
data conflicts 2nd 3rd
dropped connections 2nd
hardware failure 2nd
scalability 2nd 3rd
mailboxes
Exchange mailbox
mappings
offline concepts 2nd 3rd
data
records
pull subscriptions
synchronization 2nd 3rd 4th
data conflicts 2nd 3rd
dropped connections 2nd
hardware failure 2nd
scalability 2nd 3rd
SQL Server replication 2nd
CRMXchange Web site
cross-references (special feature)
CrownPeak
Crystal Decisions Web site
Crystal Professional version 8.5
Crystal Reports
reports
creating/modifying 2nd 3rd
Crystal Reports Enhancement for Microsoft CRM 2nd
Crystal Smart Viewer ActiveX control
CSR (customer service representative)
CSR Manager role
CSR role
CSRs. [See customer service representatives]
CSS (Customer Service and Support)
CSV (comma-separated value) 2nd
custom buttons
custom feedback
establishing requirements (service vendors)
custom menus
custom reports 2nd 3rd
custom schema fields 2nd 3rd
custom tabs
customer access
.NET
customer applications
integration
service vendor evaluations
Customer Care International
Xtend Commerce
customer contact
Customer Care International's Xtend Commerce
Siemens' HiPath ProCenter Office
Customer Contact World Magazine Web site
customer data
migrating (Scribe Migrate)
customer feedback
customer service processes
Customer field (Service Cases)
Customer field (Service Contracts)
customer information
Corporate CRM 2nd
managing
customer interactions
data management lifecycle
customer knowledge
customer management
marketing (business processes) 2nd
customer personalization integration
.NET
Customer Portals
customer portals
scenarios
customer portals (evolution)
customer self-help
Onyx
Oracle Small Business Suite
customer self-service
Customer Service 2nd
customer service
front-office
Customer Service
KB (Knowledge Base) Manager 2nd
Article Queues
Article Queues, Subjects
searches 2nd
new customers
transitioning 2nd
objects
Contract Templates 2nd 3rd
Contract Templates, fields 2nd 3rd 4th
Leads
relationships
Service Contracts 2nd 3rd
Service Contracts Templates
Service Contracts, Contract Line Item Calendar
Service Contracts, Contract Line Items 2nd 3rd 4th 5th
Service Contracts, fields 2nd 3rd
Service Contracts, lifecycle
Service Contracts, statuses 2nd 3rd 4th
Queues 2nd
Case assignments 2nd
Public Queues
User Queues
Service Cases 2nd 3rd 4th 5th
Activities
fields 2nd 3rd 4th
statuses
Customer Service and Support (CSS)
Customer Service component 2nd
activity management
case management
contracts
email auto-response
information sharing
queuing
routing
searchable knowledgebases
Customer Service configuration
Customer Service configurations
Customer Service edition
Customer Service edition, Professional
Customer Service edition, Standard
Customer Service module 2nd 3rd 4th 5th
Customer Service Network Web site
customer service processes
automating 2nd
case management 2nd
contract services
cost levels
customer feedback
FAQs (Frequently Asked Questions) 2nd
Knowledge Base articles 2nd
performance management
queuing 2nd
routing 2nd
Customer Service Professional configuration
customer service reports 2nd 3rd 4th
customer service representative (CSR)
customer service representatives (CSRs)
questions and answers
searches
customer view
Sales component
customer views
business processes
aligning (customer-centricity)
customer-centricity 2nd 3rd
business models
business processes 2nd
automating 2nd
best guess models, building
best guess models, validating
business ambiguity to technical precision 2nd
communication
communication, communication activity management
communication, email campaigns
communication, reports
communication, sales literature management 2nd
customer service processes, automating 2nd
customer service processes, case management 2nd
customer service processes, contract services
customer service processes, cost levels
customer service processes, customer feedback
customer service processes, FAQs (Frequently Asked Questions) 2nd
customer service processes, Knowledge Base articles 2nd
customer service processes, performance management
customer service processes, queuing 2nd
customer service processes, routing 2nd
customer view alignment
deliverables 2nd
goals 2nd
interviews 2nd
mapping 2nd
marketing
marketing, account management 2nd
marketing, competitor management
marketing, contact management 2nd
marketing, customer management 2nd
marketing, lead management
marketing, marketing list management
marketing, opportunity management
quiz
recommendations 2nd
roles
roles, champions
roles, contributors
roles, integrators 2nd 3rd
sales process 2nd
sales process, contact management system
sales process, forecasting 2nd
sales process, organizing
sales process, sales force management 2nd
use case 2nd
user scenarios 2nd 3rd
viewpoint analysis models 2nd 3rd 4th
e-channels
fusing 2nd
information
managing
integrations
strategic views
traditional channels
fusing 2nd
customer-centricity intelligence applications
customer-facing applications
back-end integration (evolution)
customer-focused marketing
customers
profitble
identifying
relationships
individualzing
single views
service vendor evaluations
target
target customers 2nd
Customers tab
customization
CRMSO 2nd
links 2nd
Links page
Customization Transport Manager 2nd
customizations
Activity Summary 2nd
clone feature 2nd 3rd 4th 5th 6th 7th
external applications
preparing
Run method
Run method, Section 1 2nd
Run method, Section 2
Run method, Section 3
Run method, Section 4 2nd 3rd
writing 2nd 3rd
Web resources 2nd 3rd 4th
customizing
forms 2nd 3rd 4th 5th 6th
installations
previews 2nd
views 2nd 3rd 4th 5th

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

data
customer
migrating (Scribe Migrate)
integrations
meta data
offline (CRMSO)
reports
exporting 2nd
synchronizing
transformed
sharing
user
importing (marketing) 2nd 3rd
data capture
data duplicate checking
data extract tools
data
transforming
Data Field Properties dialog box
data import tool 2nd 3rd 4th 5th
data management lifecycle
business decisions
supporting 2nd
business transaction processing 2nd
customer interactions
external portals
internal portals
suppliers interactions
transformed data
sharing
data mapping
data mapping. [See mapping]
data migration. [See migration]
data mining
data respositories
Shadow Copies
data synchronization errors
data transformation
Data Transformation Services (DTS)
Data Warehousing 2nd 3rd
Corporate Information Architecture
customer-centricity intelligence applications
data respositories
Shadow Copies
operation applications
resources
database analysts
databases
CRMCRYSTAL
METABASE
metabase
MSCRM
mscrm_msde
MSCRMDistribution
MSDE
MSDE (Microsoft SQL Desktop Edition)
server
naming
Deactivate Contact command (Actions menu)
Deactivate/Activate
decisions
business decisions
supporting 2nd
change management
Deep (Parent[colon] Child Business Unit) Access Level
Default Values tab 2nd
Defaults Values tab
Delete Privilege
Delete Rows button
Deleted status (Contracts)
DeletionStateCode field
deliverables
business processes (customer-centricity) 2nd
process model integration
delivery
service
contributor role
delivery releases
establishing requirements (service vendors)
deployment
integration
Deployment Manager 2nd 3rd 4th
accessing
Attributes 2nd 3rd 4th 5th 6th 7th 8th 9th
Entity Mapper 2nd 3rd 4th
License Manager 2nd
nodes 2nd
publishing configurations 2nd 3rd
Schema Manager 2nd 3rd
Server Manager
User Manager 2nd
deployments
CRMSO 2nd
Description field (Contract Templates)
Description field (Service Cases)
Description field (Service Contracts)
design
components
partnership model 2nd
customer-centricity
Destination CRM Web site
development times
.NET
dialog boxes
Data Field Properties
Field Properties 2nd
Integration Entity Linking 2nd
New Schema Field Properties 2nd
diamond models
direct email
Sales component
Direct Marketing Assocation (The DMA) Web site
directories
Active Directory 2nd
Disable/Enable
Discount ($) field (Contract Line Items)
Discount is (type) field (Service Contracts)
Discount Lists
Price List Items
Product Catalog
Discount Type field (Contract Templates)
discussion starters
interviews
disparate systems (evolution)
distributed computing
Document Exchange (DX) 2nd 3rd 4th
documents
attached
storing
business requirement document
XML (Extensible Markup Languge)
creating
Draft Email folder
Draft Queues
Draft status (Contracts)
drafts
change management 2nd 3rd 4th
dropped connections (CRMSO) 2nd
DTS (Data Transformation Services)
due dates
Activities
Duration in Days field (Service Contracts)
DX (Document Exchange) 2nd 3rd 4th
Dynamic Methods
Mobile Portal

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

e-biz. [See B2B (business-to-business)]
e-business
BPI (Business Process Integration)
business performance monitoring
enterprise applications
external integration
internal integration
e-channels
fusing (customer-centricity) 2nd
e-commerce systems (evolution)
e-CRM Magazine Web site
EAI (enterprise application integration) 2nd
early returns
implementation strategies
ECCS Web site
eCommerce
Microsoft bCentral
Oracle Small Business Suite
PayPal
eCustomerServiceWorld.com Web site
Edit a Workflow Rule screen
Edit Mapping button
editions 2nd
configurations 2nd 3rd
Core CRM
Customer Service
Customer Service, Professional edition
Customer Service, Standard edition
Professional
releases
Sales
Standard
editors
Form Editor
Else[ellipsis]If construct (workflow condition)
email
configuring
Exchange Connector 2nd 3rd
filtering
GUID (Global Unique Identifier)
GUID (globally unique identifier)
mail merge
online community interactions
promoting 2nd
receiving
sending
spam
templates 2nd 3rd
email auto-response
Customer Service component
email campaigns (customer-centricity busness processes)
Email folder
Email tab
email templates 2nd
use case 2nd
Enable/Disable Privilege
End Date field (Contract Line Items)
engineering
product
contributor role
enterprise application integration (EAI) 2nd
enterprise applications (e-business)
Enterprise One to One[colon] Tools for Competing in the Interactive Age.
Enterprise Portal 2nd
entities. [See objects]
entitlement processing
Entity Mapper node 2nd 3rd 4th
entity values
mapping 2nd
Envelopes option (mail merge)
Epicor
eResource links
eResources 2nd
Error Event Logging key (web.config file)
errors 2nd 3rd 4th
data synchronization errors
escalations
workflow rule
establishing requirements
service vendors
customer feedback
delivery releases
interative approach
priorititizing business needs
technology services
evaluating
service vendors
architecture 2nd
company performance/viability 2nd
customer application integration
features
functionality
product viability
related application integration
single view of customer
events
OnChange events
JavaScript, adding 2nd
triggering
workflow
triggering
evolution
customer portals
customer-facing applications
back-end integration
disparate systems
e-commerce systems
marketing
evolutions
Web sites
Excalibur Exhibits and Events Web site
Exchange Connector 2nd 3rd 4th 5th 6th
email
managing 2nd 3rd
Exchange mailbox
Exchange objects
mapping 2nd
Exchange Server 2nd
Expired status (Contracts)
Export button
Export Customization option 2nd 3rd
exporting
active record lists
records
report data 2nd
Extensible Markup Languge (XML) documents
creating
extensions. [See file extensions]
external applications
preparing
Run method
Section 1 2nd
Section 2
Section 3
Section 4 2nd 3rd
writing 2nd 3rd
external integration
external portals
creating
security

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

facilitating 2nd
FAQs (Frequently Asked Questions)
customer service processes 2nd
features
service vendor evaluations
features. [See also special features]
feedback
custom feedback
establishing requirements (service vendors)
customer
customer service processes
FetchXML
FetchXml string
Field Force Automation [italics] Magazine Web site
Field Properties dialog box 2nd
field sales
channels
media
field service automation
IBM Start Now Wireless Solutions for Small and Medium business
ServiceHub
field types
Update Object 2nd
fields
Call Initiator
Call Recipient
Contacts
Contract Line Items 2nd 3rd
Contract Templates 2nd 3rd 4th
Contracts (Service Contracts) 2nd 3rd
DeletionStateCode
mapping
Messaging Port/Distribution List
picklist 2nd 3rd 4th 5th
OnChange events;JavaScript 2nd
Relationship Type
Sales Opportunities 2nd
schema
adding 2nd 3rd 4th 5th 6th 7th
naming
Service Cases 2nd 3rd 4th
State/Province
Status 2nd
Status Reason 2nd
transforming
file extensions
.ost
.pst 2nd
file formats
.csv
File menu
mail merge
File menu commands
Print Quote for Customer
files
archive
configuration
isv.config 2nd 3rd 4th 5th 6th 7th 8th
web.config 2nd 3rd 4th 5th
CSV (comma-separated value) 2nd
TXT (Text) 2nd
web.config
Quick Create
Filter button
filtering
email
Horizontal
reports 2nd
Filtering
Vertical
filters
Advanced Find tool
financial managers
Find Control 2nd
Firepond
firewalls
external portals
internal portals
Fiscal Year Settings
fluidity
models
change management
folder icons
folders
archive files
Assigned
Attributes and Mappings
CRM folders
Draft Email
Email
In Progress 2nd
Offline Folder file
personal folder file 2nd
Public Folders
Follow Up By field (Service Cases)
forecast
forecasting
sales process (customer-centricity business processes) 2nd
Form Editor
formats. [See file formats]
forms
customizing 2nd 3rd 4th 5th 6th
Frequently Asked Questions (FAQs)
customer service processes 2nd
From now on option (wait for timer condition)
front-office customer service
front-office marketing
front-office sales
Frontrange
FTS (Full Text Search) 2nd
fuctionality
Microsoft Business Solutions CRM
Microsoft Great Plains
Full Name column
Contact Info view
Full Text Catalogs
Full Text Indexes
Full Text Search (FTS) 2nd
Functional Requirements (testing category) 2nd 3rd
functionality
analyzing 2nd
facilitating 2nd
licensing 2nd 3rd 4th 5th
Microsoft
named user licensing 2nd
platform 2nd 3rd
product positioning
service vendor evaluations
tracking 2nd
user interfaces 2nd
versions 2nd 3rd 4th 5th
fusing
e-channels (customer-centricity) 2nd
traditional channels (customer-centricity) 2nd
future of 2nd
future releases

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

General settings (Settings and Administration tool)
Global (Organization) Access Level
global settings
Auto-Numbering 2nd
Fiscal Year Settings
System Settings
Global template
Global Unique Identifier (GUID)
global unique identifier (GUID)
Global Unique Identifier (GUID)
Go Offline/Online button
goals 2nd 3rd 4th
business processes
customer-centricity 2nd
content management
customer knowledge
customer self-service
defining
integrated analytics
personalization
profitable customer identification
going offline 2nd 3rd
data conflicts 2nd 3rd
dropped connections 2nd
hardware failure 2nd
scalability 2nd 3rd
Gold Certifided Partner Program for Hosting and Applications Services (Microsoft)
Great Plains 2nd
history 2nd 3rd
integration points 2nd
integrations
Sales component
migration 2nd
Great Plains (Microsoft)
Great Plains Accouting system
Product Catalog
Great Plains Edition
Great Plains settings (Settings and Administration tool) 2nd 3rd 4th
GreaterChinaCRM.org Web site
Grid Control
Grid Footer
Grid Header
grid view
mail merge
Group Tree button
grouping
Products
reports
Service Cases
GUID (Global Unique Identifier) 2nd
GUID (globally unique identifier)

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

hardware
failure (CRMSO) 2nd
help
implementations
self-help
customers
customers, Onyx
customers, Oracle Small Business Suite
Help Catalog Name key (web.config file)
Hewson Group Web site
hierarchies
Accounts
Organization
hierarchy
Subject Hierarchy
HiPath ProCenter Office (Siemens)
history 2nd 3rd 4th
History tab 2nd 3rd
holistic view (transaction processing)
home page
Bottom Bar
Content Area
Activities Cell 2nd
Announcements Cell 2nd
Menu Bar
Navigation Pane
Quick Create
User Indicator
Horizontal filtering
horizontal solutions 2nd
horizontal view (transaction processing)
hosting
HTML characters
invalid

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

IA (Internet Alianance) Web site
IBM Start Now Wireless Solutions for Small and Medium business
Icon element (isv.config file)
icons
folders
Online Services
Id element (isv.config file)
identification values
assigning
identifiers. [See also GUID (globally unique identifier)]
identifying
profitable customers
resources (process model integration) 2nd
roles (process model integration) 2nd 3rd 4th
IEI (interenterprise integration)
If[ellipsis]Then construct
implementation
implementation model
CRM projects
implementation models
OLTP (online transaction processing)
implementation strategies
component sponsors
measuring success 2nd
pilot projects
prototype projects
early returns
organization
implementations
help
implementing
partnership model
Import command (Tools menu)
Import Customization option 2nd 3rd
importing
user data (marketing) 2nd 3rd
improving
business (customer-centric)
process model integration 2nd
In Progress folder 2nd
In Progress link
In Progress Queues
Inactive Contact Status
Independent Software Vendor's (ISV)
Independent Software Vendors (ISV)
Independent Software Vendors (ISVs)
indexes
Full Text Indexes
Info views
ABC Bar (Jump Bar)
Action Bar 2nd 3rd 4th
Advanced Find 2nd 3rd
Find Control 2nd
Grid Control
Grid Footer
Grid Header
View Control
information
customer
managing
exchanging
online communities
personal
online community interactions
users
hiding 2nd
information managers
information sharing
Customer Service component
Sales component
Information Technology (IT) 2nd
informed decisions
business (principle applications) 2nd
inheritance
Business Units
roles
Insert Conditions link
inserting
phone numbers
installations
customizing
integration
Mobile Portal
Organization name
installing
application code
Microsoft Outlook Client
instant messaging
distributed computing
integrated analytics
integration 2nd 3rd
.NET
architecture evaluations
back-end
customer-facing applications (evolution)
BizTalk Document Tracking 2nd 3rd 4th 5th
BizTalk Server 2002 Partner edition 2nd 3rd 4th
business exchange
.NET
customer applications
service vendor evaluations
customer personalization
.NET
customer-centricity
deployment
DX (Document Exchange) 2nd 3rd 4th
EAI (enterprise application integration)
external
installing
internal
.NET
MSMQ (Microsoft Message Queuing) 2nd 3rd
points
Great Plains 2nd
process model 2nd
analyzing/improving 2nd
best guess [edit quotes] models 2nd
deliverables
interviews
post implementation
recommendations
resources identification 2nd
role identification 2nd 3rd 4th
related applications
service vendor evaluations
service vendors
best of breed [edit quotes] composition
one-stop shopping
technical components
Settings and Adminstration tool 2nd 3rd 4th 5th 6th 7th 8th
General settings
Great Plains settings 2nd 3rd 4th
Microsoft CRM settings
Integration (testing category) 2nd
Integration component 2nd
existing business management systems
Microsoft Office
Integration Entity Linking dialog box 2nd
integrations
applications
data
Microsoft Outlook
integrator role
process model integration 2nd
integrators
roles
businesses processes (customer-centricity) 2nd 3rd
integrity
business decision support
intelligence applications
customer-centricity
Intelligent CRM Web site
interactions
goals
content management
customer knowledge
customer self-service
integrated analytics
personalization
profitable customer identification
online communities 2nd
anonymity
email
honesty
personal information
problem reporting
setting up 2nd
future releases
goals/priorities
Release #1
release plans 2nd
requirements
top priorities
update requirements 2nd
interative approach
establishing requirements (service vendors)
interenterprise integration (IEI)
interfaces
application programming
user
operation
users 2nd
interfaces. [See also CRMSO (Microsoft CRM Sales for Outlook)]
internal integration
.NET
internal portals
creating
security
international
Navision
internationalization
Internet
change management/market strategy 2nd
channels
media
protocols
.NET integration
Internet Alliance (IA) Web site
interviews
business processes (customer-centricity) 2nd
discussion starters
straw man
viewpoint analysis models
interviews (process model integration)
intregration
migration
Great Plains 2nd
Invoice record
Sales Opportunities 2nd 3rd
Invoice status (Contracts)
Invoice template
Invoiced status (Contracts)
isitCRM.com Web site
ISV (Independent Software Vendor's)
ISV (Independent Software Vendors)
ISV Integration key (web.config file)
isv.config configuration file 2nd 3rd 4th 5th 6th 7th 8th
ISVs (Independent Software Vendors)
IT (Information Technology) 2nd
iterations
Release I
testing (vendors) 2nd
iterative approach
testing
validation/verification processes (vendors) 2nd 3rd 4th

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

Jump Bar (ABC Bar)

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

KB (Knowledge Base)
KB (Knowledge Base) Articles 2nd 3rd 4th
KB (Knowledge Base) Manager 2nd
Article Queues
Subjects
searches 2nd
KB (Knowledge Base) Templates 2nd
Key Performance Indicators (KPIs) 2nd
keys
license
Kit Products
Product Catalog 2nd
Knowledge Base (KB) Sub-Area
Knowledge Base articles
customer service processes 2nd
Knowledge Base. [See KB (Knowledge Base)]
knowledgebases
searchable
Customer Service component
KPIs (Key Performance Indicators) 2nd

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

languages
WSDL (Web Servcies Description Language)
WSDL (Web Services Description Language)
XML (Extensible Markup Languge) documents
creating
Launch in App Mode key (web.config file)
launching
Web sites
lead conversion
Lead Management
lead management
marketing (business processes)
Lead Management
user data imports 2nd 3rd
lead routing
workflow rule
Lead screen
Lead template
Leads 2nd 3rd 4th 5th
converting 2nd 3rd
status
less than sign (<)
levels
cost levels
customer service processes
Liberty Alliance
license keys 2nd 3rd
License Manager 2nd
License tab
licenses
users
licensing 2nd 3rd 4th 5th
configuration editions 2nd 3rd
user
concurrency 2nd
named 2nd
linking
objects to Activities
objects to Notes
users
links
Appointment
customization 2nd
eResource
In Progress
Insert Conditions
resources
online communities
Show All Announcements
Links page
customization
lists
Actions
active
records, exporting
records, printing
Local (Business Unit) Access Level
logging
logs
change
looping workflow 2nd

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

MA (Marketing Automation)
mail merge 2nd 3rd 4th 5th
options
mail. [See also email]
mailboxes
Exchange mailbox
Mailing Labels option (mail merge)
Main view
customizing
ManagedOps.com, Inc.
management
account
marketing (business processes) 2nd
activity
Customer Service component
Sales;component
campaign 2nd
Overture Software
Pop Art
YellowBrick Solutions
case
Customer Service component
customer service processes 2nd
change management
B2B (business-to-business) exchange 2nd 3rd
B2B (business-to-business) exchange, Web services 2nd 3rd
B2B (business-to-business) exchange, Web services (.NET)
B2B (business-to-business) exchange, WSDL (Web Services Description Language)
BPI (business process integration)
Internet 2nd
IT (Information Technology) 2nd
wireless devices 2nd
communication activity (customer-centricity business processes)
competitor
marketing (business processes)
contact
marketing (business processes) 2nd
contact management system
sales processes
content
corporate
contributor role
customer
marketing (business processes) 2nd
lead
marketing (business processes)
Lead Management
user data imports 2nd 3rd
marketing list management
opportunity
marketing (business processes)
Sales;component
order management
Sales component
performance
customer service processes
pipeline management
workflow rule
queue
risk
pilot/prototype projects
sales force (customer-centricity business processes) 2nd
sales literature management (customer-centricity busness processes) 2nd
management. [See also change management]
managers
Customization Transport
Customization Transport Manager
Deployment
Deployment Manager 2nd 3rd 4th
accessing
Attributes 2nd 3rd 4th 5th 6th 7th 8th 9th
Entity Mapper 2nd 3rd 4th
License Manager 2nd
nodes 2nd
publishing configurations 2nd 3rd
Schema Manager 2nd
Server Manager
User Manager 2nd
License Manager 2nd
Query Manager 2nd 3rd 4th
Sales Territory Manager 2nd
Schema
Schema Manager 2nd
Server Manager
Template Manager 2nd 3rd 4th
User Manager 2nd
Workflow 2nd
Workflow Manager 2nd 3rd 4th
change status workflow
manual workflow
Rules versus Sales Processes 2nd
workflow, assigning
workflow, creating
workflow, triggering 2nd
managers. [See also KB (Knowledge Base) Manager]
manual rules
workflow
manual workflow
Mapped Entities tab 2nd
mapping
business processes 2nd
conversion mapping
data mapping
entity values 2nd
fields
objects 2nd
mappings
creating 2nd
CRMSO
maps. [See also Navigation Map]
market strategists
market strategy
B2B (business-to-business) exchange 2nd 3rd
Web services 2nd 3rd
Web services, .NET
WSDL (Web Services Description Language)
BPI (business process integration)
Internet 2nd
IT (Information Technology) 2nd
wireless devices 2nd
market timing 2nd
marketing 2nd
account management (business processes) 2nd
campaigns
tracking
competitor management (business processes)
contact management (business processes) 2nd
contributor role
customer management (business processes) 2nd
customer-focused
direct email 2nd
evolution
front-office
Lead Management
user data imports 2nd 3rd
lead management (business processes)
mail merge
Marketing Encyclopedia (Sales Literature) 2nd
marketing list management (business processes)
one-to-one
opportunity management (business processes)
requirements
marketing (business processes)
Marketing Automation (MA)
Marketing Competence Web site
Marketing Consumer Information File (MCIF)
Marketing Encyclopedia (Sales Literature) 2nd
marketing product managers
Marketing Professional role
marketing sandbox
marketplace
markets
Corporate CRM
analytic applications
customer information 2nd
Data Warehousing 2nd 3rd
reporting 2nd
CRM 2nd
competitors 2nd 3rd
dynamics 2nd
Microsoft Reseller Partner Channel 2nd
mid-sized business solutions
resources
small business solutions
use case
MBF (Microsoft Business Framework) 2nd
MBS (Microsoft Business Solutions)
MCIF (Marketing Consumer Information File)
media
field sales
Internet
Menu Bar (home page)
menus
custom
File
mail merge
merge replication
messages. [See email]
Messaging Port/Distribution List field
meta data
METABASE database
metabase database
Metamorphosis International Web site
methods
Create
HtmlEncode
Page Init()
Run
Section 1 2nd
Section 2
Section 3
Section 4 2nd 3rd
Microsoft
Microsoft .NET
Microsoft bCentral
Microsoft Business Framework (MBF) 2nd
Microsoft Business Solutions (MBS)
Microsoft Business Solutions CRM
Microsoft CRM Sales for Outlook . [See CRMSO]
Microsoft CRM settings (Settings and Administration tool)
Microsoft Gold Certifided Partner Program for Hosting and Applications Services
Microsoft Great Plains
Microsoft Great Plains. [See Great Plains]2nd [See Great Plains]
Microsoft HYPERLINK Outlook
shortcut bars
Microsoft Management Console (MMC)
Deployment Manager
Microsoft Message Queuing (MSMQ) 2nd 3rd
Microsoft Office
Integration component
Microsoft Outlook
access
integration
objects
mapping 2nd
synchronization
Sales component
toolbars
Microsoft Outlook Client
Microsoft Reseller Partner Channel 2nd
Microsoft SQL Desktop Edition (MSDE)
Microsoft SQL Server 2000 [italics]
mid-sized businesses
solutions
middle-out implementation models
CRM projects
middleware tools
data
transforming
migration
Great Plains 2nd
Scribe Migrate
availability
connectivity
customer data
Millionaire Eagles Web site
MIS (Senior Technical Analysts)
contributor role
Miscellaneous tab 2nd
Mixed-mode trees
MMC (Microsoft Management Console)
Deployment Manager
Mobile Portal 2nd 3rd 4th 5th
installing
model corrections
models
best guess [edit quotes] models
building (process model integration)
validating (process model integration)
best guess models
business processes, building (customer-centricity)
business processes, validating (customer-centricity)
business
customer-centricity
business process
change management
diamond
fluidity
change management
implementation
CRM projects
OLTP (online transaction processing)
partnership model
business cases
business requirements
component design 2nd
construction
implementing
project scope
strategic vision
testing 2nd
user model
swim lane process
user model
partnership model
viewpoint analysis
business models (customer-centricity)
business processes (customer-centricity) 2nd 3rd
viewpoint analysis models
interviews
models. [See also process model]
moderators
online communities
modes
native
snapshot replication
modules
Customer Service 2nd 3rd 4th 5th
monitoring
business performancing monitoring
MSCRM database
mscrm_msde database
MSCRMDistribution database
MSDE (Microsoft SQL Desktop Edition)
MSDE databases
MSMQ (Microsoft Message Queuing) 2nd 3rd
MtmlEncode method
multifield search (c360 SearchPac) 2nd 3rd

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

Name field (Contract Templates)
named user licensing 2nd
names
Organzation
naming
schema fields
server databases
Service Contract Templates
National Change of Address (NCOA)
native mode
snapshot replication
Native mode trees
navigation
Quick Launch customization 2nd
Navigation Map 2nd
Navigation Pane (home page)
Quick Create
navigation. [See report navigation]
Navision 2nd
NCOA (National Change of Address)
NET 2nd
business exchange integration
customer personalization integration
distributed computing
empowering business people
Enterprise Portal 2nd
expanded customer access
integration
internal integration
new revenue streams
shorter development times
Web services
Web sites
evolving
Net ($) field (Contract Line Items)
New Activity command (New menu)
New Article button
New Contract button
New Document from Existing Document option (mail merge)
New Email Template button
New menu commands
New Activity
New Schema Field Properties dialog box 2nd
news
online communities 2nd
CRMConferences.com
RealMarket Today
Search CRM
nodes
Deployment Manager 2nd
Attributes 2nd 3rd 4th 5th 6th 7th 8th 9th
Entity Mapper 2nd 3rd 4th
Schema Manager 2nd
nondisclosure agreements
service vendors
Note objects
creating
Notes 2nd 3rd 4th 5th
attaching
linked objects
notes (special feature) 2nd
Notes record
Sales Opportunities
notifications
workflow rule
numbers
phone
inserting

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

object type
actions 2nd 3rd
object type codes 2nd 3rd 4th
objects
Accounts
Activities
linking
Contact Status
Contacts 2nd
fields
types
CRMAccount
CRMContact
CRMCustomerAddress
CRMQuery
Customer Service
Contract Templates 2nd 3rd
Contract Templates, fields 2nd 3rd 4th
Leads
relationships
Service Contract Templates
Service Contracts 2nd 3rd
Service Contracts, Contract Line Item Calendar
Service Contracts, Contract Line Items 2nd 3rd 4th 5th
Service Contracts, fields 2nd 3rd
Service Contracts, lifecycle
Service Contracts, statuses 2nd 3rd 4th
eResources 2nd
future
mapping 2nd
Note
creating
Notes
linking
Opportunity
related
updating 2nd 3rd
statuses 2nd
workflow
triggering
Office (Microsoft)
Integration component
offline
going offline 2nd 3rd
data conflicts 2nd 3rd
dropped connections 2nd
hardware failure 2nd
scalability 2nd 3rd
offline concepts
CRMSO 2nd 3rd
data
records
offline features 2nd
Offline Folder file
OLAP (online analytic processing systems)
OLTP (online transaction processing)
comparisons 2nd
implementation model
requirements 2nd
On Hold status (Contracts)
OnChange events
JavaScript
adding 2nd
Oncontact Software
one--stop shopping
service vendor integration
one-to-one marketing
Ongoing Performance Testing (testing category) 2nd
online analytic processing systems (OLAP)
online business. [See e-business]
online communities 2nd 3rd 4th 5th 6th
associations
AARM (Association for the Advancement of Relationship Marketing)
Association for Interactive Marketing (AIM)
Business Process Management Group
CRM Assist
CRM Foundation
CRM Project
CRM-Forum
CRM2day
CRMCommunity
CRMguru.com
CRMXchange
Customer Service Network
Destination CRM
eCustomerServiceWorld.com
GreaterChinaCRM.org
Intelligent CRM
Internet Alliance (IA)
Marketing Competence
Resource Center
The Direct Marketing Association (The DMA)
collaboration opportunities
connecting
cautions
guidelines
consulting resources
information exchange
inspiration
Archetype Discoveries Worldwide
Excalibur Exhibits and Events
Metamorphosis International
Millionaire Eagles
The Perfect Customer
interactions 2nd
anonymity
email
honesty
personal information
problem reporting
moderators
news
CRMConferences.com
RealMarket Today
Search CRM
peer support
publications
Customer Contact World Magazine
e-CRM Magazine
Field Force Automation [italics] Magazine
questions/answers 2nd
research resources
resource links
resources
1to1service
Business Intelligence
Capterra
ECCS
Hewson Group
isitCRM.com
Talisma Corporation
rules
use case
vendor resources
online communties
associations
inspiration
news
publications
resources
online features 2nd
Online Services icon
online transaction processing (OLTP)
comparisons 2nd
implementation model
requirements 2nd
Onxy
Onyx
operation applications
Data Warehousing
operations
user interfaces
operators
*=
-=
AND
AND NOT
OR
Update Object
operators =
operators+=
Opportunities
Opportunities (Sales) 2nd
Activities records 2nd 3rd
Competitor records 2nd
Contacts records
fields 2nd
forecast
Invoice records 2nd 3rd
Notes records
Orders records 2nd
pipeline
Product records 2nd
Quotes records 2nd
records
Sales tab
setting up 2nd 3rd
opportunity management
marketing (business processes)
Sales component
Opportunity object
Opportunity template
opportunity tracking
workflow rule
Options command (Tools menu) 2nd 3rd 4th 5th
OR operator
Oracle Small Business Suite 2nd
order management
Sales component
Order template
Orders record
Sales Opportunities 2nd
Organization
hierarchy
organization
implementation strategies (vendors)
Organization names
organizing
sales process (customer-centricity business processes)
Originating Contract field (Service Contracts)
Outlook
access
auto-signature feature
integration
reports
synchronization
Sales component
Outlook. [See Microsoft Outlook]
Overture Software
Owner field (Service Cases)
Owner field (Service Contracts)
owners
business applications
service vendors 2nd 3rd
Owners
records 2nd

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

Page Control
Page Init() method
pages
Clone.aspx
pages. [See also home page]
partners
requirement communications (service vendors)
sales
partnership model
business cases
business requirements
component design 2nd
construction
implementing
project scope
strategic vision
testing 2nd
user model
PassParams element (isv.config file)
PayPal
peer support
online communities
Peppers & Rogers
Perfect Customer (The) Web site
performance
business
measuring
companies
service vendor evaluations 2nd
performance management
customer service processes
personal folder file 2nd
personal information
online community interactions
Personal templates
Personal Work (Workplace Sub-Area)
personalization
customers
phone numbers
inserting
picklist fields 2nd 3rd 4th 5th
OnChange events
JavaScript, adding 2nd
pilot projects
component sponsors
implentation strategies
vendors 2nd 3rd
results evaluation 2nd
risks 2nd 3rd
pipeline
pipeline management
workflow rule
pipelines
sales
Pivotal
planning 2nd
business
contributor role
prototype meetings
requirement communications (service vendors) 2nd
steering committees
platform 2nd 3rd
architecture evaluations
business
platforms
business
Pop Art
portals
customer
scenarios
customer (evolution)
Customer Portal
Enterprise Portal 2nd
external
creating
security
internal
creating
security
Mobile Portal 2nd 3rd 4th 5th
installing
positioning
product
Post URL (workflow action) 2nd
pound sign (#)
pragmatic approaches
project approaches (change management) 2nd
previews
customizing 2nd
Price List Items
Price Lists
Product Catalog
pricing analysts
Pricing field (Service Contracts)
principles
busineses
applying
applying, making informed decisions 2nd
applying, selling effectively
applying, service
Print button
Print Quote for Customer command (File menu)
printing
active record lists
Invoices
Quotes
records
priorities
defining
identifying
prioritizing
business needs
establishing requirements (service vendors)
Priority field (Service Cases)
Privileges 2nd 3rd 4th
Append
Append To
Assign
Create
Delete
Enable/Disable
Read
Reparent
roles
Share
privileges
users and roles
Workflow Process
Workflow Process Instance
Privileges
Write
priviligees
Queues
problem reporting
online community interactions
process model
integration 2nd
analyzing/improving 2nd
best guess [edit quotes] models 2nd
deliverables
interviews
post implementation
recommendations
resources identification 2nd
role identification 2nd 3rd 4th
process models
business process redesign
processes
converting
customer service
automating 2nd
case management 2nd
contract services
cost levels
customer feedback
FAQs (Frequently Asked Questions) 2nd
Knowledge Base articles 2nd
performance management
queuing 2nd
routing 2nd
sales
customer-centricity business processes 2nd 3rd 4th 5th 6th 7th 8th
modifying
Sales Process
Activities, creating (workflow)
creating (workflow) 2nd 3rd 4th
Sales Processes
versus Rules 2nd
validation/verification
vendors
vendors, quality
vendors, testing 2nd 3rd 4th 5th 6th 7th
vendors, testing categories 2nd 3rd
processes. [See also business processes]
processing
analytical
entitlement
processing. [See also transaction processing]
Product Catalog
Discount Lists
Price List Items
Great Plains Accouting system
Kit Products 2nd
Price Lists
Products 2nd 3rd
grouping
Subjects
write-in 2nd
Unit Groups
product engineering
contributor role
Product field (Contract Line Items)
Product field (Service Cases)
product positioning
Product record
Sales Opportunities 2nd
Products
grouping
Kit (Product Catalog) 2nd
Product Catalog 2nd 3rd
Subjects
products
viability
service vendor evaluations
Products
Write In
write-in 2nd
Professional edition
professional editions
Professional editions
Customer Service
profitability analysts
profitable customers
identifying
project approaches
change management
pragmatic approaches 2nd
structured approaches
unstructured approaches 2nd
project scope
partnership model
projects
pilot
component sponsors (implentation strategies)
pilots
vendors 2nd 3rd
vendors, results evaluation 2nd
vendors, risks 2nd 3rd
prototype
component sponsors (implentation strategies)
prototypes
vendors 2nd
vendors, risks 2nd 3rd
Promote Email to CRM Activity button 2nd
promotion managers
properties
Regarding
protocols
BCP (Bulk Copy Protocol)
Internet
.NET integration
SOAP (Simple Object Access Protocol)
prototype meetings
prototype projects
component sponsors
implentation strategies
vendors 2nd
risks 2nd 3rd
Public Folders
Public Queues
public relations specialists
publications
online communities 2nd
Customer Contact World Magazine
e-CRM Magazine
Field Force Automation [italics] Magazine
subscribing
Publish Customization option
Published Entities tab 2nd
publishing
configurations (Deployment Manager) 2nd 3rd
pull subscriptions
CRMSO

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

quality
validation/verification processes (vendors)
Quantity field (Contract Line Items)
Query Manager 2nd 3rd 4th
questions/answers
online communities 2nd
queue management
Queues 2nd 3rd 4th
Activities
queues
Article Queues
Subjects
Queues
Case assignments 2nd
queues
Draft Queues
Queues
privileges
Public Queues
User Queues
Queues (Workplace Sub-Area) 2nd
queuing
Customer Service component
customer service processes 2nd
Quick Call button
Quick Create (home page)
Quick Launch
navigation 2nd
Quotas 2nd
quotas
Sales component
Quote template
Quotes
printing
Quotes record
Sales Opportunities 2nd
Qwest Communications International, Inc.

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

Rate ($) field (Contract Line Items)
Read Privilege
RealMarket Today Web site
recommendations
business processes (customer-centricity) 2nd
process model integration
records
active lists
exporting
printing
Advanced Find tool 2nd
assigning 2nd
Business Management 2nd
Core records 2nd
exporting
locating
offline (CRMSO)
Owners 2nd
previews
customizing 2nd
printing
retrieving (views) 2nd
Sales 2nd
Sales Literature 2nd
Sales Opportunities
Activities 2nd 3rd
Competitor 2nd
Contacts
Invoice 2nd 3rd
Notes
Orders 2nd
Product 2nd
Quotes 2nd
Service 2nd
sharing 2nd
teams
reengineering
partnership model
Refresh button
refreshing
reports
Regarding property
regional manaqers 2nd
Register Lead (Post URL action)
Regression (testing category) 2nd
related applications
integration
service vendor evaluations
related objects
updating 2nd 3rd
Relationship Type field
relationships
customer
individualizing
Customer Service objects
resources (business technology consultants)
service vendors
Release #1 2nd
implementing
Release I
testing
validation/verification processes (vendors) 2nd
release plans
identifying 2nd
releases
future releases
Render Quick Create Control key (web.config file)
Reparent Privilege
replication
merge
snapshot 2nd
SQL Server 2nd
GUID (Global Unique Identifier)
Report Group bar
report navigation 2nd
charts 2nd
controls
filtering 2nd
grouping
report data
exporting 2nd
searches
subreports 2nd
tables 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th
reporting
Corporate CRM 2nd
problems
online community interactions
reporting specialists
reports
administrative 2nd
creating 2nd 3rd
custom 2nd 3rd
customer service 2nd 3rd 4th
data capture
modifying 2nd 3rd
Outlook
prerequisites
refreshing
sales 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th
Sales component
reports (customer-centricity busness processes)
reports. [See also Crystal Reports]
request for proposal (RFP)
requests
change management 2nd
requirements
businesses
partnership model
defining
requirements. [See establishing requirements]
research
resources
online communities
Reseller Partner Channel (Microsoft) 2nd
Resolved status (Service Cases)
Resource Center Web site
resources
consulting
online communites
Data Warehousing
identifying (process model integration) 2nd
markets
online communities 2nd
1to1service
Business Intelligence
Capterra
ECCS
Hewson Group
isitCRM.com
Talisma Corporation
relationships (business technology consultants)
research
online communities
vendors 2nd
online communities
requirement communications (service vendors)
resources. [See Web resources]
resoureces
links
online communities
Response Level field (Contract Templates)
Response Level field (Service Contracts)
respositories
data
Shadow Copies
revenue streams
.NET
RFP (requests for proposal)
roles 2nd 3rd 4th 5th
business processes
champions (customer-centricity)
contributors (customer-centricity)
integrators (customer-centricity) 2nd 3rd
business processes (customer-centricity)
CEO-Biz Mgr
CSR
CSR Manager
identifying (process model integration) 2nd 3rd 4th
inheritance
Marketing Professional
record types
Sales Manager
Sales Rep
storing
System Admin
users
users and privileges
VP of Sales
routing
call
Customer Service component
customer service processes 2nd
lead routing
workflow rule
rows
managing
Rule Templates
creating
rules
80/20
creating
Rules
creating
rules
manual
workflow
online communities
Rules
versus Sales Processes 2nd
rules
workflow
creating
wrapper
workflow
Run method
Section 1 2nd
Section 2
Section 3
Section 4 2nd 3rd
Run Subprocess (workflow action) 2nd

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

sales
contributor role
front-office
partners
Sales component 2nd 3rd 4th
activity mangement
complete customer view
direct email
Great Plains integrations
information sharing
Microsoft Outlook synchroniation
opportunity mangement
order management
quotas
reports
sales library
workflow rules
Sales configuration
Sales configurations
Sales Documents tab
Sales edition
Sales Force Automation
salesforce.com Inc.
SalesLogix2000
Sales Force Automation (SFA)
Sales Force Automation. [See SFA]
sales force management
sales processes (customer-centricity business processes) 2nd
sales library
Sales component
Sales Literature (Marketing Encyclopedia) 2nd
Sales Literature check box
sales literature management (customer-centricity busness processes) 2nd
Sales Manager role
Sales Opportunities 2nd
Activities record 2nd 3rd
Competitor record 2nd
Contacts record
fields 2nd
forecast
Invoice record 2nd 3rd
Notes record
Orders record 2nd
pipeline
Product record 2nd
Quotes record 2nd
records
Sales tab
setting up 2nd 3rd
sales personnel
sales pipeline
Sales Process
Activities
creating (workflow)
creating (workflow) 2nd 3rd 4th
sales process
customer-centricity business processes 2nd 3rd 4th 5th 6th 7th 8th
Sales Process
triggering (workflow)
Sales Process tab 2nd
Sales Process Template
sales processes
modifying
Sales Processes
versus Rules 2nd
Sales Professional configuration
Sales records 2nd
Sales Rep role
sales reports 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th
Sales Stages
workflow
triggering
Sales tab
Sales Territory Manager 2nd
sales. [See also field sales]
Salesforce.com
salesforce.com Inc.
Saleslogix
SalesLogix2000
sandbox (marketing)
Satisfaction field (Service Cases)
scalability (CRMSO) 2nd 3rd
scenarios
customer portal development
test 2nd
example 2nd
user
business processes (customer-centricity) 2nd 3rd
schema fields
adding 2nd 3rd 4th 5th 6th 7th
naming
Schema Manager 2nd 3rd
scope
partnership model
scope creep
screens
Contract Line Item
Edit a Workflow
Lead
Service Case
System Settings
Update Object
User Options
Workflow Log 2nd
Workflow Summary
Scribe Migrat component
availability
connectivity
customer data
Scribe Software Corporation
scripts
triggers
Search Box
Search CRM Web site
Search tab 2nd
search wildcards
# (pound sign)
* (asterisk)
searchable knowledgebases
Customer Service component
searches
ABC Bar (Jump Bar)
Action Bar 2nd 3rd 4th
Advanced Find 2nd 3rd
customer service representatives (CSRs)
Find Control 2nd
FTS (Full Text Search) 2nd
Grid Control
Grid Footer
Grid Header
multifield search (c360 SearchPac) 2nd 3rd
reports
View Control
SearchPac (c360) 2nd 3rd
multifield search 2nd 3rd
Query Manager 2nd 3rd 4th
security
Business Unit Settings 2nd
Access Levels 2nd
Business Units 2nd
Privileges 2nd 3rd 4th
Queues 2nd
Quotas
roles 2nd 3rd 4th 5th
teams 2nd
users 2nd
external portals
internal portals
workflow
self-help
customers
Onyx
Oracle Small Business Suite
selling effectivly
business (principle applications)
Send Email (workflow action) 2nd
Senior Technical Analysts (MIS)
contributor role
Serial # field (Contract Line Items)
Serial Number field (Service Cases)
server applications
Exchange Connector 2nd
server databases
naming
Server Manager
servers
BizTalk Server 2002 Partner edition 2nd 3rd 4th
Exchange Server 2nd
SQL
replication 2nd
SQL Server
replications, GUID (Global Unique Identifier)
service
business (principle applications)
Service Case screen
Service Cases 2nd 3rd 4th 5th
Activities
escalation 2nd
fields 2nd 3rd 4th
grouping
statuses
Service Contracts 2nd 3rd
Contract Line Item Calendar
Contract Line Items 2nd 3rd 4th 5th
fields 2nd 3rd
fields 2nd 3rd
lifecycle
statuses 2nd 3rd 4th
Service Contracts Templates
service delivery
contributor role
Service Level Agreements (SLAs)
Service Level field (Service Cases)
Service menu commands
Contracts
service perosonnel
service prioritization matrix 2nd 3rd 4th 5th
Service records 2nd
service vendors
business applications
owners 2nd 3rd
contracts/agreements
RFP (requests for proposal)
virtual connections 2nd
establishing requirements
customer feedback
delivery releases
iterative approach
prioritizing business needs
technology services
evaluating
architecture 2nd
company performance/viability 2nd
customer application integration
features
functinality
product viability
related applications integration
single view of customer
integrating
best of breed [edit quotes] composition
one-stop shopping
technical components
integration process model 2nd
analyzing/improving 2nd
best guess [edit quotes] models 2nd
deliverables
interviews
post implementation
recommendations
resources identification 2nd
role identification 2nd 3rd 4th
partnership model
business cases
business requirements
component design 2nd
construction
implementing
project scope
strategic vision
testing 2nd
user model
proactive communications 2nd
relationships
requirement communications 2nd
partners
planning 2nd
teams 2nd
vendor resources
use case 2nd 3rd
Vendor SWOT matrix
service. [See also Customer Service]
ServiceHub
services
CRM
campaign management 2nd
campaign management, Overture Software
campaign management, Pop Art
campaign management, YellowBrick Solutions
customer contact
customer contact, Siemens' HiPath ProCenter Office
customer contact;Customer Care International's Xtend Commerce
customer self-help
customer self-help, Onyx
customer self-help, Oracle Small Business Suite
eCommerce
eCommerce, Microsoft bCentral
eCommerce, Oracle Small Business Suite
eCommerce, PayPal
field service automation
field service automation, IBM Start Now Wireless Solutions for Small and Medium business
field service automation, ServiceHub
Sales Force Automation
Sales Force Automation, salesforce.com Inc.
Sales Force Automation, SalesLogix2000
Web Content Management ASP Vendors
Web Content Management ASP Vendors, Atomz
Web Content Management ASP Vendors, Clickability
Web Content Management ASP Vendors, CrownPeak
technology services
establishing requirements (service vendors)
Web
.NET
Services Cases
assigning (Queues) 2nd
setting up 2nd
future releases
goals/priorities
Release #1
release plans 2nd
requirements
top priorities
update requirements 2nd
settings
Auto-Numbering 2nd
Business Unit Settings 2nd
Access Levels 2nd
Business Units 2nd
Privileges 2nd 3rd 4th
Queues 2nd
Quotas
roles 2nd 3rd 4th 5th
teams 2nd
users 2nd
Fiscal Year Settings
System Settings
Settings and Administration tool 2nd 3rd 4th 5th 6th 7th 8th
General settings
Great Plains settings 2nd 3rd 4th
Microsoft CRM settings
Settings menu commands
Business Unit Settings, Users
System Customization
Settings tab 2nd 3rd
SFA
(Sales Force Automation)
B2B versus B2C
Leads 2nd
converting 2nd 3rd
status
marketing
direct email 2nd
Lead Management
Lead Management, user data imports 2nd 3rd
mail merge
Marketing Encyclopedia (Sales Literature) 2nd
marketing sandbox
Quotas
Sales Opportunities 2nd
Activities record 2nd 3rd
Competitor record 2nd
Contacts record
fields 2nd
forecast
Invoice record 2nd 3rd
Notes record
Orders record 2nd
pipeline
Products record 2nd
Quotes record 2nd
records
Sales tab
setting up 2nd 3rd
Sales Territory Manager 2nd
SFA (Sales Force Automation)
Shadow Copies
data respositories
Share Privilege
sharing
records 2nd
transformed data
shortcut bars
Microsoft Outlook
Show All Announcements link
Show Developer Errors key (web.config file)
Show the name of this section on the form check box
Siebel
Siemens' HiPath ProCenter Office
Simple Object Access Protocol (SOAP)
single views
customers
service vendor evaluations
Site field (Contract Line Items)
sites. [See also Web sites]2nd [See Web sites]
SLAs (Service Level Agreements)
small businesses
solutions
snapshot replication 2nd
SOAP
Internet protocol (.NET)
SOAP (Simple Object Access Protocol)
software
Scribe Software Corporation
solutions
horizontal/vertical 2nd
mid-sized businesses
small businesses
spam
special features
cautions
cross-references
notes 2nd
tips
troubleshooting
Use Case Corner
sponsors
component
implementation strategies
implementation strategies, measuring success 2nd
implementation strategies, pilot projects
implementation strategies, prototype projects
SQL Server
replications
GUID (Global Unique Identifier)
SQL Server replication 2nd
Standard edition
standard editions
Standard editions
Customer Service
Start Date field (Contract Line Items)
State/Province field
status
Leads
Status fields 2nd
Status Reason field (Service Cases) 2nd
Status Reason fields 2nd
statuses
objects 2nd
Service Cases
Service Contracts 2nd 3rd 4th
steering committees
Stop (workflow action) 2nd
storing
attached documents
roles
strategic vision
partnership model
strategy
customer-centricity
stratetic planners
straw man
interviews
Stress (testing category) 2nd
strings
FetchXml
invalid XML characters
structured approaches
project approaches (change management)
Sub-Areas
Activities (Workplace) 2nd
Bottom Bar
Calendar (Workplace) 2nd
Knowledge Base (KB)
Workplace 2nd
Personal Work
Queues 2nd
Subject field (Service Cases)
Subject Hierarchy
Subjects 2nd
Products
Submit Mailing (Post URL action)
Submit Order (Post URL action)
subreports 2nd
subscriptions
pull
CRMSO
Substitutes tab
Suite configurations
suppliers interactions
data management lifecycle
supporting
business decisions 2nd
survey/profiles
swim lane process models
SWOT (Strengths, weaknesses, Opportunities, and Threats) Analysis
synchronization 2nd 3rd
CRMSO
data conflicts 2nd 3rd
dropped connections 2nd
hardware failure 2nd
scalability 2nd 3rd
data synchronization errors
Microsoft Outlook
Sales component
SQL Server replication 2nd
synchronizing
CRMCO
data
syntax
isv.config file 2nd
Links.htm page 2nd
System Admin role
System Customization 2nd 3rd 4th
forms
customizing 2nd 3rd 4th 5th 6th
previews
customizing 2nd
Status fields 2nd
Status Reason fields 2nd
views 2nd 3rd 4th 5th
Advanced Find view
Associated view
Main view
System Customization command (Settings menu)
System Settings
System templates
systems
account-management
contact management
sales processes
disparate (evolution)
e-commerce (evolution)

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

tables
columns
adding
reports 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th
tabs
Accounts/Contacts
Activities 2nd 3rd
Activity History
Activity Summary
Comments
custom
Customers
Default Values 2nd 3rd
Email
History 2nd 3rd
License
Mapped Entities 2nd
Miscellaneous 2nd
Published Entites
Published Entities
Sales
Sales Documents
Sales Process 2nd
Search 2nd
Settings 2nd 3rd
Substitutes
Talisma Corporation Web site
target customers 2nd 3rd
teams
managing 2nd
records
requirement communications (service vendors) 2nd
technical components
service vendor integration
technical precision
business processes 2nd
technology
.NET
business exchange integration
customer personalization integration
empowering business people
Enterprise Portal 2nd
expanded customer access
integration
internal integration
new revenue streams
shorter development times
Web site evolution
certification 2nd
distributed computing
vendor collaboration 2nd
technology services
establishing requirements (service vendors)
technology transfer
consulting
telephony
Template Email option (mail merge)
Template Letter option (mail merge)
Template Manager 2nd 3rd 4th
templates
Account
Case
Contact
Contract
Contract Templates 2nd 3rd
fields 2nd 3rd 4th
Create Rule from Template
email 2nd 3rd 4th 5th
use case 2nd
Global
Invoice
KB (Knowledge Base) Templates 2nd
Lead
Opportunity
Order
Personal
Quote
Rule
creating
Sales Process Template
Service Contract Templates
System
territories
sales processes (customer-centricity business processes)
Sales Territories 2nd
test scenarios 2nd
example 2nd
testing
categoreies
validation/verification processes (vendors) 2nd 3rd
iterative appraoch
validation/verification processes (vendors) 2nd 3rd 4th
partnership model 2nd
Release I
validation/verification processes (vendors) 2nd
validation/verification processes (vendors)
Text (TXT) files 2nd
thresholds
business alerts
time boxes
pragmatic approach (change management)
Time to Live (TTL) setting
Time Zone
tips (special feature)
Title element (isv.config file)
Title field (Contract Line Items)
Title field (Service Cases)
toolbars
Microsoft Outlook
tools
data extract
data, transforming
data import 2nd 3rd 4th 5th
middleware
data, transforming
Settings and Administration 2nd 3rd 4th 5th 6th 7th 8th
General settings
Great Plains settings 2nd 3rd 4th
Microsoft CRM settings
transformation
data, transforming
Tools menu command
Import
Tools menu commands
Advanced Find 2nd
Options 2nd 3rd 4th 5th
User Options
top priorities
identifying
top-down implementation model
OLTP (online transaction processing)
Total Cases/Minutes field (Contract Line Items)
Total Discount ($) field (Service Contracts)
Total Price ($) field (Contract Line Items)
Total Price ($) field (Service Contracts)
tracking 2nd
Activities
BizTalk channels 2nd
call
opportunity tracking
workflow rule
traditional channels
fusing (customer-centricity) 2nd
transaction processing
business 2nd
data management lifecycle
business decision support 2nd
business transaction processing 2nd
customer interactions
external portals
internal portals
sharing transformed data
suppliers interactions
holistic view
horizontal view
requirements 2nd 3rd
transactions
close
transformation tools
data
transforming
transformed data
sharing
transforming
fields
tree
Native mode
trees
Mixed-mode
triggering
events
Sales Process
creating (workflow)
workflow 2nd 3rd
triggers
troubleshooting (special feature)
TTL (Time to Live) setting
TXT (Text) files 2nd
type
object type
actions 2nd 3rd
types
Activities
Contacts

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

UDDI (Universal Description, Discovery and Integration) registry
Unit field (Contract Line Items)
Unit Groups
Product Catalog
units of measure
Unit Groups
Universal Description, Discovery and Integration (UDDI) registry
unstructured approaches
project approaches (change management) 2nd
Update Object (workflow action) 2nd 3rd 4th
Update Object screen
updates
requirements 2nd
upgrading 2nd
UpShot
Url element (isv.config file)
URLs
associated
Announcements Cell
Use Case Corner (special feature)
use cases
Activities
creating 2nd
business processes 2nd
c360 SearchPac 2nd 3rd
multifield search 2nd 3rd
Query Manager 2nd 3rd 4th
Customer Service
transitioning new customers 2nd
email templates 2nd
marketing campaigns
tracking
markets
migration
Scribe Migrate
Scribe Migrate, availability
Scribe Migrate, connectivity
Scribe Migrate, customer data
Mobile Portal 2nd 3rd 4th 5th
installing
navigation
Quick Launch customization 2nd
OnChange events
JavaScript, adding 2nd
online communities
service vendors 2nd 3rd
vendors 2nd
Workflow Monitor
automating business processes 2nd 3rd 4th
user data
importing (marketing) 2nd 3rd
User Groups
User Indicator (home page)
User Interface (testing category) 2nd
user interfaces 2nd
operations
user licensing
concurrency 2nd
named 2nd
User Manager 2nd
User Manager Wizard
user model
partnership model
User Options command (Tools menu)
User Options screen
User Queues
user scenarios
business processes (customer-centricity) 2nd 3rd
Users
Activities
users
information
hiding 2nd
licenses
linking
managing 2nd
roles
roles and privileges
teams 2nd
Usinternetworking, Inc.

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

validation processes
vendors
quality
testing
testing categories 2nd 3rd
testing, iterative approach 2nd 3rd 4th
testing, Release I 2nd
ValidForCreate element (isv.config file)
ValidForUpdate element (isv.config file)
values
customer information
entity
mapping 2nd
identification
assigning
vendor resources
requirement communications (service vendors)
Vendor SWOT matrix
vendor SWOT matrix
vendors 2nd
change management 2nd
approches, selecting 2nd
change logs
corrections 2nd
corrections, drafts 2nd 3rd 4th
corrections, making decisions
corrections, model fluidity
corrections, models
model corrections
project approaches
project approaches, pragmatic 2nd
project approaches, structured
project approaches, unstructured 2nd
requests 2nd
collaborating 2nd
implementation strategies
component sponsors
component sponsors, measuring success 2nd
component sponsors, pilot projects
component sponsors, prototype projects
early returns
organization
ISVs (Independent Software Vendors)
pilot projects 2nd 3rd
results evaluation 2nd
risks 2nd 3rd
prototype projects 2nd
risks 2nd 3rd
resources 2nd
online communities
selecting 2nd 3rd
service vendors
relationships
use case 2nd
validation/verification processes
quality
testing
testing categories 2nd 3rd
testing, iterative approach 2nd 3rd 4th
testing, Release I 2nd
Web Content Management ASP Vendors
Atomz
Clickability
CrownPeak
vendors. [See also service vendors]
verification processes
vendors
quality
testing
testing categories 2nd 3rd
testing, iterative appraoch 2nd 3rd 4th
testing, Release I 2nd
versions 2nd 3rd 4th 5th
Vertical Filtering
vertical solutions 2nd
verticals
CRM competitors
View Control
viewpoint analysis models
business models (customer-centricity)
business processes (customer-centricity) 2nd 3rd
interviews
views
Advanced Find view
Associated view
Contact Info
Full Name column
customer
business processes, aligning (customer-centricity)
customizing 2nd 3rd 4th 5th
grid view
mail merge
holistic view (transaction processing)
horizontal view (transaction processing)
Info
ABC Bar (Jump Bar)
Action Bar 2nd 3rd 4th
Advanced Find 2nd 3rd
Find Control 2nd
Grid Control
Grid Footer
Grid Header
View Control
Main view
managing
records
retrieving 2nd
virtual connectons
service vendors 2nd
VP of Sales role

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

W3C (World Wide Web Consortium)
wait activity condition (workflow condition)
wait for condition (workflow condition)
wait for conditions (workflow condition)
wait for object condition (workflow condition)
wait for timer condition (workflow condition) 2nd
Web
acess
Web client
Web Content Management ASP Vendors
Atomz
Clickability
CrownPeak
Web Hits
Web resources
customizing 2nd 3rd 4th
Web Servcies Description Language (WDSL)
Web services 2nd 3rd
.NET 2nd
XML
.NET integration
business exchange integration
customer personalization integration
new revenue streams
Web Services Description Language (WSDL)
Web Services Interoperability Organization (WS-I)
Web sites
1to1service
AARM (Assocation for the Advancement of Relationship Marketing)
Applix
Archetype Discoveries Worldwide
Association for Interactive Marketing (AIM)
Atomz
Business Intelligence
Business Process Management Group
Capterra
Clickability
CRM Assist
CRM Community
CRM Foundation
CRM Project
CRM-Forum
CRM2day
CRMConferences.com
CRMguru.com
CRMXchange
CrownPeak
Crystal Decisions
Customer Care International's Xtend Commerce
Customer Contact World Magazine
Customer Service Network
Destination CRM
Dynamic Methods
e-CRM Magazine
ECCS
eCustomerServiceWorld.com
Epicor
evolving
Excalibur Exhibits and Events
Field Force Automation [italics] Magazine
Firepond
Frontrange
GreaterChinaCRM.org
Hewson Group
IbM Start Now Wireless Solutions for Small and Medium business
Intelligent CRM
Internet Alliance (IA)
isitCRM.com
launching
ManagedOps.com, Inc.
Marketing Competence
Metamorphosis International
Microsoft bCentral
Millionaire Eagles
Oncontact Software
Onyx 2nd
Oracle Small Business Suite 2nd
Overture Software
PayPal
Pivotal
Pop Art
Qwest Communications International, Inc.
RealMarket Today
Resource Center
Salesforce.com
salesforce.com Inc.
Saleslogix
SalesLogix2000
Search CRM
ServiceHub
Siebel
Siemens' HiPath ProCenter Office
Talisam Corporation
The Direct Marketing Association (The DMA)
The Perfect Customer
UpShot
Usinternetworking, Inc.
YellowBrick Solutions
Web-based Distributed Authoring and Versioning (WebDAV)
web.config configuration file 2nd 3rd 4th 5th
web.config file
Quick Create
WebDAV (Web-based Distributed Authoring and Versioning)
wildcards
search wildcards
# (pound sign)
* (asterisk)
windows
Advanced Query Builder
Windows authentication 2nd
WinMode element (isv.config file)
WinParams element (isv.config file)
WIP (Work In Progress) Queues
wireless devices
change management/market strategy 2nd
wizards
Channel Properties
User Manager 2nd 3rd
Work In Progress (WIP) Queues
Workflow
workflow 2nd
actions
Assign Object 2nd
Change Status
Create Activity 2nd
Create Note
Post URL 2nd
Run Subprocess 2nd
Send Email 2nd
Stop 2nd
Update Object 2nd 3rd 4th
conditions
check activities
check for condition 2nd
check object condition
Else[ellipsis]If construct
wait activity condition
wait for condition
wait for conditions
wait for object condition
wait for timer condition 2nd
loopping
manual rules
Sales Process
Activities, creating
creating 2nd 3rd 4th
triggering
security settings
triggering
wrapper rules
Workflow Log screen 2nd
Workflow Manager 2nd 3rd 4th 5th 6th
change status workflow
manual workflow
Rules versus Sales Processes 2nd
workflow
assigning
creating
triggering 2nd
Workflow Monitor 2nd 3rd
business processes
automating 2nd 3rd 4th
Workflow Process Instance privilege
workflow process instances
creating
Workflow Process privilege
workflow rules
creating
Sales component
Workflow Summary screen
Workplace
Sub-Areas
Activities 2nd
Calendar 2nd
Knowledge Base (KB)
Workplace 2nd
Workplace;Personal Work
Workplace;Queues 2nd
World Research Group (WRG)
World Wide Web Consortium (W3C)
wrapper rules
workflow
WRG (World Research Group)
Write In Products
Write Privilege
write-in Products 2nd
WS-I (Web Services Interoperability Organization)
WSDL (Web Servcies Description Language)
WSDL (Web Services Description Language)

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

XML
FetchXML
Internet protocol (.NET)
SOAP (Simple Object Access Protocol)
XML (Extensible Markup Languge) documents
creating
XML Web services
.NET integration
business exchange integration
customer personalization integration
customer/supplier interactions
new revenue streams
Xtend Commerce (Customer Care International)

[ Team LiB ]


[ Team LiB ]

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

YellowBrick Solutions

[ Team LiB ]


Team LiB

Brought to You by

Like the book? Buy it!