Sonoma Partners Microsoft CRM and Salesforce Blog

Salesforce Lightning - What is it?


Here at Sonoma, we frequently get the question from existing customers and prospects “What is Lightning and what does it mean for me?” Unfortunately, the answer to that question is both complicated and nebulous due to the fact that Salesforce itself continues to change what ‘Lightning’ is, what it includes, and how its underlying components work.

While Salesforce does have a few pages dedicated to the question ‘What is Lightning?’ they don’t provide a satisfactory answer, leaving out at least 1 component of Lightning (Lightning Processes, discussed previously: part 1, part 2, part 3) and targeted more at developers than end users or administrators.

In this series we’ll attempt to provide a clearer picture on what Lightning is, and why it matters for you and your organization.

So what is lightning?

Ultimately, Lightning is an umbrella marketing term used to refer to all of the new features and technologies being released by Salesforce. It represents a shift in Salesforce’s strategy, both technologically and in terms of focus.

Salesforce, like many companies, has realized that mobile devices are increasingly the norm for users who are more frequently on the go, and is investing heavily in mobile friendly technologies like the Lightning Design System, Lightning Components, and the Lighting App Builder. These complement their existing Salesforce1 mobile application, and enhance it with additional features, continuing to improve its attractiveness for end users and administrators.

Salesforce is also continuing to invest in its integration capabilities with Lightning Connect, a way to seamlessly integrate data in to Salesforce and interact with it as though it lived in Salesforce itself.

Third, Salesforce is reworking some parts of the configuration process with things like Lighting Processes, Lightning App Builder, and Lightning Components. These new features give administrators and developers a new range of options to choose from when configuring their organization, which are sorely needed now that users are not always at a computer to do their work.

Lastly, and perhaps most importantly, Salesforce is finally overhauling their user interface with Lighting Experience, bringing it in to the modern era.

Lightning on its own means nothing, as it’s just a term to refer to a collection of platform and technology updates. But what it represents is important and will have impact on you and your business, so read on to learn more about the various pieces and why they will matter to you.

Why Should I Care?

Depending on your role when interacting with Salesforce, your reasons for caring about Lightning will vary. Broadly speaking, users of the platform can be broken down in to 3 groups: Developers/Integrators, Administrators, Users. Some features are definitely targeted at developers and integrators, while others have a decidedly administrator feel to them.

The one feature that everyone cares about, however, is Lightning Experience (the UI overhaul). With such a big change, it’s hard for people to not notice, and this is generally what people are thinking of when they ask us about ‘Lightning’. We’ll cover it and its implications in a future post, but for now let’s briefly look at the other features.


As an end user, you’re likely going to care about Lightning Connect the most (ignoring Lightning Experience). While the fact that you’re using Lightning Connect should be mostly invisible to you, if it is configured correctly you will notice the ability to view and interact with data that you previously needed to log in to another system for. This has powerful ramifications in improving your productivity and reducing the ‘swivel chair’ effect of logging in to multiple systems throughout the day.


As an administrator, Lightning Processes, the Lightning App Builder, and the AppExchange for Components are the features most relevant to you. Lightning Processes give you an alternative and complement to Workflows for configuring ITTT (If This Then That) logic. They introduce some features not available in workflows, while retaining most of the functionality of workflows as well. The AppExchange for Components is a new section of the AppExchange that lets you purchase and install Lightning Components written by vendors in a similar manner to managed packages you’re already used to, while the Lightning App Builder lets you compose those components in to a single page through a point and click interface. This gives you the ability to create new pages for your users without the need to involve a developer.


As a developer or systems integrator, all of Lightning should be of interest to you. While Lightning Components, the Lightning Design System, and Lightning Connect are the features you will be interacting with the most, all have the potential to impact what you are building and your design decisions.

What now?

Hopefully we’ve cleared up some confusing on what exactly ‘Lightning’ is and why it should be important to you. In the following posts we’ll dive in to the various pieces of it in more detail. If you have any questions or comments, please leave us a note below or contact us and we’ll be happy to walk through your specific circumstances.

Topics: Salesforce

Field Notes: Alerts in Dynamics Marketing

Today's guest blogger is Aaron Robinson, an Engagement Manager at Sonoma Partners

With Microsoft Dynamics Marketing (MDM) making its transition from a siloed cloud solution (formally the Marketing Pilot acquisition) and being folded into the Microsoft Office 365 cloud suite, the product team has been making adjustments to the product to fit the solution in their family. Recently we ran into the following scenario with a client related to the alerts functionality.

