Saturday, April 25, 2009
And it is. The hard part is finding out how to do it. After a week of trying to get an answer, a great deal of trial and error, and feeling much like Thomas Edison, who said he succeeded in inventing the light bulb only because he'd run out of ways that he could fail, I have the migration of attachments from one CRM entity to another working. And it's very simple. This solution, as with most of our migration solutions, makes use of the tool called Scribe, which we recommend to anyone performing migrations into Dynamics CRM. The following assumes that you have Scribe in place and are familiar with the basics of creating a Scribe dts (data translation specification).
Here it is:
Step 1: Seek on the record using whatever parameters will give you a unique match.
Step 2: Insert Annotation, with the following fields mappings:
Target Ownerid Formula = DBLookup(SXX,"T","SystemUser","FULLNAME","SystemUserId") Where SXX=Source OwnerIdName (Copy and Paste the Rest)
Source Subject > Target Subject
Source Filename > Target vfAttachmentFileName
Source DocumentBody > Target vfAttachment
Nothin' to it! Go forth and conquer!
Wednesday, April 22, 2009
In addition to our three basic categories of software for managing your customers (see my blog "Finding the Right Sales Tool for Your Business"), products come in a variety of accessibility forms. This discussion is merely a starting point to help you identify which approach is right for your business. As I always suggest, a knowledgeable consultant is well worth the investment to help you implement the right solution to grow your business.
This refers to products which have the data located on a server in your company and the users’ access to the data is across either a cabled or wireless network, generally within a single location. Remote users may have a copy of the database which is periodically synchronized with the central database. Examples of Networked Sales Software would be ACT! by Sage, Goldmine, or Sage CRM SalesLogix. The advantage is that you have complete control of your data. The disadvantage is that your data is available to you only through the network, a VPN or Terminal Server connection, or with a synchronized database that is not real-time. You also have the expense of acquiring and maintaining a server and your software.
On Premise Web-Based
This means that the software and data are loaded on your server, but you can access the data across the internet without being connected to your network. ACT! for Web and Microsoft Dynamics CRM On Premise are samples of On Premise Web-Based products. The advantages are that you have complete control and you can access your data any time from anywhere if you have internet access. The disadvantage is that you must have a server and maintain your software and the server.
Cloud or Software as a Service (SAAS)
Software as a Service (SAAS) or Cloud products are web-based tools that are housed on, generally, the software publisher’s servers. These are subscription-based. You pay a low monthly fee per user and the software publisher houses the software and your data. You don’t have to worry about a server, backups, server or software maintenance, or upgrades – it is all handled for you within the monthly fee. Generally, you can get your data on request. Samples of Cloud or SAAS products are Microsoft Dynamics CRM Online, SalesForce.com, and Sage CRM Online. The advantages are a low cost of entry for a high-end product, any time anywhere access, and no server expense or worries. The disadvantages are that the fees are ongoing, there is some functionality that is lost compared to an On Premise version, and the data is offsite.
A hosted solution is essentially a combination of an On Premise and Cloud solution. You have an On Premise product that is housed on someone else’s computer. The advantages are that you do not have server purchases or software or server maintenance, but you often have the On Premise functionality that is lost in a Cloud version of a product. Hosted arrangements vary significantly. Sometimes you own the On Premise version of the software and must purchase upgrades as they are issued. Other times use of the software is included in your monthly fee, similar to the SAAS approach. Disadvantages are that you have an ongoing fee rather than a one-time expense. It is also important with a hosted solution that you know the viability of the hosting organization and you are comfortable with their security measures and backup procedures.
I hope this has helped take some of the mystery out of the terminology related to the framework on which your sales software is built. There is no right or wrong answer - it all depends on your company's needs, philosophies, and plans. If you have more detailed questions, email me at email@example.com .
Please Note: The assessments below are very general and intended to be merely a starting point. Individual software programs and/or vendors may differ. My purpose is to help you narrow the scope of a search to products that meet your basic criteria. If your needs seem to cross categories, we recommend that you discuss your requirements with a qualified consultant.
I. Personal Information Managers (PIMs)
Personal Information Managers (PIMs) are centered around you, the user. Microsoft Outlook is a classic example of a PIM. Emails are all in your Inbox. You have a list of personal contacts, your personal calendar, and your task list. The information is not shared with other people in your company, and it would be difficult to put together a summary of all of your involvement with a particular account.
If you have a computer, you probably have Outlook, so cost may be considered $0
Single User Functionality Only
Information is not readily sharable
Doesn’t track information by contact or account
Not customized to your functions or business
Functions are very basic
Who should use a PIM?
PIM’s are a solution for the new “road warrior” who is just getting started and can’t afford anything more. However, the next step up, a program like ACT! by Sage, can do so much to help grow his business, that purchasing at least a contact manager should be a goal for anyone serious about selling.
That said, the functions within Microsoft Outlook, Word, and Excel are essential foundations of every tool we will discuss, and a seamless integration with Microsoft Office is key to user adoption.
II. Contact Management/Sales Force Automation
This category includes software packages such as ACT! by Sage, Goldmine, and Maximizer. Unlike personal information managers, these products are specifically designed to manage the sales process and may be focused on either the customer contact or the account. They interface directly with Microsoft Outlook, Word, and Excel. What differentiates them from MS Office by itself is that they provide central storage of all information about the prospect or customer. Looking at a contact record, you can see all related activities, emails, letters, calls, and notes. And the information can be shared with other members of the sales team and management. Data can be grouped and mass actions (scheduling, sending emails or letters) can be taken for the entire group. Most of these products can be configured to meet basic business-specific information requirements, but these products are designed to be usable right out of the box. Millions of users depend on them to manage their sales efforts.
Contact Manager/SFA Pro’s
Low cost – An individual can generally get started for as little as $200
Can be used by an individual or a workgroup
In very small groups, a server may not be necessary
Contact or Account Centric
Easy User Interface
Familiar – Millions of users
Many available addon products available to extend these products due to their popularity
Generally best for fewer than 35 users and 20,000 records
Focus is on either contact or account. It is not possible for the primary focus to be on some other aspect of the business, such as contracts or opportunities.
Customization is possible but within limits of the program
Functions and structure, while extensive, are fairly rigidly defined
Addons are necessary when functionality is not built-in. There is a hazard when using addons that the main product and addon will be “out of sync” when the main upgrades.
Who should use a Contact Manager or Sales Force Automation Tool?
The products in this category are widely used by individuals, small companies, and sales workgroups within large organizations. They work best in a classic sales environment in which you want to share information about customers and “keep it simple”. Management wants to get information about the sales team’s activities, but the software is primarily the sales rep’s tool.
III. Customer Relationship Management (CRM)
The category called CRM or Customer Relationship Management includes such products as Microsoft Dynamics CRM and Sage CRM SalesLogix. Unlike a Contact Manager or Sales Force Automation tool, a true CRM package encompasses at least:
In addition, these products generally have the ability to
- Manage and automate the processes involved in marketing, sales, and customer service through the use of custom workflows
- Be extensively customized to the specifications of the business and functions for which they are used
- Gracefully handle large numbers of users and records
- Add custom data entities or tables to the base structure
- Secure data more tightly than is possible with a PIM or SFA program
Extensive functionality "Out of the Box"
May be used by large numbers of users with large numbers of records
With some programs, the same ability to link data, schedules, emails, etc. is available with any type of record.
Cost of entry is higher than a PIM or SFA
For “On Premise” products, a server is required
Not intended for the single user
User interface tends not to be as simple as that of a PIM or SFA because functionality and customizability are so much greater
Rules of usage must be established so everyone enters data in the same way
Who should use a CRM program?
A true CRM is the right solution for the company which
- Considers it important to coordinate the efforts and communications of marketing, sales, and service teams
- Wants to extensively customize the software to its unique business or functional requirements
- Has users in multiple locations – even multiple countries with multiple languages and currencies
- Wants to significantly automate and manage business processes
- Is looking for a maximum return on investment, and is willing and able to invest to receive the return
Competing in today’s challenging marketplace means taking advantage of all of the tools available to you. One way of taking better care of the customer and reducing cost of customer acquisition and retention is to make computers do more of the time-consuming, tedious work so you and your team can spend more time in front of the customer. There are many software packages on the market that are designed specifically to assist you in that process. This information is provided to give you an overview of the options available and some of the decision factors that will determine which approach is appropriate for your business. To maximize the benefit of any of the options described in this paper, we recommend enlisting the assistance of a knowledgeable consultant.
For more decision-making help, check out my blog on CRM Platforms: On Premise, Hosted, or Cloud
DBLookup is a function that is used to populate fields in one entity in CRM that are linked to another entity in CRM. For instance, if your source data has record owners, you probably want the records in CRM to be owned by the same people. However, record owners are users, and to have the system know what user to link to a record as its owner, we must tell the system what the user's ID is. This is a background code that you never see, called a GUID. Without DBLookup, all records will all be owned by the person running the migration. DBLookup is also useful in populating Parent Companies or Primary Contacts or any of a thousand other linked fields.
In Scribe, you have Source fields, identified as S##, where ## is the counter of the field assigned by Scribe, and you have Target fields, in this case, our CRM fields. Any CRM fields that are linked to another entity are identified by two fields, one a text field that usually ends in "name" and the other the linking ID field, which is a 34 character GUID, the name of which always ends in "id". In this sample, let's say our Source field is S14 Record Owner. In the Target, CRM, we have Owner and Ownerid. Scribe does not allow you to link directly from your source text field to the CRM Owner field. To make the link, you would use the following formula on CRM's Ownerid field:
To a programmer, this is obvious. To the rest of us, here's the logic:
S14 is the Scribe reference number for the Source field. This is the only thing you would change in your application.
"T" means target. You are comparing the source information to data in the target. There are other choices like "S" for Source, but for Owner, you will always use "T".
"SystemUser" is the name of the table where the target data is found, in this case, the user table, because owners of records in CRM must be users.
"FULLNAME" is the name of the field within the SystemUser table that will have data matching your Source information (S14 in the sample). These must be exact matches.
"SystemUserID" is the computer's unique code field (GUID) associated with the data in the FULLNAME field. Until we have this GUID, the system does not know who the owner is.
There you go! Nothin' to it, right?
Look for more Code for Non-Programmer blogs. I'll include snippits for CRM customization and for Scribe migrations. If you want to contribute your code with explanations for non-programmers, I'd love to share it!
I will start any blogs of this type with "Code for Non-Programmers:"