Today’s guest blogger is Jacob Cynamon-Murphy, a Sales Engineer at Sonoma Partners.
Customer: “I want to know, beyond a shadow of a doubt, that your software, your service, and your strategy are going to work for my business.”
Vendor: “Yes. Yes. Yes!"
Although this conversation is purely fictionalized, a RFP process often looks a lot like this.
- Step One: A customer produces a giant Excel spreadsheet with hundreds (or thousands!) of requirements.
- Step Two: The customer sends the RFP to a bunch of different CRM vendors
- Step Three: The customer asks these vendors to rate each line item in the spreadsheet with information such as:
- Included as "out-of-the-box" capability
- Supplemental or 3rd party extensions, with separate license
- Supported through nominal application configuration
- Customization of application is required
- Function/Capability planned in imminent future release
- Function/Capability not currently available
From an outsider’s perspective, this seems to make enough sense. “Hey, once we have all our requirements scored and rated we can make a great decision!” Unfortunately, I am sorry to report that we frequently see a lot of time, energy and effort wasted by customers on RFP…and the probability of selecting the right CRM platform doesn’t increase just because you issued an RFP.
In an effort to help customers improve RFPs, I’ve put together a list of three key areas where things can (and usually do) go wrong during the RFP process.
Sometimes this goes well - the procurement department, the selection committee, or the RFP consultant does a phenomenal job understanding the pressing business needs and opportunities and translates them into a concise requirements list that can be responded to with ease.
More often than not, the RFP has 2x or 3x the number of questions necessary to understand the problem space. The result? Additional time expended by the vendors attempting to respond AND the procurement/selection committee in reviewing those responses. Another issue is that the Excel list of requirements rarely prioritizes which features are the most important. This feature prioritization could have a huge impact on design decisions (which later impact time and budget).
I have also seen RFPs that were clearly boilerplate, including a number of elements that didn't apply to the project under proposal. For the RFP to be meaningful and valuable, it must align with the organization's true needs.
True story - on a technical survey for an RFP I completed in 2013, there was a line item for COBOL support; when pressed on this, the RFP consultant (whom the organization was paying a lot of money to advise them on their CRM selection) admitted that there was no actual need for COBOL support.
Too Many Vendors
We have received RFPs where the customer invited over a DOZEN vendors to respond. Analysts like Gartner and Forrester do the heavy lifting so you don't have to - picking up a research report for the area you are trying to address will give you the top names in the space. Check out the Gartner Magic Quadrants and the Forrester Wave Reports to get started.
You don't need to engage a consultant or spend countless man-hours researching different platforms to find the top CRM players in your space (hint: it’s Salesforce and Microsoft Dynamics CRM). If you tell a vendor that you have submitted the RFP to more than a handful of competitors, the likelihood that they'll respond drops significantly.
There's an old rumor that the Ivy League universities compare applicant lists and drop candidates who apply to too many because they assume the applicant isn't interested in the unique value of the individual universities. Sending your RFP to a dozen vendors feels a bit like that.
Restricted Access to the Business
I have responded to many RFPs over the last few years. Usually, the RFP process drags on and takes much longer than the customer originally anticipated. Finding a great RFP consultant might aid in keeping the process on track, but even that can only help so much. RFPs take a lot of time and don't always yield a better result. Therefore two things I recommend for all customers is that they:
- Organize a CRM selection committee
- Make sure the selection committee spends enough time meeting with each vendor face-to-face
These meetings will help you determine which vendor has the best functional capabilities and ultimately, who would have the best rapport with the customer’s project team. These two tactics are much likely to result in a more effective vendor match than dragging your way through an RFP.
Please don’t take these suggestions the wrong way – RFPs still make sense in some scenarios. However, when you are at an organization where time itself is money, you’ll get to the same results faster by taking the best pieces of an RFP process – a selection committee, guided discovery of key requirements, and interviews with the most-recommended vendors – and avoiding the dreck.
I am excited to announce a new release of Dynamics CRM DevTools! This release provides many additions and enhancements to an already featured packed extension. Head here for the latest version and see below for a detailed list of updates.
- The form tab will now automatically hide when CRM DevTools is opened from a non-record form page in CRM
- Copy Record URL provides the ability to copy the real URL of the current record which is often disguised in CRM 2013 due to the single page framework
- Form Type was updated to display the name of the form type as well as the integer value
- “Is Dirty” was replaced with Dirty Fields which will display a comma delimited list of dirty fields
- User Roles was added to display a comma delimited list of roles for the current user
- Current User will display the name of the current user and the ability to navigate to the record
- Open Record was added to provide the ability to navigate to a selected entity with the provided record Id
- Find Type Code was added to display the type code for a provided entity name
- Find Attribute was updated to use a picklist of available attributes rather than a text box
- Fetch XML input now provides highlighting, auto-completion of nodes and intellisense
- The Plugins tab is brand new and displays all registered plugin assemblies and their details (entity, filtering attributes, and stage)
- Displays number of successes, crashes, and failures for any sandbox plugin (sandbox only)
DB & Server
- The DB & Server tab is brand new and displays information about the Config and MSCRM databases as well as the CRM Server (if user access allows)
- Config and MSCRM Database info
- Data Source
- Initial Catalog
- Integrated Security
- Server info
- OS Version
- .Net Framework
- CRM File Path
We are excited to announce the release of the DefenseReady Scout app to the Windows 8 App Store! This marks the second Windows 8 application deployed to the Windows 8 App Store for Permuta Technologies (DefenseReady Daily Standup being the first)
DefenseReady is a Microsoft Dynamics CRM solution built by Permuta Technologies, Inc. that provides organizations out-of-the-box mission-enabling solutions for Force Readiness, Mission Execution and Training Management. The Military Services community is a unique community that require immediate insight and control at leadership as well as all functional levels throughout organizations. Leadership needs visibility throughout their organization with minimal impact to operations.
Developed jointly by Sonoma Partners and Permuta, the Scout application was designed for users in the field who gather critical information in support any business activity managed by DefenseReady. Users can leverage the built-in features of their Win 8 devices to generate maps, identify points of contact, collect photos, record audio and capture other types of information. Users can work their Scout Plans, flag items for issue, mark them complete, and when they’re ready they can organize the final data into a brief that can be exported to Microsoft Word and provided to leadership and decision makers.
Scout Event List
When you first log into Scout, you’ll be presented with a list of Scout Events. These are the high level initiatives for an activity that is taking place. It could be a mission, investigation, emergency response, or any other type of event that requires detail planning. Each tile displays the start / end date of the event, as well as the number of Scout Plans contained within the event. From this page a user can create a Brief which we’ll go into more detail on below.
Scout Plan List
When you drill into a Scout Event, you’re taken to the Scout Plan list page. Scout Plans are broken up by status. Each tile displays information about the Scout Plan (address, distance from current location, who it’s assigned to, and the percentage complete). From the Scout Plan page, users can:
- Select a different Scout Event
- Add a new Scout Plan (either from a predefined template, or manually created)
- Lock/Unlock a Scout Plan
- Create a Brief
Scout Plan Item List
Once you click into a Scout Plan, you’ll see all the Items that make up this plan. A Scout Plan can have many items that were either manually created, or automatically created from a template (see mini-map section below for more information on the meaning of the icons). When in the Scout Plan Items list, you can take many different actions by swiping up:
- Open an Item
- Mark an Item Complete / Reopen a Complete Item
- Flag an Issue on an Item / Remove the flag from a Flagged Item
- Remove / Delete an Item
- Reorder Items
You can create many different Scout Plan Items within one Scout Plan. The following item types can be created for any Scout Plan:
- Voice Memo (using the native microphone capabilities of the device)
- Image List (using photos existing on the device, or the devices native camera capabilities to take a new photo)
- Map (using the native GPS capabilities of the device)
- Free form Text
- Equipment List
- Manpower List
- Risk/Threats List
- Facilities List
- Points of Contact List (images saved on the device or new ones taken with the camera can be associated to each contact in the list)
- Generic Listings
The mini-map appears at the top of the Scout Plan Items list which allows users to quickly navigate between items without having to scroll horizontally through a long list. Each icon means something different and each Scout Plan Item may have one or more of the following scenarios applied to it (e.g., it can be a Template Item that is Flagged for an Issue but also Complete):
- Square: This is an item that came from a template.
- Circle: This is a manually created item.
- Gray Fill: This indicates the item is still in progress and not complete.
- Green Fill: This indicates the item is complete.
- Yellow Triangle: This indicates the item has been flagged for an issue to follow up on later.
Scout utilizes the native Windows 8 experience of being able to Snap an application to a portion of the available screen so allowing users to work within two applications at once. Scout will resize to the appropriate size and allow you to navigate Scout while also working within the other application.
Scout takes advantage of the power of other already built applications for Windows 8 and integrates that functionality into Scout. Users can share from the following applications to within a Scout Plan Item allowing users to create this data outside of Scout in a tool they may be more comfortable with using, and at a later time bring it into the app.
- Skitch –> Scout Plan Item Image
- OneNote –> Scout Plan Item Text
Generate a Scout Brief
At any point along the process of collecting data and creating a Scout Plan, users of DefenseReady Scout can generate a Brief. A Brief can be generated either from the Scout Event list, or from the Scout Plan list. A brief can only contain a single Scout Event, but it can contain multiple Scout Plans from that event, as well as multiple Scout Plan Items from the plan(s) selected.
During the brief creation process, a user has the ability to select the Scout Plan(s) to include, the Scout Plan Item(s) to include, and also change the order of where the Scout Plan Items will appear in the generated Word document. Scout Plan Items default to the order as they were within the plan itself as the user was building it out, but can be changed (only within a single plan – users cannot move items out of one plan and into another for the generated brief).
DefenseReady Scout is currently available for free to users of DefenseReady. The app also has a built-in Demo Mode. Therefore, if you’re not currently a DefenseReady customer, you’re still able to download and test it out. You can currently download the application directly from the Windows 8 App Store, or from this link:
Congratulations, future CRM owner! You’ve successfully navigated the rough waters of CRM vendor evaluations and you selected either Salesforce or Microsoft Dynamics CRM for your organization’s CRM platform. We know this process may have been more in-depth or taken longer than you expected. Bravo for getting this far!
Before you put the pen to paper and sign the dotted line, here are 6 questions you should ask and have answers to, before signing the CRM contract.
How Do I Pay?
Has your CRM vendor gone over the specifics of your payment plan? Many times we see CRM prices quoted as per-user per-month, but most CRM vendors only offer an annual contract with upfront payment.
Understanding your payment responsibilities before signing the contract avoids any ambiguity that could arise down the road. If you’ve made a special deal with your sales rep make sure this is written down and understood by all parties involved.
How Do I Add?
If you have agreed to a yearly payment plan it’s important that you understand how future changes to your contract work. Is there an additional cost to adding users mid-contract? What will be my per-user price to add more users to the system? What process do you have to go through to add these new users?
Having a clear understanding of how to adjust your contract mid-agreement will save you from a headache in 6 or 8 months.
How Do I Subtract?
You also should understand the ins and outs of downsizing your existing contract. Can you transfer licenses from old employees to new employees? Can you downsize the number of users you have a few months into your agreement? Remember that super sweet pricing discount you negotiated at contract signing? Please remember that later because most CRM vendors won’t let you reduce the number of user licenses you have…that’s the tradeoff you have to take for discounted pricing.
Updating your agreement shouldn’t be a point of frustration. Take the necessary steps to future-proof your contract by asking your CRM vendor these questions before you sign.
How Do I Get Help?
During the sales process, your rep has been very hands-on. They have had you on speed-dial and are always available to walk you through any questions that you have. Once you sign the contract, mostly likely your primary point of contact will change to someone better armed to help you when real issues and questions come to the forefront. Before you sign your CRM contract, make sure you have a defined plan of attack for working through any problems that may surface. You should know who you’re going to call, what’s the response time (service level agreement), and how you’ll be charged for additional help.
How Do I Store Data?
It’s important that you (and your users) know the specifics about the storage space that is included in your contract. Ask your CRM sales rep what repercussions you face if your limits are exceeded during your engagement and what your options are to avoid those repercussions. You should also have firm prices from the CRM vendor on how much they'll charge you to add more storage if you need it.
What Are My Limits?
Most cloud-based CRM systems include API limits and governors to make sure customers don’t cause system wide performance problems. CRM vendors rarely make API limit exceptions for individual customers, so you need to make sure your system stays under the cap. Therefore ask for the complete list of API limits and ask any follow up questions before signing the contract.
Having the answers to these 6 questions before you sign your CRM software contract will save you from frustrating conversations after deployment. If you need help figuring out your unique decision-making process and software selection, we’re here to help!
Today’s guest blogger is Bryson Engelen, a Sales Engineer at Sonoma Partners.
A common ask of users in any CRM system is being able to create records quickly and easily without the need to navigate all over the place to do it. Microsoft Dynamics CRM 2013 makes this possible using the Global Quick Create feature located on the Navigation Bar at the top of the screen. Because Quick Create is always onscreen, you can create records of any kind whenever you need and wherever you are (including while on a specific record) by entering information into just a few fields. After the record is created, you can fill out the full Entity form out as you receive information and as it is convenient to you. This allows for a very low barrier of entry for information, meaning more records get into the system and they do so faster and easier.
As you can see, you can create a wide variety of records. By default these include Tasks, Phone Calls, Emails, Appointments, Accounts, Cases, Competitors, Contacts, Leads, and Opportunities, but Quick Create can be enabled for other Entities, including Custom Entities. To use Quick Create simply hit the + button on the Nav Bar from anywhere in the system and select which Entity you want to create a record for.
A hoverover form with a few fields appears, allowing you to enter the information critical to that Entity. Note this form is fully customizable, so you can choose which fields and values you want your users to enter here. Also, this hoverover form is not available for Activity records, which default to showing the main form. More on customizing these forms in a bit. Here I have created a Contact on a form floating above my dashboard.
Once the record is saved, I can choose to go to it, create another, or stay where I was working and come back to it later.
Also note that if you are on a record and hit the + button on a subgrid on the form, the Quick Create form appears as a hoverover on top of the record, allowing you to quickly add a related record without leaving that record’s form. Here, I was on an Account record for A. Datum Corporation and clicked the + button on the Contacts subgrid to open the Quick Create form up top.
As mentioned before, you can customize this form pretty easily by going into Settings, Customizations, and navigating to the Entity you wish to change. As you can see, Quick Create is a separate form type, and you can customize it like any other form with point-and-click changes.
Just some quick notes on the Quick Create form (pardon the pun). The layout is limited to a single tab with three columns as you see below, you can’t add any sub-grids, web resources or iframes, and there is no vertical scroll, so once your Quick Create form hits the bottom of the page any fields you can’t already see are cut off (typically between 20-35 fields down, depending on your monitor and resolution). You can define multiple Quick Create forms, but only the first is visible, so it’s likely this is designed so you can assign one Quick Create form per Security Role if needed.
For users, Quick Create forms allow you to quickly enter information in a way that isn’t overwhelming. For managers and CRM administrators, it means CRM reflects the users actual work world instead of just being a place where only the bare minimum of their work knowledge is captured. Whenever you make it easier to enter information, you capture more information and your system becomes more valuable to the organization. Global Quick Create is just another example of how Microsoft Dynamics CRM 2013 delivers on its promise to provide value to your organization overall.
Update Rollup 16 for CRM 2011 is now available and it is massive! This update provides more than 140 fixes and roughly 50 of them are for the Outlook client. It is good to see that Microsoft is still hard at work optimizing and fixing CRM 2011 issues. Update Rollup 15 focused on Outlook client improvements so with Update Rollup 16, users should be seeing vast improvements in the Outlook client compared to previous versions.
UR 16 also provides some key UR 12 fixes as well:
- Reports do not render correctly after applying CRM 2011 Update Rollup 12.
- After applying Update Rollup 12 on the Microsoft Dynamics CRM 2011 Server, users of the offline edition of the Microsoft Dynamics CRM 2011 Client for Outlook are unable to configure their Offline Scheduled Sync settings under Personal Settings.
- After Update Rollup 12, datetime picklist does not show the selected value when opened.
- Cannot use print preview for draft replied emails with images after Update Rollup 12 & 13.
Head here for the full list of fixes (be prepared to scroll for awhile!) and here for the download. As with all Update Rollups, be sure to regression test on a development environment first before applying to production.
We know that selecting a CRM platform can be a “make or break” decision for you and your business. Pick right, and you will see big benefits such as increased sales, better reporting and more efficiency. Pick wrong, and you will waste a lot of time, energy and money on a CRM system that no one wants to use. The stakes couldn’t be much higher when choosing the best CRM platform for your business. To make matters worse if you’re like most buyers, you will probably only conduct one or two CRM selections in your entire career…so no pressure.
As a company that has conducted hundreds of CRM software evaluations over the past 10+ years, we have seen customers try all sorts of different tactics to try and make the best decision possible. Through our observations we have gained a pretty good idea of what works well to help make a CRM decision, and we also know which tactics might lead to problems down the road. With these experiences fresh in our mind (and wearing the scars from the not-so-great processes!), we created this eBook to share our candid feedback and best practices on how you should conduct a CRM platform selection.
Use this free eBook to help you shape your consideration and navigate your CRM software selection and purchase.
Two weeks ago we released the Dynamics CRM DevTools Chrome extension and so far we have received a great response from the community. In just two weeks time the CRM DevTools hit over 400 users! We want to keep enhancing the DevTools so we created a forum here where would love to hear any feedback on what could make your everyday customizing, developing, and administration easier that we can leverage through this tool.
We are currently working hard on an update to provide even more functionality as well. Below is a sneak peek of the new Fetch tab enhancements that will provide Fetch XML highlighting, auto-closing of nodes and intellisense!
Look out for an update in the near future with these enhancements and much more!
I asked a potential client during a recent meeting to describe his method for gathering requirements for his upcoming CRM project. While thumbing through the list of must-haves he gave me, he told me about his round-the-world trip. In order to compile the list of requirements, he flew across several continents to ask members of his sales team: What do you want?
“If I asked people what they wanted, they would have said faster horses.” – Henry Ford
Believe it or not, asking a sales team member what they want is the traditional approach to gathering requirements for CRM systems. If you’re adopting the traditional approach I hate to tell you, you’re doing it all wrong.
When it comes to gathering requirements you can’t ask people what they want, you need to witness what they need. Holding a 60-minute meeting in a conference room isn’t going to give you the meaningful insight you need to build an application that saves your end users time and your company money. If you want to build a CRM application that will ensure user adoption you need to buckle your seat belt and go along for the ride.
The Ultimate Question: Will Our Sales Staff Use It?
IT and sales professionals know that many CRM systems fail due to poor end user adoption. Therefore if you are making the investment and taking the time to invest in a CRM system…everyone should be laser focused on how to make sure you can achieve high end user adoption. The best way to plan for a high adoption rate is to gather requirements by observing your end users in the field while they conduct their day-to-day tasks.
Decision makers need to put themselves in their sales staff’s shoes (or let Sonoma Partners take the walk for you) and pay attention to their day-to-day activities. The best way to gain insight into these activities is to play the role of the silent observer and spend some time watching.
What types of things should you be looking for?
- What are all the various systems and tools the users leverage?
- What are the data inputs and outputs of each system?
- Do they have any external files (Excel spreadsheets, Word documents) that they pull out to “really” do their job?
- What is their hardware situation? How often are they using mobile devices vs desktop/laptops?
- How often do they connect via wireless versus hard wire?
- Which web browser are they using?
Really understanding how your sales staff actually gets their job done (instead of how they say they do!) will help you build a CRM system that connects technology with your business process.
Beware of the Conference Room
Nothing says failure like a plan made in a conference room. It’s easy to hold a brainstorming session and ask attendees to bring a comprehensive list of requirements that they would like to see included in the mobile app.
Unfortunately, what usually comes out of these sessions are unnecessary requests for more: more integrated systems, more data fields, more information, more complexity. We see it often and refer to it as the over-engineering scenario. Clients get tied up thinking about capabilities they may one day want rather than what they need today. What is the result of over-engineering your CRM system? Opportunity, account and contact forms with 150+ data fields each…and none of these data fields will ever get completed!
Our advice? Follow the 80/20 Rule. Focus on the 20% of the information that matters most. Your CRM system will be more valuable if everyone completes the 20% most important data fields, versus having a few users complete 80% of the data. Gathering system requirements by observing end users in the field is the best way to help you identify the 20% of fields your users need to do their job best.
What’s the Objection?
So why do CRM customers still use the traditional approach to gathering CRM requirements? We want to debunk some of the primary objections we hear when trying to convince clients to enlist a silent observer.
- Our sales staff is too large to get an accurate sample. If your organization has a large sales staff that is spread out geographically, it’s easy to assume that getting an accurate sample size is impossible. The truth is you don’t need to interview everyone to get a clear idea of how your staff uses your CRM. In our experience we find that a handful (yes, that’s about 4) of observations can shed light on the prevailing trends your staff faces.
- Our sales staff doesn’t know what they want. We hear this a lot from IT departments. Traditionally IT plays a leading role in CRM software selection even though they never touch the final product. You need to internally remove this stigma and trust that your sales team not only knows what they want, but has an idea of how the technology can improve the way they work.
If you’re ready to toss the traditional method out the window, our skilled user experience architects are ready to pull up a chair and observe. We’re here to help and build a CRM application that will positively impact your workforce and your bottom-line.
Recently, I worked on an integration for a client that utilized the Salesforce Dataloader to upsert and update records from a CSV file from the command line – pretty routine stuff. For this particular integration we were upserting a custom object type and had already resolved the lookups to their IDs. Everything was going well until we went to deploy to production, where we ran in to a mysterious “id value of incorrect type” error – mysterious because all the common causes for this error didn’t apply.
Normally when this happens, it’s because either:
- The value really isn’t a Salesforce ID (most commonly the name field is being used instead of the ID, since that’s what you see in the UI)
- The field mapping is wrong – you’re trying to insert an ID in to a non-id field (like a number field)
I checked and double checked my mappings, and they looked fine (Manuf__c is a Lookup):
This left me stumped for quite a while, and my Google-fu was failing me. Finally, after much prodding and poking, I took a look at the configuration file for the Dataloader:
Remember, we were trying to upsert data in to production. I had forgotten to update the process-conf.xml file to point to the right endpoint, and therefore it was still logging into our sandboxes instead of production (revealing another error… I had forgotten to update the user credentials as well). While this is clearly my fault, the error the Dataloader returned was completely unhelpful, and actually sent me on a wild goose chase for about an hour before I gave up on the error message itself.
Moral of this story: if you’re getting this error and you can’t seem to find anything wrong with the data or mappings, check your endpoint. You might just be pointed at the wrong org.
An often overlooked feature of CRM is the ability to easily update numeric fields using simple calculations without having to invest in the services of a developer. Power users, administrators, and business analysts can use workflows to add, subtract, and multiply data in numeric fields.
A simple case of this would be to have a field Contact entity that tracks the number of phone calls made to the Contact. This field can then be used in reports / dashboards for you to further target your highly active Contacts to drive future business, or even send a slightly better holiday gift as a thank you for their continued business.
The first thing you’ll want to do is create a numeric field (whole number, currency, decimal, or floating point number). I’ve added a “# of Phone Calls” whole number field to my Contact form.
Then create a workflow to run off of Phone Call creation, and the only step needed is an Update step to update the Contact record.
In this step, click in your numeric field, and click the drop down for Operator. You’re able to set the field to a specific value, clear it, or use one of the simple math functions provided to perform easy calculations.
Now you can create your phone calls and watch your calculated field increment up with each workflow. You can obviously put in conditions in your workflow in case you only want to count phone calls that are completed, and not all phone calls. Or you can even add workflows for the other activity types in case you’re not interested in just a workflow count, but an overall count of activities made to contacts, or even accounts. Finally, you can add workflows around the deletion event of these activities to decrement the count if you allow your users to delete activity records.
An additional use case for this native functionality would be to roll up child line item costs/expenses/sales, to a parent record. A custom entity could be create to track time for professional service firms. The time records could then roll up to the parent project record to track the overall hours logged against the project, and even be multiplied by the hourly rate to track the overall budget spent at the project.
This functionality, which offers basic math, allows non technical folk to add powerful business logic to their solution, and is often overlooked for the more complex / more expensive “custom development” solution.
I am happy to announce Dynamics CRM DevTools, our new free developer tool for Dynamics CRM 2013 and 2011 UR 12+. CRM DevTools is an extension to Google Chrome which can be found here in the Chrome web store. This extension provides a variety of tools to help optimize customizing and troubleshooting within Dynamics CRM. Currently all deployments of CRM 2013 and CRM 2011 UR 12+ are supported. Below is usage information and a full list of features.
- Using Google Chrome, install the app from the web store - https://chrome.google.com/webstore/detail/sonoma-partners-dynamics/eokikgaenlfgcpoifejlhaalmpeihfom
- Navigate to a record in CRM 2013 or 2011 UR 12+
- Press F12 to open the Chrome DevTools Panel
- Click the CRM DevTools tab on the far right
Displays the current form’s back-end information
- Entity Name
- Entity Id
- Entity Type Code
- Form Type
- Is Dirty
- Ability to show the current form’s attribute’s schema names
- Ability to refresh the current form
- Ability to enable disabled attributes on the current form (System Administrators only)
Ability to show hidden attributes on the current form (System Administrators only)
Current User Information
- Domain Name
- User Id
- Business Unit Id
- Ability to open advanced find
- Set focus to a field on the current form
- Display a specific User and navigate to the record (by Id)
- Display a specific Privilege (by Id)
- Ability to update attributes from the current form (System Administrators only)
- This is helpful when you need to update values for testing but the fields don’t exist on the form
- Execute any Fetch XML statement and view the results
With the Salesforce Spring ’14 release scheduled to be released to dev and sandbox orgs in a few weeks, followed by production orgs starting a couple weeks after that, it’s time to look at the latest release notes to see what goodies we have in store. We’ve done some digging through the notes and here’s what we think are the most important changes for both us and our clients in the upcoming release.
First, a list of the important release dates you should know:
- Feb 7 – 8: Sandboxes upgraded
- Feb 14 – NA1 production instance upgraded
- March 7 – NA6, NA7, NA8, NA9, and NA13 production instances upgraded
- March 14 – 15: All remaining systems upgraded.
IE 11 support
Salesforce has added support for IE 11. Note that there are still restrictions on what is supported in the various versions of IE – for more details see this page of the release notes.
Increased file storage per user
The maximum file storage per User in Salesforce is being increased from 612 MB to 2 GB. This is great news for our clients that make heavy use of documents in Salesforce, as it will help alleviate some of the data storage quota woes that we see.
A few import things worth noting about this feature:
- This only applies to Enterprise, Performance, and Unlimited edition organizations.
- This will not be released at the same time as the rest of the Spring ’14 upgrade. It’s scheduled to be available "within one month after Spring ’14".
For full details about this feature, see this page of the release notes.
This isn’t actually a single topic, but rather an entire overhaul of the mobile platform within Salesforce. The idea here is that you can build the mobile application from with Salesforce and have it be viewable on a mobile device in a more native format. This leverages Salesforce’s security and Visualforce pages, reducing time to market and maintenance costs for some types of mobile applications.
Need help deciding if you should invest in native mobility or Salesforce1? Not sure if you need mobility at all? Contact us and let us take you for a test drive.
Repeating Tasks on a Flexible Schedule
Akin to a repeating task on a set schedule, this feature will allow a task to be repeated a certain number of days after a specified trigger. We’re excited about this feature because it’s a semi-common request, and this will reduce the amount of custom code we need to write and maintain - ultimately decreasing the cost for our customers.
Full details about this feature are on this page.
Salesforce CTI Toolkit
This is more of a warning than a feature. In Spring ’15, the Salesforce CTI Toolkit is being retired and Salesforce will no longer provide support for it. Salesforce is recommending all partners move to Open CTI for future development.
The full details for this feature are located on this page.
Worried about if this will affect your Salesforce CTI integration? Contact us and we can help you find out.
Launch Flows from Workflow Rules
This is a Pilot status, but we’re excited about this nonetheless. This feature will allow you to launch flows from workflows when the workflow criteria is met. This is just one more way to accomplish potentially complicated logic without needing to write custom code, reducing the overall costs of building new applications.
You can read more about this pilot feature on this page.
Collaborative Forecasts and Opportunities
This is an umbrella feature that includes several changes to how forecasts and opportunities are handled in the sales process. Some of the changes include adding the ability for sales teams to have multiple forecast types, improved forecast reporting options, and a streamlined process for splitting opportunities.
Also worth noting here is that the class Forecasts (1.0) will be retired in Summer ’14.
Full details about all of the changes around this feature are on this page.
Of course, there are many more changes coming in the Spring ’14 release that we didn’t cover here, so be sure to check out the full release notes for further information.
Have questions or comments and want to speak to someone knowledgable? Contact us and we can help.
Recently, I blogged about how to connect to Salesforce and use the SOAP API using WCF. Recently, my colleague Mike Welburn told me about the Salesforce Toolkit for .NET, which looked very intriguing. The toolkit is a set of code built on the Portable Class Library that uses the Rest API to communicate with Salesforce. I decided I would write a quick demo app to give it a spin and see if this is something we could use here at Sonoma Partners to assist in building integration, migration or mobile applications.
To start, the documentation for the application is located here. From that documentation, I was able to build the following (very) simple console application that proved out the basics of what the library can do and how easy it is to use it:
The code here is pretty straightforward, so I won’t go through it line by line. There are, however, a few things worth noting here. First is the use of two sets of credentials from the Windows vault – the vault only lets you store usernames and passwords so there wasn’t a nice way to store the consumer key and secret with the username and password. Second, this library is built upon .NET 4.5’s async/await paradigm, so you need to Wait() on the task to finish to prevent the process from terminating early (in a console application). Lastly, this toolkit does allow the use of anonymous types when communicating with Salesforce (see the update example). This is a nice feature which has the potential to cut down on the number of classes and files you need to write in your applications.
So now for the real question: Does this toolkit provide us enough benefit to justify adding it as an external dependency?
One of the things we always have to be cognizant of when building applications, especially integrations, is that the code we build has the potential to be around for a very long time. Any external dependencies we introduce to the application have to either:
- Come from a known name so that we can be reasonably sure it will continue to be supported
- Add enough value to make the risk of it stagnating worthwhile
In this toolkit’s case, it meets both criteria, especially if we look to the future. This toolkit is available on the Developerforce Github account, which indicates it is officially supported by Salesforce and will continue to be maintained going forward. It also provides us with code to handle what I would consider to be the most painful part of any application: authentication. This alone makes the toolkit a worthwhile addition to any application that needs to connect with Salesforce. This is a library I look forward to seeing grow in the coming months, and will definitely recommend whenever we have a project with requirements that this toolkit can help solve.
One Further Sample
Mike Welburn also alerted me to this excellent post which gives a more in depth sample on how to set up an application to use this library, including screen shots of what you need to do in Salesforce. Definitely give it a look over if you’re having issues getting going.
Today’s bookmark is an updated version of our CRM 2011 bookmark to change all field labels on a form to their respective logical names. This is helpful for customizers and especially developers so you can quickly reference a field without going into the customizations.
Now when you are on a record form and click your new bookmark it should change all the field labels as shown below.
Have you purchased a new car in the past 5 years? Do you still get the cold shakes thinking about that grueling and awful sales process? The half-truths, the deceptions, the scummy feeling you had when the deal was over? Remember that scene in National Lampoon’s Vacation where Clark Griswold tries to buy a car?
Multiply that sales pain times 100, drag it out over several months, and you will get a taste of what many enterprise CRM software selection processes seem like! We frequently work with software vendors and customers to help them evaluate different software platforms and negotiate pricing. Unfortunately many of these transactions causes frustration on both sides of the process. Most companies undergo a CRM software selection process just once every few years. Since you might be a little rusty, we want to make sure you buy as efficiently as possible. Buying CRM software like a pro will help you:
- Negotiate the best price and terms possible
- Make you a star within the walls of your company
- Save you from sales people that nag and annoy you
With that in mind, we want to share the “secret sauce” on how customers can buy CRM software like a pro.
Flip the Script, Sell Your Story to the Sales Person!
As a customer, you’ll work with a sales rep from the CRM vendor. Many buyers treat the CRM sales rep as the enemy, when in reality you should treat the sales rep as your biggest advocate. CRM sales reps have a job to do, and here’s what they want to know about you:
- When do you plan to make a decision?
- When will you actually place the order?
- How much software do you plan to buy?
- What’s the long-term upside?
- What does your org chart look like?
- What are the software evaluation criteria?
- What’s the decision making process?
- Will you stick to the plan and timeline?
- How do we stack up to our competition?
- What’s our relationship with key influencers and decision makers?
- Should I commit this deal to my manager?
- What can I do to help you make a decision as quickly as possible?
In many CRM sales cycles, a cat and mouse game exists where customers try to hide as much of this information as possible while sales people work relentlessly to answer all of these questions. Sometimes sales people will do things like go around you and call your manager and executives. While this might be super annoying to you, try to remember that they’re only trying to get answers to their questions. If you put yourself in their shoes, you can imagine how their sales manager probably grills them on a weekly basis about all of their questions.
Now that you know what information your sales rep needs, we recommend that you share as much of this information as possible up front. Show org charts, outline the influencers and decision makers, and get them excited about the long-term potential of your account. Maybe your current project only requires a few sales force automation software licenses, but make sure the sales rep knows you’re considering a customer service project twelve months from now, and that the marketing group might also like some new applications.
Beyond the long-term opportunity, we encourage our customers to provide access to your executives when the time is right. By making sure the CRM sales person knows how and when they can engage with your execs, they won’t try to get around you. Just as important, they can also line up the appropriate sales management from their side so both sides can speak directly and candidly to one another. This executive to executive communication helps reduce the potential for mis-communication or mis-understanding.
It might seem counter-intuitive, but sharing key information with the CRM sales rep will:
- Get the sales rep and their sales manager excited about your account, and they will “go to bat” for you when it comes time to negotiate terms and pricing
- Position you as a professional buyer, and they will treat you accordingly during negotiations
- Save you hassle and headache because the sales reps won’t need to go around you
An open and honest conversation between the customer and the CRM vendor will lead to the best possible decision and pricing for the customer. Of course, if you need help figuring out your EXACT decision making process and software selection, we would love to help you out. Please contact us and we’ll get you setup with our software selection best practices!
This version of Editable Grids for CRM 2011 fixed a few defects:
- Fixed a script error when changing views on the editable grids in Outlook 2010
- Fixed inability to tab out of lookup attributes
- Fixed errors on decimal attributes
- Provided a friendly error message when a user tries to save the editable grid with an invalid date format
Sonoma Partner’s Editable Grids is a utility that allows users to quickly and easily update multiple records at one time. The editable grid button is accessed in the application ribbon, so users can always access it quickly. The editable grid button is available on Account, Contact, Opportunity, Lead, and Case out of the box, but can be added to more entities through configuration.
Note that this release of Editable Grids is for Dynamics CRM 2011 only and not Dynamics CRM 2013. These are two separate solutions that Sonoma Partners provides for the latest two major releases of CRM.
This is a free tool that Sonoma Partners makes available to the community. Head over to the Community Site now and download your copy!
Today’s guest blogger is Nathen Drees, a Developer at Sonoma Partners.
In the first part of this post, I showed how to build an application in .NET that can listen to and respond to events fired from the Salesforce Streaming API. In this part, I will look at the solution from a business perspective and analyze its strengths and weaknesses.
When we’re building integration solutions for our clients, a set of common requirements continuously pop up that we need to be able to address. These requirements broadly fall in to two camps:reliability and configuration.
This is from both a system perspective and a data perspective. Clients want to have as much of a guarantee as possible that any change in the source system will eventually, and as quickly as possible, be reflected in the target system. They also want their IT staff to be notified if something in the near-time process goes wrong and the data cannot be synchronized so that they can take corrective action.
Clients prefer the ability to configure the solution without having to involve a developer as much as reasonably possible. This helps keep costs down and, with some training and documentation, allows the IT staff to move the application from one server or environment to another if needed.
When looking at the Salesforce Streaming API, the biggest issue I ran into was from the reliability point of view. The documentation says that the API doesn’t guarantee that a message will be reliably delivered – meaning that if Salesforce were to become unavailable or your server is rebooting while a message is generated, the target system will never be notified. This isn’t ideal – I would like messages to be persistent (see SQL Service Broker for an example of a technology that does this), or at the very least the ability to be notified if I miss a message, even if I can’t recover the message itself. Since neither of these are available currently, my primary work-around is to build a combination of near-time and scheduled jobs, where the scheduled job will just grab everything on a regular basis to ensure we don’t miss anything.
So is the Streaming API worthwhile for integration purposes? That depends heavily on how much the client needs near-time updates in the target software. For most clients, the extra overhead of having to build a scheduled application is going to render the Streaming API useless for integration purposes – why not just wait the few hours and let the scheduled job do all of the work? If the client really needs near-time updates then the Streaming API is something worth looking at, as long as its limitations are understood and planned for.
It should be noted here that this does not mean the Streaming API itself is not useful. One of the primary uses for it is to build reactive UIs that are aware of data changing on the server and can update themselves accordingly. In this role, the Streaming API has value and should still be considered.
For the first bookmark in this series, it will provide the ability to copy a record URL. In CRM 2013 when you are on a record form, currently there isn’t a way to copy the record URL like in CRM 2011. Also in CRM 2013 when you navigate to a record, the browser address bar doesn’t display the URL to the record so there isn’t a quick way to find the URL or the record ID.
We hope these bookmarks prove to be useful. Hit us up in the comments with your favorite and let us know if you have any ideas for a new bookmark!