1. A method of using messages to extend functionality of an application programming interface in a customer relationship management (“CRM”) system comprising: selecting an operation where the operation is a CRM operation; communicating to a CRM web service a request message based on the selected operation; if the request message has a business entity type name in the request message name, then the request message is only valid for the named entity: instantiating the request message; assigning the request message fields; and executing the request message; if the request message is a common request message without a business type name in the request message name, and the request message has a target property: instantiating the request message; selecting and instantiating one of the supported target classes; assigning the target class fields; assigning the request message fields; associating target class with the request message; and, executing the request message; if the request message name does not include a business entity name nor the message has a target property: instantiating the request message; assigning the request message fields; and executing the request message.