What are Alerts?

Alerts are both a systematic and personalized way to receive email based notifications of events occurring in MDM. Globally, MDM will provide automatic notifications to a user for specific interactions. For instance, if you are an approver in an approval workflow, you will automatically receive an email notification when the workflow requires your approval at the point of time which is appropriate.

Individual users can also setup their own alerts for many different actions across many different entities.

How do I setup an Alert?

When a user is signed into MDM, there is a cog icon near the upper right hand corner to access the alert settings.


On the Alerts page, you will see a list of alerts if you already have some setup. Click the Add icon to create a new Alert.


On the new Alert window, you’ll be required to enter an Alert name, select a Status (defaults to active), the category, entity and action type. The alert frequency will only be available for certain actions when appropriate. Click Submit to save the task.


What might go wrong?

In our experience, there are some things that happen that aren’t entirely intuitive.

  • You may expect for the creator of a record defined in an alert action to send to the user who initiated the action. For example, if Susan creates a task and assigns to her colleague Bill, Bill will get an alert for a new task, but Susan will not as the creator.
  • You do not receive an email for an alert you are expecting. This may happen for one of three reasons:
    • You do not have an alert on that specific action. To resolve, go to Alerts settings and create an alert for that action.
    • Your email address on your staff record is not your actual email address. To resolve, go to Settings>My Company>Staff and find the staff record and make sure the email address in Email 1 (Primary) is your actual email address.
    • You initiate an action which you expect someone to get a notification for, but they indicate that they did not get an alert. To resolve, check to see if the user has an alert setup for that particular action. All alerts for all users can be seen under Settings>Administration>Alert Settings.


Stay tuned for more Field Notes on Microsoft Dynamics Marketing!

Topics: Microsoft Dynamics Marketing

The Data Shows No Emotion

Today's post is written by Brendan Landers, VP of Consulting at Sonoma Partners.


The single most important element of a CRM implementation is getting your data right.

I repeat.  The single most important element of a CRM implementation is getting your data right...and keeping it right is just as important. If, on day one of go-live, your users see data that is inaccurate, duplicative, or even suspect, the credibility balloon starts to deflate, which is a challenge if it wasn’t full to begin with.

Functionality is important, data is imperative. 

After all, we put data in a CRM system to get data out of a CRM system, right?  It boggles my mind how little time some companies put into data quality.  They get so enamored with shiny objects (think features, features, features) that they neglect the largest adoption lever they can pull.  It’s no secret that CRM adoption is a struggle. Why not focus on the area that impacts adoption the most?

There are a number of challenges to deal with when migrating data to a CRM system.  I’d like to walk you through some of the most important issues and how you can tackle them.

First, you need to figure out what is the current authoritative source of data today – the system of record.  If you are migrating from another system, the answer tends to be that system (as long as it’s been maintained).  We’ll come back to this in a minute.

If the current state is “the wild, wild west” where no CRM system currently exists, you have an even bigger challenge on your hands – where do you get the data from?  It’s a difficult question, but one worth answering.  The notion of starting fresh with no data in the system on day one is an adoption killer; users don’t want their first impression to be a chore of having to populate the data.  It likely won’t get done. 

It’s immensely important to establish a source of data prior to go live and import it into your CRM system.  If you think you have nothing, use your email client data (exchange, google, lotus etc).  You will have contacts there and likely, company names associated to those contacts, that need to make their way into CRM.  

If CRM isn’t new to the organization and you are migrating to a new system from another CRM system, consider the following:

  • Consider data completeness. Now is a great time to clean house – take advantage of it.  Evaluate the current data source for field usage.  Don’t migrate a field if it is rarely populated.  Look at the rate of missing values to help you determine this.
  • Determine data relevancy. How useful is the data?  What value does it bring?  If it doesn’t bring value don't capture it.  Keep it simple.  Also, make sure you have the right data type for your fields.  For example, it’s often easier to use an open text field rather than a picklist, but you can’t report on it.  Roll up your sleeves and evaluate if you can streamline data.
  • Examine data accuracy. Can you purchase a list or ongoing subscription to a data enrichment product?  Can you compare your data to those tools prior to going live?  If so, do it.   Many authoritative data sources exist so take advantage of them.
  • Ensure data consistency. If you have multiple applications with the same data (customers for example), they should be consistent.  It may seem obvious but we see consistency issues all of the time – finance uses one list and sales uses another.  Consider implementing a master data management strategy. This means you have a system of record for all data and any applications that consume that data should do so in a read-only way.

