Microsoft has been rolling out CRM 2015 for Online organizations (On-prem download can be found here) but before you perform the update you will want to review the new list of unsupported customizations in 2015 to see if you are currently using any of them.
Earlier in the year, in the 2013 SDK, Microsoft provided a list of things that will be changing in the next release which can also be found here in the MSDN. Only 3 functions are being removed, getServerUrl (use getClientUrl), isOutlookClient (use client.getClient) and isOutlookClientOnline (use client.getClientState). The Xrm.Page.ui.getFormType call will no longer return 5 for Quick Create and 11 for Read Optimized as those types of forms were removed/deprecated in earlier releases. Also be sure that your customizations are no longer using the old 2007 endpoint as it is removed in CRM 2015. To help detect if you are using the 2007 endpoint, you can run the Legacy Feature Check tool against your organizations.
Lastly, there have been some changes to the web application requirements for CRM 2015. Support for IE8 and IE9 has been removed with the new version. See below for a list of all the supported browsers:
- Internet Explorer 10
- Internet Explorer 11
- Mozilla Firefox (latest publicly released version) running on Windows 8.1 or Windows 8, or Windows 7
- Google Chrome (latest publicly released version) running on Windows 8.1 or Windows 8, or Windows 7, or Google Nexus 10 tablet
- Apple Safari (latest publicly released version) running on Mac OS X 10.8 (Mountain Lion), 10.9 (Mavericks), or Apple iPad
And the supported versions of Microsoft Office:
- Microsoft Office 365
- Microsoft Office 2010
- Microsoft Office 2013
As always be sure to perform the upgrade first in a development or sandbox org to verify that your customizations are still functioning post-upgrade before upgrading your production environment.
Today's post is written by Andrew Monshizadeh, an iOS Developer at Sonoma Partners.
As Salesforce.com consultants, we are often asked to provide fully customized solutions for our clients' needs. This can range from basic customization via the Setup interface (Point & Click Customization) to creating entirely new experiences on top of the Salesforce.com platform. Often though, we are found somewhere in the middle and need to create simpler Visualforce pages, and backing Apex controller/extensions, to simplify some processes for the client.
When developing Visualforce pages, there comes a point where it feels like sections are starting to be repeated. In development, there is a principle called "Don't Repeat Yourself" (DRY) that says if there is code being repeated, the developer needs to rewrite that code into a reusable component. The DRY'er the code, the easier it should be to maintain and understand. Thankfully, the Salesforce.com platform provides this functionality for Visualforce -- Visualforce Components.
Visualforce Components are little (or big) snippets of Visualforce that can be reused across numerous Visualforce pages, or multiple times in a single page. These components, then encapsulate whatever reusable visual and logical elements necessary to be self-containing. Additionally, a Visualforce Component can have a backing Apex controller class. With that backing controller, the component can do additional processing necessary for itself, without relying on the parent page's controller.
As an example of where this can be helpful, consider the situation where a client wants to display a table of Case records relating to a given Account. Normally, the developer would just put an <apex:relatedList> tag in there, and call it good.
Figure 1: What a standard related list would look like
However, what if the client wants some dynamically generated content in that table, like the most recent Case Comment inline with the Case Number? This is not so simple.
The most common solution would be to use an <apex:pageBlockTable> tag, pass in a list of Cases, and create a Map of Case ID to Case Comment Body in the page's Apex Controller. However, this potentially breaks the concept of DRY code if there is even another situation where the client wants to use this list of Cases and Case Comments because all of the logic and view is tied into this one Visualforce page. In order to reuse this Case list, the developer would have to copy/paste the Visualforce and Apex into another page and controller.
Figure 2: Custom page block table
A better solution would be to move the <apex:pageBlockTable> tag, along with the Case and Case Comment Apex code out into a Visualforce Component and backing Apex Controller. With a properly developed component, it is extremely simple to add this Case and Case Comment list to any page that needs to display this information.
In the second part of this post, we will discuss the process of building this example component.
Have questions about Visualforce Components? Let's set up a time to talk.
The Salesforce Admin's Toolbox is written by Megan Burch, a Salesforce Business Analyst at Sonoma Partners.
Salesforce is a powerful platform and it’s incredible to see what administrators can do without custom code or development. But what many Salesforce admins don’t realize is that they can solve many complex scenarios with a just a little bit of code and configuration, without the assistance of a developer.
The Salesforce Admin’s Toolbox is a series designed to showcase a variety of technical tasks that admins can do to elevate their Salesforce solution. I’m here to empower the admin and show you how to accomplish things you once believed could only be done by a developer.
Visual workflows allow admins to construct complex scenarios with forms and business processes. What becomes a little tricky, is providing users an easy way to access the flow within Salesforce. Users access these flows directly from a URL, through a custom web tab, or a custom button. Personally, I like using custom buttons to access the flow because the user can run it directly from the record they’re viewing. This approach may appear a bit intimidating because in addition to creating the custom button, you first have to embed the flow in a Visualforce page. But as you will see, this is really not as hard as it sounds if you follow these steps.
1. Create a new Visualforce Page
This can be done by navigating to Setup > Develop > Pages then clicking “New”
2. Embed your flow
Every new Visualforce page starts out looking like this
Remove the existing code.
For line 1, type the following:
<apex:page standardController="Contact" tabStyle="Contact" >›
The <apex:page /> tag is the command to create the page.
Note you’ll set the style of the page based on the object where you want the button to appear. In this case we’re going to put it on the Contact page. If you’re using this on another object, just substitute the name in line 1, if you’re using a custom object, append __c at the end for the standardController and tabStyle values.
The second line of your page will call the flow using a component. The component for calling a flow is simply <flow:interview /> with a name filled out.
On the second line, use the following:
Note: The name must be the unique name you created in Salesforce, so underscores will be used between words. If you’re not sure what the unique name of your flow is, navigate back to the flow you created and locate the unique name on the top right.
The last line will just be the closing page tag, so overall you’re page will look like this:
<apex:page standardController="Contact" tabStyle="Contact" >
We have just created a custom VisualForce page! Next we need to create the custom button that will access our new page.
3. Create a Custom Button
To create a custom button navigate to the “Button, Links, and Actions” option from the object you want to create the button. For your example, we will use the Contact object.
A “List Button” will show up on any related lists or list view you choose to put it on.
Again for this example, I chose Display in new window. I chose this behavior so the user could run the flow without losing visibility of the contact record they were on previously.Finally, you’ll want to select your content source, which in this case is Visualforce page.
4. Adding a Custom Button to a Page Layout
To add your custom button, navigate to the edit page layout screen. Select the “Buttons” option from the sidebar, and drag your button onto the page.
Salesforce comes with an extensive security model built in that can handle many different scenarios, from controlling access to data and functionality, to guiding data through different flows and business processes. However, no security model, no matter how extensive, can possibly cover every need of every business and still be useable. To account for this, Salesforce added custom permissions in Winter ‘15 to allow administrators and developers to extend the security model to meet their needs. In the following posts, we will be looking at use cases for custom permissions, as well as how to create them and use them.
A use case for custom permissions
Let’s assume we work at a company where Accounts can become “VIP” accounts. The rule is that there is one person at the company in charge of maintaining who the VIP accounts are. This person could potentially be anyone. Our company would like the ability to change who the VIP manager is as needed. How would we accomplish this?
One solution is to add a checkbox to the User record that tracks if the user is a VIP manager or not. This works, but there are a few draw backs. The first is that to maintain who is a VIP manager, you need to go in to each user record and update the bit field accordingly. For a large company that has many potential VIP managers, this can become time consuming and error prone. The second main problem is that this architecture isn’t semantic about what the bit field is actually doing. What this option really represents is the ability (read: permission) of the User to elevate and demote Accounts to VIP status.
With Winter ’15, we now have the ability to create and assign custom permissions. Once created, custom permissions can then be leveraged by developers while they’re writing code to enforce that certain functionality or behavior is only available to people with or without the permission.
The advantages of custom permissions are twofold. To start, they can be included in Permission Sets to bulk apply it to your users, as well as associated with profiles so that any user with the profile automatically gets the custom permission assigned to them. Secondly, they’re more semantic about what they’re doing. It’s clear that they’re granting someone access to do something instead of just providing data about the user.
Creating a custom permission
To create a custom permission, navigate to Setup > Develop > Custom Permissions and click the New button.
On the following screen, give the custom permission a Label and Name (the name is used by developers when referencing the permission in code). You can optionally give a description of the permission, and relate it to a Connected Application if applicable.
After clicking save, your new permission is created and available for use in code.
In part 2 of this series, we’ll look at how developers can use the custom permission when creating Visualforce pages to control how the page functions.
Curious about custom permissions? Not sure when to use them? Just need someone to talk to? Contact us and we can help.
Today's post is written by Andrew Monshizadeh, an iOS Developer at Sonoma Partners.
As a developer who primarily works on an Apple laptop, I recently upgraded to OS X Yosemite.
However, that brought with it a few problems - namely, my browser of choice (Chrome) updated to a version that broke compatibility with a few enterprise applications we use on a daily basis. To prevent having to switch between browsers constantly, I decided to move my entire workflow to Safari.
I quickly ran into a roadblock though — with the number of Salesforce orgs I use numbering into the double digits, I am unable to remember all of those logins. On Chrome I used the wonderful Force.com Logins. Safari, however, did not have anything like that. Therefore, I decided to build it.
Overall this was a great experience learning the advantages, limitations, and potential for building Safari Extensions. If you would like to view the code, help make it better, or just use the extension, please head over to our github page and check it out!
Today I am co-blogging with Blake Scarlavai, Development Principal and Microsoft Dynamics blogger at Sonoma Partners.
Recently a vulnerability in SSL 3.0 known as “Poodle” gained some significant attention, with many companies responding in various ways to ensure their customers’ data is protected. It can be confusing to keep track of what companies are doing what, and what is expected of you as a customer to ensure you are not vulnerable. Below are the summaries of the responses that Salesforce and Microsoft have taken.
Salesforce is in the process of disabling SSL 3.0 on their platform. By the end of December, you will no longer be able to use SSL 3.0 visit Salesforce’s platform. For the most part, we don’t expect this to affect our clients as the browsers which needed SSL 3.0 still enabled (IE 6 mainly) are already not supported by Salesforce. You can get the full list of the disable schedule and more information about the changes on Salesforce’s help page.
Microsoft is in the process of remediating their online services for the SSL 3.0 vulnerability. Below is a time table for each of the CRM services:
SSL v3.0 Mitigation Status
Microsoft Dynamics CRM Online
Microsoft Dynamics Marketing
Microsoft Social Listening
Parature for Microsoft Dynamics
Microsoft Dynamics Lifecycle Services
Online Services for Microsoft Dynamics
Microsoft also recommends disabling SSL 3.0 in your browser. The following resources can be used for your respective browser:
- Internet Explorer: https://technet.microsoft.com/en-us/library/security/3009008.aspx
- Firefox: https://blog.mozilla.org/security/2014/10/14/the-poodle-attack-and-the-end-of-ssl-3-0/
- Chrome: http://dottech.org/166990/how-to-disable-ssl-3-0-support-in-chrome-tip/
For more information on Microsoft’s response, click here.
Curious to find out what is new in CRM 2015? Head here to the Customer Center to see a list of new features in 2015. In preparation for the release, we have also been covering the new features in detail:
- Sales Module Enhancements
- SLA Enhancements
- Tablet Client (MoCA) Enhancements
- Hierarchical Security
- Calculated and Rollup Fields
- Enhanced Business Processes
- Hierarchy Visualizations
- Social Insights & On Prem
- Enhanced Business Rules
- Multi Entity Search
Hit us up in the comments and let us know what you think of CRM 2015 as well as any topic you would like covered further!
Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega). Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015.
Next up for our review are the changes being made to the Sales Module. The following list of enhancements are being made with CRM 2015 and we’ll dive into a few of them a little bit deeper:
- Product Bundles
- Cross Sell / Up Sell (via relationships between products)
- Product Families
- Territory Specific Default Price List
- Import/Export Settings via the Configuration Migration Tool provided with Leo
- Families/Products/Bundles all show up in one grid
- Clone Families/Products/Bundles (field values and all current product property values – including overridden values).
- Product Form Preview (displays the product properties so you can preview how it’d look when selling the products)
- New System Settings Configuration Options
- Override default pricing engine via code/SDK
Now lets dive a bit deeper into some of these features.
If you’ve used Product Kits in the past, you’ll be familiar with Product Bundles. Bundles are an enhanced version of Product Kits (e.g., you cannot view Kit Items when selling a Kit, but you can with a Bundle – see the Opportunity screenshot below). Product Kits will not be going away with CRM 2015, but instead Bundles will be an additional option users can use along with Kits.
Within a Bundle you can specify what Products are mandatory or not when selling the Bundle. They can also be tied to Product Families (more information below) but are not required to be. Finally, Products within Bundles have Properties that can be edited (e.g., what is the default value, is the property editable when being sold, etc.).
When adding the Bundle to an Opportunity, Quote, or Order, you’ll see the Bundle with the individual Products indented underneath. You‘ll also have the availability to edit the properties of the Products in that bundle for the specific Opportunity, Quote, or Order you’re working with.
Cross Sell and Up Sell
As stated above, using a relationship between Products, you can define Cross Sell and Up Sell products. This Product Relationships area is a sub-grid directly on the Product form.
When on an Opportunity, Quote or Order selling products, there will be a Suggestions Link that when clicked, will show the Cross Sell and Up Sell products that an administrator has defined for your organization. The user can click on Pick and then Add to List to add the suggested product to their opportunity immediately.
Product Families are another way to group products and create product hierarchies. The Child Products in a Product Family inherit the properties of the Product Family when they’re added to the Product Family, but can be overridden. Then, when adding the Product to an Opportunity, some of these properties can be modified by the Sales Person, while others may not be (defined in the Settings of the Product Family setup). The properties can be Read Only, Required, or Hidden.
Product Families are similar to Bundles, but the user cannot add a Product Family to an Opportunity, Quote, or Order like they can with Bundles. Instead, Product Families are used for administration of Products themselves.
New System Settings Configuration Options:
There are a handful of new System Setting Configuration Options coming with CRM 2015 that should be called out separately. The following settings can be configured per CRM organization:
- Indicate if the Default Price List is set via an inbuilt rule. If this is set to yes, then the default price list will be selected for an opportunity based on the default price lists defined for territories.
- Max # of Products in a Bundle
- Use system pricing calculation (override default pricing) – customers can use the SDK to have a custom pricing engine built in
- Discount calculation method: Per Unit (new option) or Line Item (previous option)
- Max # of Properties for a Product/Bundle
Some great new additions are being added to 2015 as you can see from above. However, with these new enhancements, there are still a few limitations you should be aware of:
- You cannot have bundles of bundles (only products are allowed to be added to bundles)
- Only active / retired products can be imported/exported via the configuration migration tool
In Part 1 of this post, we looked at Remote Objects from a high level, examining what Remote Objects are and the reasons for using it. In this post, we’ll look at how to actually use Remote Objects on a page as well as some samples of the basic CRUD operations that can be performed.
Enabled Remote Objects on the page
Remote Objects is very easy to start using. If your organization has been upgraded to Winter ’15 (API 32), you already have Remote Objects. To start using them on your custom Visualforce pages, you will need to use a set of 3 new tags: apex:remoteObjects, apex:remoteObjectModel, and apex:remoteObjectField.
For example, assume I want access to the Account object and that the Account object has a custom field named Custom__c on it. I want to be able to access the Id, Name, and Custom__c fields, and additionally rename the Custom__c field to just Custom so I don’t have to keep typing the __c. I could use the following code to accomplish this:
If you do not have any fields you want to rename, there is a short hand for specifying the fields you want:
Accessing the generated proxies
One important thing to note is the jsNamespace attribute on the remoteObjects tag, which controls the namespace of the generate JS objects. In our case, I set the jsNamespace = JSObjects, so when creating a new proxy instance I need to use that namespace. If you do not set the attribute, the default is SObjectModel.
To create objects, we can use code like:
Deleting objects is very similar in form:
The query object has to follow a specific format for the retrieve operation to work. You can find out more details about it on the documentation page. One thing to note here is that it appears you cannot traverse relationships in these queries like you can in SOQL.
For example I wanted to write the equivalent of:
Unfortunately, you cannot write this kind of where clause. If you do, you’ll get an error back from Salesforce about the query not being in the format you expect. This is mildly disappointing since it’s going to force developers to write more queries, which means pages will have more callbacks (reducing readability) and be chattier over the network.
If you want to just see a full page example of Remote Objects, check out this demo page which we’ve hosted on Github. If you find any mistakes or would like to expand on the demo, feel free to fork the repo and send us a pull request with your changes.
Your sales team’s expectations are changing with evolving mobile technologies.
Take a quick look at the role that mobile devices play in their personal lives and take notes. We’d bet that a majority of your team uses their phone to complete tasks that increase productivity and save them time. It’s never been easier to pay bills, book flights, and set that painful reminder for a dentist appointment with just a few swipes, taps, and submits. Field teams are demanding new ways to be productive on the road and if your CRM solution doesn’t meet, or better yet exceed, these expectations… you won’t get the adoption you’re expecting.
Mobile CRM applications can help you drive user engagement and user adoption like never before. Take advantage of the unique opportunity that these tools present, and build your team an app that gives them access to the information they need, when they need it, in a way they want to receive it.
Mobile CRM and User Engagement
Building a mobile CRM application for your organization gives you the opportunity to capitalize on internal excitement that can come with a new launch. Imagine two very different, but very real, scenarios for rolling out your future CRM system.
You are in a conference room that is filled to the brim with your sales team who are uncomfortably itching in their seats. They’ve noticed that there are 50 slides in your onboarding PowerPoint presentation and everyone looks to their lap where they try to inconspicuously reply to emails, on their phone. If you’re lucky, you have 50% of the room’s attention. You’ve spent months building your CRM and the group’s response is lackluster at best. From the point of unveiling, you’ll have to deliver solely on productivity and user value (you did focus on those during your design and implementation, right?) in order to achieve a successful adoption.
You are in a conference room that is filled to the brim with your sales team who are relieved to hear there won’t be an onboarding PowerPoint presentation. You begin the unveiling of your CRM by distributing an iPad Air to each member of your team with CRM/business applications that will help them close more business.
If you hand your end users a tablet, preconfigured with the tools they need, they are far more likely to take you seriously. Who wouldn’t love a shiny new toy that could help them do their job more efficiently?
The device handoff approach is far more effective than sending out an email announcement with a link to your CRM log-in. Trust us, we’ve seen both scenarios unfold and there’s no surprise as to which inspires greater end user excitement and engagement.
Mobile CRM and User Adoption
But the excitement that comes with a new CRM system and the corresponding device will eventually wear off. How can you use your mobile app to keep users engaged to the point that they consistently use the system?
Build or enable tools that truly serves their needs. Building value should be at the core of your project and without it, your users will stop using your app before eventually deleting it.
One way to make sure this doesn’t happen is to invest in customization.
A custom application will help you build an app for your user, not your data. Mobile CRM applications cannot do everything a web version can and it doesn’t need to. The goal is not to rewrite your existing CRM for mobility, but rather distinguish a new hierarchy of activities that your team needs access to on their phone or tablet.
Take the time to pinpoint the 2-3 key things that your mobile CRM application needs to be able to tackle. Minimize the complexity of your mobile CRM application by focusing on the key tasks your end users need to do on the day-to-day. If you can build your team an app that continues to solve their problems in a more efficient way, you create the best possible opportunity for user adoption.
One more thing. Choosing the right device is an important decision you need to make to maximize the value of your mobile CRM application. Outline the tasks your users need to perform and then align these tasks with the native components of different devices. Matching the device capabilities with your users needs will help you build the most effective product.
Want to learn more about Mobile CRM applications, user engagement, and user adoption? Contact us to see how you can create meaningful experiences for your users, which can positively impact the adoption and effectiveness of your CRM.
Time is the one thing we all have an equal amount of, yet most would agree that sometimes, 24 hours is just not enough. And a lack of time, or misuse of it, could be what’s keeping your sales team from thriving.
“We want it when we want it.”
Sound familiar? We're making purchase decisions faster than ever before. Our access to information coupled with our ability to click, tap, and swipe our way to a final sale has turned us into lean, mean, purchasing machines. And many transactions that once warranted the need for a sales person now only require a mouse. Depending on which report you’re looking at, studies show that customers are around 60 percent through the sales process before engaging a sales rep.
Once your potential customers do make contact, more educated about your product and arguably more eager to make a purchase than ever, is your sales team responding quickly enough to seal the deal?
It’s estimated that sales representatives spend just 35% of their time selling, with the rest of their week dedicated to:
Preparing for meetings and researching prospects
Creating their own sales collateral
Searching for relevant documents
If your sales force isn’t reacting to customer contact at lightning speeds, your prospects will move on to a vendor that will. What can you do to recover this lost time and get your sales team focused on serving your prospects at the speed that they expect? CRM.
1. Use CRM to Accelerate Responsiveness
Time is a commodity. If your sales team can help prospects make faster purchase decisions, you’re immediately providing them with real value. But faster sales require faster follow ups and faster responses. How can you use CRM to accelerate responsiveness?
Generate automatic reports and emails that notify designated sales rep each time a lead converts
Detail all interactions with prospects so your sales team can access the information it needs about a specific contact at a moment’s notice
Every moment you aren’t responding to a new lead or answering an inquiry from a current customer is a moment lost. The longer a customer has to wait on you, the more time they have to research an alternative solution.
2. Use CRM as a Document Repository
An overwhelming majority of sales reps don’t use marketing deliverables. This painful reality is flawed for several reasons. The obvious? Your sales team is spending their time creating collateral instead of selling. But this is also problematic for your marketing team and your organization’s brand image. Disjointed messaging, a lack of visual consistency, and lackluster sales materials all work against you as you’re trying to close.
Build your CRM to include all relevant sales kits that your team needs. Set the expectation that these materials are the only ones to be used during the sales process and make sure your marketing team is working to keep them up to date and fresh. Design your documents in a way that make your sales team want to use them instead of the PowerPoint presentations they’re hiding on their laptops.
3. Use CRM to Document Sales Processes
Your sales process needs to clearly define how your sales team will engage with prospects. It can’t be aspirational and it must be well-documented so it can be accurately followed. How can you aim without a target?
Use your CRM to document:
How leads are handled as they convert - who is notified of new leads? Who is responsible for responding?
The mapping of your sales process and what steps are taken as prospects turn into leads, contacts, and opportunities
The duration of each step - how long does it take for a follow-up? Who is responsible for handling follow-ups?
Time is as much your enemy as it is your secret weapon. We all have access to it but we all don’t use it in the same way. If you are looking to increase the speed at which you communicate with your prospects and clients, look to CRM. A well implemented CRM can give your sales team what they need and want most: time.
With the release of Winter ’15, several new features were added that we at Sonoma think are useful and/or important. Today we will be walking through one of the feature in depth: Remote Objects.
Remote Objects is a new way for developers to establish a connection to Salesforce on custom pages they write so that they pages can interact with data stored in Salesforce. It leverages modern techniques allowing for a better mobile experience, while still retaining (most of) the power of the more established technologies. While this release is mainly targeted at developers, end users will reap the benefits in better performing and more stable pages, especially on mobile devices.
Before there was Remote Objects
Visualforce provides lots of features out of the box and is fast to develop with, but is was never designed for the mobile landscape we’re seeing grow in the enterprise world. (See this post on Lightning for a slightly more in depth explanation of Visualforce and why it doesn’t scale well on mobile devices).
In part 2 of this post, we’ll look at how to get started with Remote Objects, as well as some examples of how to use Remote Objects.
Have questions? Not sure if you have Remote Objects in your organization? Contact us and we can help.
Here’s the truth about choosing the right CRM platform for your business: it has the potential to be a downright confusing proposition to navigate. There are a lot of variables to choose from in the selection process, including vendors, subscription/purchase levels, and deployment models.
Whether you’re choosing a CRM platform for the first time or you are readying your team to make a jump from one platform to another, you have an important decision to make. During the selection process, you need to pay attention to how you’re communicating the CRM platform you choose to your end users to avoid potential (and unnecessary) pushback.
If your end users have had previous experiences, either good or bad with a specific CRM platform, they’re going to have an opinion on the direction you choose to take.
If their previous experience was less than desirable, you are likely to receive pushback and refusal to use the chosen system.
If their previous experience was good, and you choose to go in a different direction, you are likely to receive pushback and refusal to use the chosen system.
Here’s an example of how we’ve seen a situation like this play out. We once worked with a client who had the following CRM solutions running simultaneously across different departments:
1 instance of Salesforce
4 instances of Microsoft Dynamics CRM
2 other CRM solutions
When it came time to consolidate the seven different solutions into one, those using the abandoned solutions were irritated that they had to move platforms and learn a new operating system. Unfortunately, the end users got hung up on the name of the platform rather than the new solution they were building, ultimately making the CRM selection process more cumbersome than necessary.
To internally brand your CRM, focus on the initiative, not the platform you’re purchasing and change how the platform exists in the minds of your users.
Instead of focusing on the brand name of the technology, create an internal codename for your organization that’s tied to your company, not the platform. Take advantage of this opportunity and add some fun and engagement into the CRM selection process. Hold an internal naming contest and motivate your users to come up with creative suggestions. Incentivize them to be part of the CRM project from the start, which will ultimately help you deploy your CRM for user adoption.
What you want to avoid? Your team getting hung up on their past experiences with CRM and carrying these preconceived ideas into the new project.
Focusing on the initiative, instead of the platform, gives you the best chance for avoiding internal debate or pushback that can slow your project down. At Sonoma Partners, we offer multiple CRM solutions (Salesforce and Microsoft Dynamics CRM) so we can focus on our client’s best interests, not on one platform. If you need help rebranding your CRM or want more advice on navigating the CRM selection process, we’re here to help.
Salesforce recently sent Opt-Out notices to all administrators of Salesforce organizations regarding the planned release of mapping in Spring ’15. Salesforce will be contacting a third-party to provide mapping capabilities, which means a small amount of data will need to be sent from Salesforce to the third-party. Salesforce plans to automatically enable this feature with the release of Spring ’15 and is giving users the ability to opt-out should they desire.
If you missed it or haven’t received the Opt-Out notice yet, the full body of the notice is provided below.
Questions? Concerns? Not sure if you need to opt-out or in? Contact us and we can help.
What is the change?
With the Spring '15 release*, we are offering new map-based features:
- Display of map images where any standard address field is sufficiently populated**. This functionality will be available through the desktop interface and the Salesforce1 Mobile app.
- Standard Visualforce components for map creation.
- Address suggestion and auto-completion available when editing address fields.
We've partnered with a third-party mapping provider to make these features work seamlessly within the application.
*Currently targeted for February 2015; date subject to change
**To qualify for maps display, the Spring '15 feature requires that the address must meet the following criteria: (street AND city AND (state OR postal code OR country). Criteria is subject to change for future releases.
How will this change impact me?
Please review the following information before proceeding: This feature provides users with street maps, which are obtained via geocoding technology or existing geographic coordinates, and suggested address values based on partial entries. This functionality requires Salesforce to share physical address or geographic coordinate information that you or your organization have previously uploaded into Salesforce with the third-party mapping provider.
With respect to the origination of the request, the only identifiable information shared with that third party is the IP address and source location.
- The shared IP address will be the one associated with the individual requestor.
- If you use a custom Salesforce domain (e.g. Salesforce's “My Domain” feature or for your Communities, Force.com, or Site.com sites), the custom Salesforce domain name you have selected may be included in the information sent.
- If you do not use a custom Salesforce domain, then the location.force.com domain will be used.
While the address and geography information is publicly available, the mapping provider nonetheless applies confidentiality and security measures to the data that it receives from Salesforce to provide this functionality, and Salesforce does not share any other identifiable information, such as contact name or any other record information with them.
What action must I take?
The maps display on standard address fields and address suggestions will be auto-enabled in production instances* as part of the Spring '15 release. If you wish to disable this technology, please notify Salesforce by December 3rd, 2014. To submit an opt-out request, please complete the following steps**:
- From your Salesforce org, click to access Help & Training
- Click on Contact Support
- Click on Open a Case
- Select "Feature Opt Out" from the 'I need assistance with' picklist
- Select "Mapping Services Opt Out" from the Product Topics picklist
- Click Submit
*Sandbox instances will require the customer to opt-in to the map feature regardless of when they receive the Spring '15 release.
**You will need to submit a request for each org that you wish to opt out.
If you do not submit your opt-out request by December 3rd, 2014, you will automatically receive the maps display and address suggestion features as part of the major release upgrade. Please note, if you decide to use this feature after the Spring '15 release, you will automatically receive enhancements with future releases. Potential upgrades to the mapping integration will be communicated through the release notes posted prior to each release. If at any time you wish you to discontinue use of the feature, you can do so by disabling the permission at Setup | Build | Customize | Maps & Location | Settings.
Standard Visualforce components for map creation require administrator or developer deployment and will not be automatically implemented as part of the Spring '15 release.
How can I get more information?
You can reach out to Customer Support to answer any questions you may have by logging a case on your Help & Training page.
Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega). Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015.
Next up for our review are the SLA enhancements being made. Pre-CRM 2015, users could take actions if First Response By and Case Resolved By aren’t met. CRM could also be setup to send warnings if First Response By and Case Resolved By are approaching.
With 2015, a few new enhancements have been made to make the SLA experience a bit more rich.
Automatically Pause/Resume the SLA time Calculation:
Now with CRM 2015, administrators can setup specific Active Case Status values that will automatically pause the SLA timer if the Case is moved into one of the statuses selected. When the Case is moved out of that status, the timer will resume and continue. This is configured from Settings –> Service Management –> Service Configuration Settings.
In the example below, if a Case is moved into On Hold or Waiting for Details, the SLA timer will pause (and this will reflect on the Case form). When the Case is moved back to In Progress or Researching, the SLA timer will continue where it left off. This functionality is only available with Enhanced SLAs (described in more detail in the next section).
The On Hold time is tracked per Case record so you can get a glimpse of how long a case has been on hold to follow up and provide better service to your customers.
There may be scenarios where you don’t want your KPIs to be paused, and this can be turned off at the SLA level. Therefore even though the Case moves to one of the statuses to pause the timer, cases using those SLAs will continue to count down and will not be paused.
Success actions are new with 2015 and are only available for Enhanced SLAs (described below). The Success Action can be defined by an administrator, and indicates a set of actions that will be executed whenever the success criteria of a Service KPI is met before the failure time.
Enhanced versus Standard SLA:
In Spring 2014, the SLA functionality that was delivered with Leo was Standard SLA functionality. Now with 2015, you have the ability to define an SLA as Enhanced.
With the Standard SLAs delivered with Leo, you cannot use the new pause/resume functionality of the timer, and you cannot define Success Actions. Standard SLAs cannot be converted to Enhanced SLAs.
Also, with Standard SLAs, all data is tracked on the individual case record (First Response By, Resolve By, etc.). With Enhanced SLAs, this information is all tracked on a related SLA KPI Instance records, and quick view forms are used to show specific information directly on the case (e.g., the First Response In and Resolve In timer controls below).
If you wanted to create additional KPIs that your business tracks in addition to First Response By and Resolve By, you can do this by creating new SLA KPI relationships to the Case. Doing so will automatically allow you to create SLA Items against your SLA, and define the Warning / Failure / Success criteria and actions for the new KPI.
With the new SLA KPI Instance records, you can create charts and dashboards to be able to quickly get counts of cases based on the KPI Status, and have a better understanding of how your service department is performing at a high level.
You may have heard about an issue with Lookups not working correctly with a recent version of Chrome (v38). Microsoft documented the issue here in a KB article earlier this month.
Last week we noticed that in a new CRM Online trial org with a version of (126.96.36.1991) (DB 188.8.131.520), the Chrome v38 Lookup issue was resolved so it seems that Microsoft was working on a patch. Today though we have noticed that with the latest version of Chrome (v38.0.2125.111) the Lookup issue is fixed across the board in CRM Online, CRM 2013 On-prem and CRM 2011 On-prem.
So if you or your users were stuck on v38 of Chrome then be sure to go to Settings –> About and make sure you’re updated to the latest version to fix the Lookup issues.
To check your CRM Online version, click the Gear icon at the top right and then click About.
This month 20 members of the Sonoma Partners’ team traveled to San Francisco to watch the latest production from Salesforce.com unfold. Benioff invited quite the cast for this year’s event- Hillary Clinton, will.i.am, Tony Prophet, and Al Gore all joined the masses (135,000 people!) for four days of innovation, fun, and giving back. Now that the curtain has fallen on Dreamforce 2014, here’s the Sonoma summary:
It wouldn’t be a proper Dreamforce without a new product announcement. This year, Salesforce unveiled Wave, the new Salesforce Analytics Cloud, designed to provide “analytics for everyone, anywhere”. As a lead-in, Benioff commented on the current state of data and its impact on today’s business world.
“90% of the world’s data was created in the past two years. There’s going to be 10 times more mobile data by 2020, 19 times more unstructured data, and 50 times more product data by 2020.” - Marc Benioff
According to Salesforce.com, Wave is the first cloud analytics platform designed for every business user, instead of just analysts. With Wave, Salesforce reimagined analytics, garnering inspiration from advancements in consumer apps and video games to reassess the entire analytics process.
You didn’t have to look hard to find the presence of partnerships at this year’s conference. On day 1, Benioff invited Microsoft’s new Corporate Vice President of Windows Marketing, Tony Prophet, to join him for a fireside chat to talk about what it means to be a good leader and the future of Microsoft. Yes, that’s correct, the future of Microsoft. At Dreamforce. THE Salesforce event of the year.
“Customers demand openness.” - Tony Prophet
Prophet said it best when explaining the importance of partnerships in big tech today. We’ve reached the point where we need to tackle the differences within our industry and attract world-class partners that can help us achieve our goals. Platform companies survive on ecosystems and our competitiveness as organizations depends on the strength of our partnerships.
Benioff and Prophet spent a significant portion of their chat discussing the Cloud, in particular where cloud computing is headed. Prophet mentioned an array of Microsoft products - Bing, Skype, Xbox Live, Outlook.com - describing them as customer-focused cloud based services. And why is the Cloud so compelling? It’s global, it’s platform agnostic, and it’s an incredible value proposition for customers. Prophet went on to explain that the Microsoft partnership with Salesforce.com was a a priority as we move towards a mobile first, cloud first world.
You couldn’t cut a corner at the Moscone Center without hearing the word mobility.
Mobility popped up in most of the week’s keynotes and musician-turned-entrepreneur will.i.am joined the conversation, introducing the world to the Puls, a wearable that claims to do everything a phone can, and more.
- Run at least a dozen apps? Check.
- Make calls without being tethered to a smartphone? Check.
“This is not a watch. It’s a new type of communication on your wrist.” - will.i.am
Mobility was the primary focus of the Consumer Goods Food Service with Kellogg’s and Coca-Cola Refreshments break-out session. Adam LeDonne, Director of Sales Strategy for the Kellogg Company, presented their organization’s new mobile CRM application and explained how the app, in just a few months, had transformed the way their sales team conducted business. Mobility allows them to sell from anywhere and their mobile app is so intuitive, their sales team doesn’t even realize they are using CRM as they swipe and tap their way to increased productivity. Since deployment, the app has seen a 300% increase in user engagement over their previous system. We’d call that a success story.
And when it comes to products, mobility wouldn’t let analytics steal the show so with a crack came Salesforce1 Lightning, an upgrade to the Salesforce1 platform that honors the user-experience trend. The enhancement focuses on increasing developer productivity, promoting code reuse, and aims to make building responsive applications a cinch. If you want to learn more about Salesforce1 Lightning check out the developers section of Salesforce.com.
“You can’t build a relationship if you aren’t talking.” - Hillary Rodham Clinton
But the core theme of the largest software conference on the planet? Relationships are everything. Because as much as it is about the technology, it isn’t about the technology. What’s important is how we use this technology, this data, and this accessibility to create exceptional experiences for our clients, no matter what service we’re providing. The updates and advancements and product announcements, regardless of how exciting they may be, are only as powerful as the use case they support. It isn’t about the products, it’s about the people buying the products.
Have a question about something you saw at Dreamforce 2014? Ready to start a conversation about a Salesforce.com solution for your business? Contact us and we can help you turn a Salesforce.com CRM dream into a reality.
One of the biggest pain points in CRM 2013 for an organization with a lot of custom entities, is the navigation. The user can only see a few navigation tiles per Site Map area depending on their resolution. This requires the user to scroll horizontally to find the desired tile. Being able to use the mouse wheel to easily scroll through the list of tiles is definitely nice but sometimes, with a lot of tiles, it is easy to miss the one you are looking for.
Thankfully we are here to help ease your pain! Follow the steps below in any browser for a quick, easy, and native way to find the tile you are looking for.
First, click on the main area that your desired tile is in, such as “Sales”.
Then hit CTRL + F to use the browser’s search function.
Then type in the display name of the tile you are looking for such as “quick campaigns”.
And there you have it! The browser finds the text of the tile and takes you right there so you can easily click on it and navigate to that Site Map area.
We've witnessed a lot of CRM deployments and with each one comes the inevitable conversation: how do we make sure our people use this?
In most cases, the conversation moves toward end user adoption for CRM; what is it and how can it be measured? End user adoption is conceptual in nature, and there are more definitions or ways of quantifying it in our industry than we care to discuss. What we can tell you is that approaching end user adoption for CRM from a linear perspective will set you up for failure.
Investing in CRM software is a philosophical choice that you make to ensure that your company has the tools it needs to compete in the marketplace. This is the sole factor that drives adoption. What end user adoption is really about is using technology to get your company to a place where it will compete successfully over time.
End user adoption is so much more than individuals sitting down and navigating a new CRM system or application. It isn’t about learning how to run a report or updating a dashboard. It isn’t about how many calls your sales team has completed in a week or the physical reports your managers look at on a regular basis.
It’s a commitment by your entire organization to drive success around a deeper understanding of who your customer is and what they want.
To successfully deploy CRM you need to align end user adoption with your business objectives.
This isn’t a one-time assessment. You must revisit the goals for your CRM installation and continuously measure yourself against what’s established.
How do you really use CRM internally?
Why do people within your organization want to use CRM?
How does your CRM support your larger business objectives?
These are the types of higher-level questions you need to be asking as you begin your CRM project. Because entering data, even if it’s 100% accurate, doesn’t ensure success. If the tool is easy and intuitive to use but doesn’t drive any real objectives - what’s the point?
Your CRM needs to propel your business to be better. In order for this aspiration to become a reality, you must be committed to updating and enhancing your CRM on a regular basis, in addition to using your CRM as an invaluable internal tool.
Build your CRM to be used as an onboarding tool for new hires
Provide ongoing training through videos and lunch and learns to your user base forever
Assess the core capabilities of the application every 3-6 months to accommodate changes
How you perceive CRM, what it means to you and how you use it will never match up perfectly with someone else’s perception or use. Basing the success of your installation off of benchmarks or completed check boxes won’t give you the tool you are looking for.
It’s a mistake we see over and over again. A successful CRM deployment goes far beyond specific, vertical pieces of adoption and measurements like frequency of log-ins. When you think about end user adoption for CRM, it actually has very little to do with the nuts and bolts, although these certainly help you along the way. But repeat after me: end user adoption isn’t about the technology.
So how can you avoid a robotic and prescribed CRM project, where end user adoption doesn’t look promising? Ask questions before you sign your CRM contract and connect with a CRM vendor that operates as a partner. Look for individuals that understand CRM on a macro-level, who are committed to providing you with a service, not just delivering you a tool.
Dreamforce is huge, being the Salesforce conference to attend and drink from the punch bowl. No matter your position within your organization or how you use the platform, Dreamforce has something for you. Being a developer, I mostly stuck to the developer zone for the 3 ½ days I attended and while there were certainly a lot of big announcements (see Analytics Cloud and Lightning, among others) there were a number of small, but equally important or useful announcement as well. Today, I wanted to share just one of them that will make developer’s lives everywhere easier: VFFiddle.
What is it?
Hold on - there’s a catch
Seem too good to be true? Well, maybe. While viewing the code only takes a link to the correct page, actually executing the Visualforce and Apex parts of code requires a Salesforce org to import and compile the code against.
To do so, you log in to an org that you control and import the code. This has some pretty serious security and IP ramifications, so please do not import code you do not understand. More importantly, it’s good practice to never import code in to production orgs (you actually shouldn’t be able to do this anyway, but it’s still not recommended that you try). If you really do need to import code and run it to understand it, sign up for a free developer edition org and import the code there.
In case you forget, VFFiddle also helpfully reminds you of this:
Despite the potential security concerns, VFFiddle will prove to be an invaluable tool for many developers. If you like this tool, be sure to give Nathan Lipke a shout out (@evilN8).