Customer Relationship Management, or CRM, is a much-used but widely misunderstood term. By its nature the concept is a vague one to define, because the field of liaising with customers (both potential and existing) is a sizeable one that's hard to constrain within easily expressed boundaries. But we'll have a go.

The basis of CRM is really workflow management. The subjects of the workflow are customers - and at the beginning of the flow this conceivably means everyone in the world, because it includes people you've thought of but haven't even spoken to yet.

Our customer base is the whole universe
The customer interface process begins with a lead - the name of someone you think you can sell something to. Once a lead has been placed in the CRM system, the software will walk it through the sales process. So it's the CRM system that will remind you to call someone back on a predetermined schedule, for instance. Each time you interact with a customer you'll record this fact in the CRM system so that when you go back to deal with that person again (or if someone else interacts with the same customer) the record is there of precisely what's been said and what actions have been taken. At the same time, the CRM system is a repository of documents, calls and messages. When an interaction with a customer is required, by actioning the interaction from the CRM system (letting it send the email, or initiate the telephone call via a CTI link to the PBX) you have an instant, automated audit trail of interactions. By having the documents held internally within the CRM package (or at least by allowing it to have links that point to external items such as product datasheets and quotations that you've sent out) there's an instant means of referring to material that you know the customer has been sent. That means when the customer refers back to something that happens in the past, the salesperson has that information at his, or her, fingertips.

Once a customer has been recruited, the CRM system's function switches to a post-sales environment. The concepts are all the same, though, since all the concepts you used in the pre-sales stage are relevant to post-sales operations. So you want to know when emails come in from customers and you want the system to log the fact that you sent them a particular reply, at a particular time, on a particular day, ready for when they moan that you're not looking after them. The repository of documents you've sent out will grow but this time with invoices, training schedules and upgrade offers instead of simple quotations.

The CRM system in its most basic form, then, is a workflow scheduler that can integrate with as many of the personal information and communications mechanisms as possible within the organisation. Although one could conceivably use a CRM system that has its own built-in email client, its own document editor, its own invoicing tool and so on, the result would inevitably be a system that didn't perform any one of these functions as well as existing, separate tools already can (Outlook for email, Word for document processing, Sage for invoicing, etc). The most sensible answer, then, is for the CRM package to handle the scheduling and workflow tasks and hand off the actual processing of the messaging and document creation to external applications. Unsurprisingly, Microsoft's CRM Server makes a decent stab at this (after all, the majority of the external applications are Microsoft ones anyway and in fact the client application is based around Outlook) but most third-party CRM tools do a fair job of using, say, Word for writing letters.

Low-level system integration
In addition to application integration, you also expect the CRM system to interface to low-level systems within the organisation. Integration with the telephone system is a huge benefit. It's very useful to have a customer's details pop up thanks to a CLI lookup when the phone rings. Similarly, to have the CRM system dial an outgoing call when you want to phone someone is an excellent alternative to manually dialling wrong numbers) but you also need the package to link with the corporate directory service, where one exists, so that it understands the relationship between the various users in order to restrict access based on group rights and memberships and perhaps automatically escalate issues up the management structure based on workflow behaviour.

CRM, then, is the art of keeping track of the relationship between the people in your organisation and the people you sell your products and services to. The more of this task you can automate, the more reliable (and the less susceptible to error) the customer interaction process will be. The ideal CRM system will integrate with as many elements of your existing corporate infrastructure as possible and will build upon them the workflow processes that are required to maintain the efficient customer interactions that you require.