Data preparation cannot and should not be an afterthought and should be the most important piece of your project.  If you get this right, you can be successful. In a future blog post we’ll discuss ongoing data maintenance. 

Preventing data decay is an equally large issue, but you won’t even get there if you don’t get the data migrated correctly.

The Negative Effects of a Disjointed CRM System

Topics: CRM Best Practices

Field Notes - Contact Import Best Practices in Microsoft Dynamics Marketing (Part 3)

Today’s guest blogger is Ryan Anderson, a Consultant at Sonoma Partners

Welcome back to the next and final chapter in our Contact Import Best Practices Blog series! In Part 1 of this blog series, we covered some basic importing best practices that you and your administrative team should take into immediate consideration before beginning any importing. In Part 2, we discussed how to best prepare your import spreadsheet.

In Part 3, we will go over some additional administrative best practices, “gotcha’s” and no blog series would truly be complete without voicing some cautionary tales. Lucky for you, you are here and won’t run in to those same issues I did. Let’s continue on to the homestretch!


Run a test contact import file to ensure mappings are connected properly

This truly is the best way to verify information is displaying the way you intended. Copy one or two contacts from the main import spreadsheet and paste them into a fresh import spreadsheet template. Save the spreadsheet and go through all the steps in MDM to get familiar with the process.

Page 1:

Page 2:

NOTE – MDM retains the mappings you select on page 2 for next time so this will come in handy when you import the main file.

Page 3:

When the import is complete, verify the data by opening a contact record from the import. If things look off, take a look back at the spreadsheet and mappings. Then start the process over with another one or two contacts. If it looks good and you feel comfortable with the process, feel free to load the main import file. Although, especially if it’s your first couple times doing this, I highly suggest running an additional import with another handful of contacts (around a dozen or so) before.

NOTE – Currently it is not possible to delete/purge any contact data in MDM (more on this in the next point below). If you load one or two contacts on the first import, it’s much easier to amend incorrect data on those records, rather than on hundreds or thousands. Trust me.


Although MDM only imports one spreadsheet at a time, you can queue up multiple spreadsheets so they can run one after another

To queue the spreadsheets, you would follow the exact same process as you would for any other contact import. Before you submit the spreadsheet, you’ll notice a note near the Submit button that says – “There are #__ imports pending. Your data will be available after your import has finished.”


NOTE – After each import has finished, an output file will generate and be sent to the email address associated to the contact who imported the file.



The delete import hyperlink doesn’t exactly “delete” the import

A common and potentially impactful misconception is that if you mess up a large import, you can always delete that import by clicking on the hyperlink contained in the output email and then start over. This is not the case.


If you click that hyperlink, it will actually place all those contact records in an inactive state. This is completely different from a purged/deleted state. While the contact is in an inactive state, the record is technically still in the system. So when you go back and try to import that contact spreadsheet again, MDM will skip over that contact. As we went over in Part 1, it skips based on your duplicate detection rules applied in your Site Settings.


Once you Close and make your final Save on the import spreadsheet – do not open the file back up in Excel

Any special cell formatting applied on the spreadsheet could potentially be lost if reopened again. If there is any worry about this at all, save the spreadsheet and keep it open during the import process. Once the import is complete, Close out.


Always have a backup staff member be familiar with the process in case the usual individual is out of office for an extend period of time

Vacations, babies, honeymoons, jury duty, recent lottery winners -- no one knows when someone might need to leave the office for an extended period of time. But you, now the seasoned expert who is always prepared, expect the best and prepare for the worst. Someone taking over this task without the proper knowledge can potentially delay or impact marketing activities by needing to be ramped-up or making critical mistakes. Better safe than sorry!

With that, I hope you enjoyed my contact import blog series! By now you should at the very least have a few best practices and takeaways to implement in your marketing activities.

I encourage you to post any remarks or questions you may have in the Comments area below. Be sure to check back for future updates and check out the rest of the Sonoma Partners Blog.

Topics: Microsoft Dynamics Marketing

Field Notes - Contact Import Best Practices in Microsoft Dynamics Marketing (Part 2)

Today’s guest blogger is Ryan Anderson, a Consultant at Sonoma Partners

Congratulations to you! If you are reading this post than you are well on your way to becoming an MDM importing specialist! In Part 1 of this blog series, we covered some basic importing best practices that you and your administrative team should take into immediate consideration before beginning any importing.

In Part 2, we will dive a bit deeper and discuss specifics on preparing your contact spreadsheet for import. No turning back now so let’s keep moving!

Create a contact import Template to use on all imports

Ideally there should only be one staff member who is in charge of importing contacts. Though for all those risk-takers out there, if you have multiple staff members involved in the process they should all use the same template going forward.

NOTE – A good starting point for creating this template is to export a view with all contact information your business captures. Head to the Marketing Contacts entity (Marketing Execution > Marketing Contacts). This takes you to your View. Customize the columns in your View by clicking the cog iconclip_image001. “Select All” or check the contact fields you want and click “OK.”


You will now notice that your View will refresh with the contact column fields you selected.

To export that View click on the Excel icon clip_image004. Open/Allow the exported file to be opened in Excel and the top row contains the column headers (field names).


Another time-saver suggestion – Copy that entire top row. Open a new Excel spreadsheet document and paste the top row from the exported spreadsheet, to the top row of the new spreadsheet document. Save As a .TXT or .CSV file with a name that identifies it is your contact import template!

Leave out the “First & Last Name” column on the Excel spreadsheet and mappings page in MDM to avoid confusion


The “First & Last Name” is technically the contact’s Display Name, which is a concatenation of the contact’s “First Name” and “Last Name.” Depending on your site setting, the Display Name can also include the contact’s Email or Company.


NOTE – This Display Name setting can be found under the Contact Options section in Settings > Site Settings.


Format the entire column for any data that could start with a Zero

What is the most likely use-case here, you said it – Postal Codes!

Our many U.S. friends on the East Coast and Northeast region have Postal Codes that begin with “0.” You will notice on an Excel spreadsheet, if you type in a Zip Code that begins with “0” (e.g. – 03901), the “0” will disappear once clicked away (e.g. – 3901). To prevent this, highlight the entire Zip/Postal Code column > right click in the gray highlighted area > select Format Cells > in the Number tab select “Text” as the category > click OK.


NOTE – Format the entire column first and then enter in the data.


If your import spreadsheet contains special characters, save it as a .TXT format

You may have contacts that have special characters in their name’s (e.x. – José). If this is the case, save the spreadsheet as a .TXT file and no additional cell formatting needs to take place.

If you’re unsure of which file format to save to, save as a .TXT file

.TXT formats are typically the best way to go because it is a plain-text file. Additionally it is better than .CSV if you require support for Unicode characters.


The current size limit on a contact import spreadsheet is 4MB (or 4000KB)

If your file is larger than this, don’t let that warning sign prevent you from achieving contact import greatness! The easy solution is simply splitting it into multiple files. Be sure to include the top row with the column headers for the mappings in each file. With my experience, if you only have the basic information contained in the spreadsheet (First Name, Last Name, Email, Company, Title, Phone, Address, City, State/Province, Country/Region, Zip/Postal Code), you should be able to fill in about 20,000-23,000 contacts per spreadsheet.

To find out how large your file is, browse to the location on your computer where the import file is saved and open the Properties by right clicking on the file. The size will be listed there. Be sure to save the file first and then check its properties.


NOTE – As a best practice, the file name for each split spreadsheet should be unique.


Remember to stay tuned for Part 3 of the “Contact Importing: Best-Practices and Best “Gotcha’s” from the Field!

Upgrading to Microsoft Dynamics CRM 2015
Topics: Microsoft Dynamics Marketing

Permissions Issues for CRM 2013/2015 Forms

Today's post is written by Kyle Bippus, an Associate Software Developer at Sonoma Partners.

I was on a support case with a client where a sales representative was getting a strange error from CRM when converting a Lead into a Contact:

Photo one

This case was unusual because the sales representative had the correct Read permissions for the Lead and Contact entities, as well as all other related records on the form.  Furthermore, if the same user had been given the System Administrator role and had attempted to access the newly-created Contact record, then had the role removed, the user could then view the record instead of getting the above error.

Since the error does not give any more information beyond “Insufficient Permissions,” the next step was to scan the trace logs and look for any error messages that look similar.  After some searching I came across this message, which occurred around the time I replicated the error:

Principal user…is missing prvReadComplexControl Privilege

According to the Microsoft Dynamics CRM SDK, the prvReadComplexControl privilege is the Read permission for the ComplexControl entity (also known as Process Configuration).  Below is the SDK’s description for this entity:

This entity is for internal use only. However, users need read access to this entity in order to see the updated experience for lead and opportunity forms.

Essentially what this means is that users need the Read privilege for this entity in order to view the user interface for entity forms in CRM 2013 and 2015.  This applies not only to Lead and Opportunity, but almost all entities in CRM (some entities, such as Resource Group, still retain the look and feel from CRM 2011).  All security roles should have the Read privilege for the Process Configuration entity by default, but sometimes this configuration gets messed up when an organization is upgraded from a previous version of CRM.

So all we need to do is set the Read privilege for this entity to “Organization” for each affected security role.  Below are the steps to do just that:

  1. From your home page, navigate to Settings, then to Security, then to Security Roles
  2. Double-click on the role you want to modify
  3. Click the “Customization” tab, then set the Read privilege on the Process Configuration entity to “Organization” (see picture below)

Photo two

You should no longer see the “Insufficient Permissions” error. I hope this helps! If you have any additional questions, contact us to speak with one of our Microsoft Dynamics CRM experts.

Upgrading to Microsoft Dynamics CRM 2015
Topics: Microsoft Dynamics CRM 2013 Microsoft Dynamics CRM 2015

Day in the Life: Meet Kevin



Every day is a different alarm. I have one for each Metra train into Chicago, and depending on the next day’s workload, I decide what time I should be at work the night before. This ranges from as early as 4:37am to 6:02am (I prefer to work early). When I work from home, sometimes I’ll sleep in until *gasp* 6:30am. Scandalous. 

I live in the far west suburbs. As a result, Sonoma’s “SWEET” program is my favorite perk. It allows me to work from home or the office on the fly. I’m usually in the office 2 days per week, sometimes 3, depending on the necessity for face-to-face meetings.

When I’m in the office, I’m usually there by 6:45am, hook up the MacBook Pro to the massive 27” external monitor and proceed to the kitchen for breakfast. I grab some water, brew my first cup of coffee, and head back to my desk with some fruit and dry cereal. Frosted Mini-Wheats “Big Bite” has long been my favorite, although Kellogg’s made an incomprehensible decision to discontinue production, so I now resort to Cheerios. Tragic.


At this hour, it is quiet in the office – the perfect environment to hit the ground running. I plan out my day, respond to any urgent emails, and focus on tasks that benefit from a lack of distractions (review of detailed requirements, conceptualization of wireframes, etc.).

By 8:30 am, co-workers are trickling in every few minutes. It’s a different mix of people daily, and since many will choose to work from home, the office is usually only half full (or half empty?).

In any given week, I am working on 2-3 projects, all in different stages, and usually for different platforms or CRM systems. For example, it could be a series of mockups that define how non-native functionality will work within Microsoft Dynamics or Salesforce, a custom design for a Universal Windows Platform or iOS application, or simply illustrating how a native CRM interface is the solution that best addresses a client’s needs.

As 9:00am arrives, there tends to be an uptick in meetings and internal communications. Weekly “stand-up” calls (taken while sitting, ironically) are an opportunity for a project’s team to discuss the latest status updates and plan next steps.  Rarely are there any surprises, and like Palpatine everything is proceeding as I have foreseen.

I interact heavily with Project Managers and Tech Leads throughout the day. In the early stages of a project, we collaborate to ensure the proposed functionality and wireframes adequately address the user’s objectives, can be executed within the project timeline, and fall within the client’s allocated budget. This is no easy task, and I have nothing but respect for Project Managers tasked with creating this balance – even if it means scaling back a heavily-customized design.

Lunchtime. I usually bring a sandwich to the office or select a random assortment of pantry items if working from home. On rare occasions, I engage in a lunchtime endeavor with co-workers, but more commonly I eat at my desk and continue to plow through the workload. This isn’t a result of being overworked, it’s simply because I am 100% “J” on the MBTI personality scale – I work before I play.

Time to shine. When a project reaches a point where we are ready to present wireframes or design compositions we usually present our creations via screenshare. I walk through the screens step-by-step as the user would interact with the interface. Depending on how the presentation is received, this can be the most gratifying or deflating moment in a project.  More often than not, the presentation ends with minor tweaks and an impressed client. I’m not being egotistical, we simply tend to be awesome.

Mid-afternoon. By now, I have already consumed my second cup of coffee and am debating the ramifications of having a third. Do I really want my mouth to feel as if a dead animal had crawled inside? I decide to brave the drowsiness and consume an apple instead. It must be Thursday. I never could get the hang of Thursdays. Thanks, Mr. Adams.


I do not have a manager in the traditional sense, I have a coach. At Sonoma, the employee-coach relationship focuses on mentoring and collaboration as opposed to direction and management. Every week, we touch base for a half hour to discuss ongoing or upcoming projects, company news, personal events, or even our fantasy football teams. The conversations always vary, but the underlying premise is simple: do I have what I need to be happy and successful at what I do?

As projects progress, my involvement turns from conceptualization to execution. I finalize the high-fidelity design compositions, generate image assets, create an interface specifications document and sometimes write HTML/CSS before passing it along to a developer. As the project nears completion, I eagerly test it to verify everything looks and functions as envisioned. I pat myself on the back. Or maybe I had an itch. Either way, it feels good.


There is one more component of my day-to-day life at Sonoma Partners. Almost every month, I travel to meet with a client for a series of “ride-alongs”. This is an opportunity to observe the client (sales representative, administrator, etc.) in their own working environment to better understand their day-to-day responsibilities and objectives. This experience helps to align our proposed solution with the client’s needs. Afterward, I create a ride-along findings document that is heavily referenced as features are conceptualized and wireframed.

As the day draws near to a close, it’s important to note that every day is different. Some days I switch from billable work to internal projects or sales initiatives. Some days I interview UX and design candidates as we continue to expand our team. Some days I’m glued to a specific project and others I jump from one priority to the next. Variety – it keeps me ticking. That, and coffee. Am I sure I don’t want a 3rd cup? Yes, go away, stupid temptation.

Depending on how satisfied I am with the day’s progress, I tend to close the laptop anywhere from 4:22pm to 5:52pm (there are specific Metra train times involved). I try to resist the urge to check my work email in the evening, usually fail, and peek into tomorrow’s outlook. Nothing crazy… good, now I can rest easy.

Looking back at my day, I consider it a success. Did I finish everything I aimed to finish? No, but I typically set an impossibly high target for myself. Did Sonoma provide me with everything I needed to give it my best shot? Absolutely. That’s how it is with Sonoma. The degree of your success is limited only by your own ambitions.



Are you looking for a new gig? Take a look at our current openings and contact us about a future at Sonoma Partners.

Topics: Careers at Sonoma

3 Truths About Offshore Development


Today's post is written by Kim Campbell, a Consultant at Sonoma Partners.

When companies are set to begin a complex development project, the idea of using offshore development resources usually crosses their minds at least once.

And why wouldn’t it? What’s not to love about a cheaper route to accomplishing a large project, even if there are a few extra hurdles to overcome?

Taking the offshore development approach can be appealing, and may seem simple enough, but there are 3 truths about offshore development that you should consider before enlisting their services for your next project. 

1. Geographical differences can take their toll

There are several obvious geographical challenges to working with an offshore team. Whether you’re managing the team or working with a project manager, time zone differences will impact both parties. Regardless if early morning or late night meetings are chosen, normal operating schedules will be interrupted.

Additionally, there are bound to be communication gaps, due to the main language used in communication, or the company culture. In general, communication gaps make it harder to find common ground with an offshore team, which is needed to build successful working relationships.

There are gaps in perceived inclusion and culture when everyone on a team is working remotely. It’s hard to convey levels of excitement to a team you only interact with via phone. This can definitely lead to a disconnected  effort put forth, quality of work, and willingness to stay on board long-term; especially when the going gets tough. 

2. Cost of top notch offshore resources are still expensive

Many corporations tend to offshore in efforts to save money. However, less expensive labor usually means less qualified people. One should never expect to pay a professional 50% less than market rate and get comparable talent solely due to differences in geography. Additionally, there are other costs associated with managing the offshoring team such as traveling to the location of your offshore team, setting up the secure exchange of information procedures, the cost of training, and increased contingency costs. 

3. You aren’t in direct contact with the people actually doing the work

When interacting with an offshore team, you typically have a single point of contact, an engagement manager or project manager, and they are responsible for directing resources. Therefore, more than one person typically must be contacted in order to get clarification on any given item. This communication process creates an opportunity for given direction to be misinterpreted and misconstrued.  

Offshoring development isn’t always the best choice, be sure to consider your options.

Offshore Development isn’t for everyone. Don’t be distracted by the flashy promises of lower cost and seamless implementation. For a successful CRM implementation, you want to invest in a long-term partner that you can reach out to after the final bill is paid, and still be remembered.

The Negative Effects of a Disjointed CRM System

Topics: CRM Best Practices

Take Your Thoughts and Notes from Scattered to Organized


Today’s guest blogger is Tom Demana, a Consultant at Sonoma Partners

If you’re like most people, you really want to be organized, but sometimes miss the mark when it comes to putting your best intentions into action. How do you keep yourself organized at work and at home when it comes to lists of things to do and remember, notes from meetings, or even keeping a list of recipes organized? If you have searched for a tool to help you with these things, you have most likely come across two products that can help you, Microsoft OneNote, and Evernote.

Do I Really Need Another Program to Use?

Last week you had six meetings about a specific customer or project. Two of the meetings were with the customer, and the other four were internal. You know that in one of those meetings you spent time talking about a product launch strategy, but you can’t remember which specific meeting that topic was discussed in. On second thought, was it really this past week, or was that two weeks ago? The most common way to look up this information would be to open the notes from each one of your past meetings, and look for the information. If you’re feeling really lucky, you might use the search functionality in Windows Explorer, but most likely will still end up opening each of the documents to get the context around where that word or phrase you used in the search was used. It’s a time consuming exercise.

I frequently find myself with some of my best thoughts when I’m running errands, commuting to and from the office, or lying in bed trying to fall asleep. If I’m lucky, I’ll pick up my phone, maybe send myself an email, create some kind of a task or follow up note for myself, but then have to remember to take action on that note or brief thought again in the future when I get back online.

You’ve Got Me, I Need Help.

Microsoft OneNote and Evernote are both excellent options to help you with these kinds of problems. Both offer similar base functionality with data stored in notebooks, chapters and pages. If you choose to store all of you working files in one of these products, making updates to them anywhere, from almost any device is easy. Searching for key words or subjects and searching all of your data at once is a piece of cake. Using your phone to take pictures of business cards and add contacts is simple. Create meeting notes and have tasks automatically created in Outlook to remind you to follow up on something. Take back that lost time.

How Do I Choose Between Them?

On the surface, there isn’t much to distinguish the two products from one another. Both are freemium software applications. The main difference in pricing tiers is that OneNote does not limit functionality with its premium versions, just storage space (15GB of storage is included with the free version), whereas Evernote’s free option limits product functionality, as well as storage space until you step into one of their paid subscription tiers (60MB per month is included in the free version). OneNote has a more robust integration with other Microsoft Office products included as standard in the product, whereas some of those same features (saving emails, searching Office documents, etc.) are only available in the paid versions of Evernote. If you do a lot of work that requires saving of web pages, then Evernote has a bit of an advantage over OneNote when it comes to what can be done (searched, modified, re-used) with those files that are saved for future documentation.

The best way to choose is ultimately to look at the product and pricing tiers of Evernote and compare it to what is offered by Microsoft in OneNote. Regardless of which option you choose, start utilizing one of these two great products to bring more control and organization back into your day.

Graduating Your CRM Beyond Pipeline Management

Field Notes - Contact Import Best Practices in Microsoft Dynamics Marketing (Part 1)

Today’s guest blogger is Ryan Anderson, a Consultant at Sonoma Partners

With Microsoft Dynamics Marketing, contact importing is a tremendously convenient feature which you will want to take full advantage of. Granted that there is a firm plan in place and the right steps taken, this process is a huge administrative time savior (especially for those of you in the audience who are dealing with a large amount of contacts). This insider knowledge might guarantee you brownie-points and a number of ego-boosting complements from your Administrative Team and fellow colleagues alike.

Before we get going, a couple Public Service Announcements:

PSA 1 - This blog post is intended for guidance on MDM as a stand-alone product only.

PSA 2 - If your MDM org is new, it is suggested that the marketing “core team” takes the time to define the business and administrative process going forward. This should include determining what contact data your marketing team needs in MDM, how new marketing contact information will be gathered and distributed, and identifying the individual(s) to be in charge of validating and importing contact data to the system.

PSA 3 - Don’t forget to check back next week for Part 2 of this blog post.

Let’s get started!

Have one staff member be in charge of importing contacts

It’s likely some of your internal marketing users will need to create one-off marketing contacts, which is fine. Though when contacts need to be added in bulk, there should be an individual assigned to complete these tasks as the Import Admin. This will increase the likelihood of clean and consistent data going forward.

NOTE – If you need some extra control over who has the ability to import contacts, this can be managed with the “Import/Export Contacts” privilege in Contacts & Companies.


Clean up all data contained in the spreadsheet prior to importing

Who doesn’t enjoy getting things right the first time? This includes formatting, spelling mistakes, and any inconsistencies on data points that should match.

It may not seem like it at first but cleaning data prior to importing saves time on future imports. Additionally it avoids inevitable frustration if post-import mistakes are discovered in the system and need to be remedied though UI (user interface).

Ensure existing company names match on your import spreadsheet

If you are importing contacts that belong to a company already created in the system, ensure that the name of that company matches exactly with how it is spelled in MDM. If it does not match, it will create a brand new company record.

Match the “State/Province” and “Country/Region” fields to the applicable picklist options in the categories area

For example, “United States” instead of “US” or “USA” and “Illinois” instead of “IL.” These picklist options can be found in Settings > Categories.


Name the spreadsheet column headers the same as the field names in Dynamics Marketing OR write them in a way that makes sense to you.

On the second page in the import process, MDM will ask you to map the column names to the field names on a contact record. This will avoid confusion and most importantly reduce the likelihood of errors from data being mapped to the incorrect fields.

For your reference, all MDM contact import field names are listed below:

  • Email
  • Salutation
  • First & Last Name
  • First Name
  • Last Name
  • Company
  • Title
  • Phone 1 (Primary)
  • Territory
  • Leads
  • Facebook
  • Twitter
  • Team
  • Lists
  • Role
  • Primary Address Type
  • Address 1 (Primary)
  • City
  • State/Province
  • Country/Region
  • Postal Code
  • Type
  • Belongs To
  • Phone 2 Category
  • Phone 2
  • Phone 3 Category
  • Phone 3
  • Email 2 Category
  • Email 2
  • Email 3 Category
  • Email 3
  • URL
  • Notes
  • Display Name
  • Client Folder
  • Vendor Folder
  • Staff Folder
  • Language
  • Lead Time
  • Time Zone
  • Create Date
  • Do Not Email
  • Do Not Call
  • Do Not Mail
  • Contact Preference
  • Message Format
  • External ID
  • Account Manager

Import Your Contacts as Leads!

Did my larger, and bolded text grab your attention? I hope so cause this is critical! (My apologizes in advance for all run-on sentences and overdoing the commas but I want to make sure that you understand)

As you may or may not know, before Sales knows to engage a lead, the lead needs to be scored and needs to hit a certain threshold in MDM for it to receive a “Sales Ready” state. For a marketing lead to reach this status, there needs to be a separate lead record associated with that contact so it can be scored and ultimately achieve that “Sales Ready” state.

Here’s the kicker – if a contact already exists in your MDM environment, the only way for a lead record to be automatically created and associated with a contact, is if they submit a Landing Page that has the “create lead or interaction” selection checked (more explanation below). If most of your marketing activities involve a Landing Page, than this might be sufficient enough for you and by all means feel free to stop reading here.

Though if you have other campaigns or activities that do not necessarily use a Landing Page, the only other way to create a lead record in MDM, is to create that lead record manually. So if you are dealing with hundreds of thousands of existing contacts, and you engage those existing contacts with your marketing activities, all leads that come from that need to have separate lead records, so they can be scored.

I can already hear you now, “Ryan, similar to importing contacts, you can also import leads. Why can’t I just import those leads to generate lead records?” My reply, “if you want to create lead records from a list of existing contacts, the lead import option is not possible because the import will skip over those records due to your site’s duplicate detection rules.” If MDM recognizes a lead found to be connected with an existing contact, it will be skipped over during the import process (check your duplicate detection rules under the Contact Options section in Settings > Site Settings).

Conversely and ideally, if you have a list of contacts that don’t already exist the system, when you import those as leads in MDM, the system will create three separate records: a contact record, a company record and a lead record. Therefore using this approach will result in every contact being newly created and linked to its respective imported lead.

Remember that there currently is no way to purge/delete data in MDM so for contacts already created in your system, you cannot use the above approach. Though not all hope is lost because for all new contacts you can!


Remember to stay tuned for Part 2 of the “Contact Importing: Best-Practices and Best “Gotcha’s” from the Field.

Upgrading to Microsoft Dynamics CRM 2015
Topics: Microsoft Dynamics Marketing