Recently, Salesforce announced that they would be delaying the Spring ’14 release due to some performance issues with the upgrade. Yesterday, they announced the new Spring ’14 dates for the production data centers – all targeted to happen between March 15th and April 19th. Here’s the latest list of dates for the North American servers:
- NA4: March 15
- NA6 – 9: April 04
- All other NA instances: April 18
The exact time of when your instance will be upgraded changes based on the instance itself, so be sure to check out official page for when you can expect your instance to be unavailable and plan accordingly.
Unfortunately, some of the Sandboxes have already been upgraded to API 30 (Spring ’14). The delay in upgrading the production orgs, while understandable, is causing some headaches for our clients who are or will be ready to push their latest customizations and code from their sandboxes to production before the upgrade date. Here’s some of the issues we’ve run in to recently that we think are probably associated with these environments being on different releases:
- Deploying profiles gives the error: “Unknown user permission: ViewHelpLink”.
This appears to be a confirmed issue by Salesforce, with the corresponding bug tracked here: https://success.salesforce.com/issues_view?id=a1p30000000T36WAAS. Salesforce says this is fixed, so if you’re still seeing this issue it’s worth opening a case with them to see if there is something else going on with your org.
- Deploying some profiles may give the error: “layout - no Layout named CollaborationGroup-Group Layout found”. This is most likely caused by the Collaboration Group being layoutable (i.e. you can customize the layout) in Spring ’14, but not Winter ’14.
- Deploying recently created email templates gives the error: “Invalid Api Version: 30.0”
Most or all of these issues can be worked around by modifying the XML that represents the metadata before deploying it to production.
Fortunately, these issues should resolve themselves once the production orgs are upgraded to the latest releases, so we only need to work around them in the short term.
Do you need help deploying, or want to make sure your project will go smoothly? Contact us and we can help.
Last week at Convergence there was a great session called “Unified Service Desk: Enabling a super agent!” that thoroughly covered the new Unified Service Desk product coming in the Spring Update for Dynamics CRM 2013. The majority of content in this post comes from that session but I highly recommend watching it as well so you can see it in action.
Unified Service Desk (USD) is a desktop application meant for call center reps that will help provide a reliable and consistent experience across multiple channels. Nowadays custom service requests can come from multiple channels such as phone, chat, email, or even social media so the goal of USD is to enable the rep to be more efficient and productive through all of those channels. USD will provide a configurable UI that admins can customize to fit their reps needs. The application can be integrated with 3rd party applications as well in order to provide all the necessary requirements of a rep’s job into one spot.
- Easily configure searches on different entities
- Each entity search is a separate tab
- Admin can configure the order of the search tabs
- Call Scripts
- Easily configured links to help guide the rep
- Content can dynamically pull in data from CRM records
- Each link can perform a certain configurable action:
- Open a tab of a CRM record
- Open a tab with custom content
- Navigate to a sub-set of call script links
- Set focus to a field
- A session is a tab that runs in context of a customer
- Multiple sessions at once
- Each session can have multiple application tabs
- An application is a tab that displays content
- Global or session specific
- Can have multiple application tabs per session
- Configurable layout
- Ability to add custom buttons
- Buttons can perform configurable actions in context of the customer
- Ability to integrate with Line of Business applications
- Allows for third parties to create integration components
- LiveOps, Professional Services Aspect and Ingenius have already created CTI integrations
Customer Service Flow
The following is an example scenario from the Convergence session where a customer either calls or chats with a support rep. Using USD, the rep can easily search the contacts in CRM to find an existing contact record.
Note – There are plans for third party telephony integrations as well so screen-pop could be used to automatically open the record.
The dark blue tab at the very top is the session tab. Sessions will be in context of a certain customer and multiple sessions can be opened at the same time. When opening the customer’s record, USD will automatically open a new session tab as shown below with Maria Campbell.
Actions that occur will happen in context of the current customer session. For example as shown below, there is a custom application to “Locate the Customer” which will do a Bing Search using the customer’s address. USD will automatically pull in the address of the customer in the current session and send it to Bing Maps which will be opened in a new application tab.
The rep also has easy access to the call script in the left navigation which will help guide the rep through the support case. As each call script link is clicked, a green checkmark will display next to the link to indicate that the action has been performed already.
The rep will click the first link in the list which is “New Service Request” which will then display a whole new set of sub call script links.
The rep will then click the new first link in the list which is “Open Customer Details”. This opens an application tab to a Line of Business system that displays the customer details to the rep so that the rep is quickly informed about the customer.
The rep then clicks the next call script link, “Create a case”, which will open a new application tab which pulls in the New Case form from CRM 2013. In this scenario, USD automatically populates the Customer lookup based on the customer session in context.
Then the rep clicks on a call script link, “Search for a solution”, which has two options of using a KB article search or searching Bing. The rep clicks to search Bing which opens a new application tab that automatically pulls up a Bing search with the above Case details.
The rep then clicks the “Send Email” call script link which opens a new application tab that pulls in the New Email record from CRM 2013. Here the rep can select from multiple templates at the top of the USD application which will pre-populate the email record based on the email template using the data from the rep and customer CRM records.
There is an easily accessible text field on the left navigation for notes which allows the rep to make notes throughout the customer interaction. At any time the rep can click a button to auto-populate the case record notes with the notes that the rep has taken.
As you can see, Unified Service Desk looks to be pretty promising. Microsoft has provided a lot of functionality that will greatly improve productivity amongst customer support teams. USD can encapsulate a lot of functionality and systems into one easy-to-use application for users. We feel that Unified Service Desk plus telephony integration will be a huge selling point for Dynamics CRM.
Today’s guest blogger is Matt Dearing, a Development Principal at Sonoma Partners.
Dynamics CRM 2013 added OAuth 2.0 support for authenticating with both the SOAP (Organization.svc/web) and ODATA endpoints. This works both online and on-premises (when using Claims Enabled IFD with ADFS*). Supporting OAuth opens the door to much better interoperability with non .NET clients integrating with CRM Dynamics 2013.
Recently, we were working on a Windows 8.1 app that integrates with CRM Dynamics 2013 and decided to try OAuth. The CRM Dynamics 2013 SDK has a very detailed section on setting up OAuth and registering your client (Walkthrough: Register a CRM app with Active Directory). We were targeting on-premises (IFD) and noticed we were not receiving refresh tokens with the access tokens issued by ADFS. Refresh tokens are used to log a user back in, after their access token has expired, without prompting for credentials. We found out there are few other important settings that determine whether refresh tokens are issued. Running the following PowerShell commands showed the following:
PS C:\Windows\system32> Get-AdfsRelyingPartyTrust <insert Relying Party Trust for IFD here>|fl Name, IssueOAuthRefreshTokensTo, AlwaysRequireAuthentication, TokenLifetime
Name : <insert Relying Party Trust for IFD here>
IssueOAuthRefreshTokensTo : AllDevices
AlwaysRequireAuthentication : False
TokenLifetime : 960
PS C:\Windows\system32> Get-AdfsProperties|fl SsoLifetime
SsoLifetime : 960
The settings worth noting are as follows:
This can have one of three values
1. NoDevice = Never issue refresh tokens
2. AllDevices = Always issue refresh tokens
3. WorkplaceJoinedDevices = Only issue refresh tokens on workplace joined devices i.e. Ones that have been registered using the DRS service.
If this is true then the relying party will always require fresh credentials and no refresh token will be returned.
Specifies the duration, in minutes, of the token issued by the Relying Party. This is also used for the OAuth access token's lifetime.
Specifies the duration, in minutes, of the token issued by ADFS after successful log in. Also used for the OAuth refresh token's lifetime.
If TokenLifeTime >= SSOLifetime then no refresh token will be issued as the access token would outlive it. As you can see above, both our TokenLifetime and SsoLifetime were set to 960 minutes which explained ADFS not issuing refresh tokens. After increasing the SSOLifetime, refresh tokens were returned. We could not find a way to extend a refresh token's life without increasing the SSOLifetime. It did not appear that new refresh tokens were issued by ADFS after successful refresh token logins, so the user would need to explictly log in with credentials once their refresh token is expired.
When deciding the correct duration for both TokenLifetime and SSOLifetime, it is important to note that both settings are used for more than just OAuth. They control the lifetime of your ADFS SSO token (SSOLifetime) and your relying parties token lifetime (TokenLifetime). So if you increased the SSOLifetime to a month and someone was successfully authenticated by ADFS, the token they received would be good for a month to then prove their identity to any configured relying party.
Special thanks to Travis Querec & Mahesh Hariharan (both of Microsoft) for pointing us in the right direction on these settings. Having OAuth support in CRM 2013 is very exciting and makes integrating with CRM 2013 much easier from non .NET clients.
*The newest version of ADFS that comes with Server 2012 R2. Sometimes referred to as ADFS 2.2 or ADFS 3.0
The Convergence 2014 Keynote last week kicked off with the Dynamics Roadmap for this year. There are two big updates set for Dynamics CRM, one being a Spring Update that should be right around the corner and then an Autumn Update later this year. Wayne Morris, CVP of Microsoft, talked about the previous announcements of Marketing, Custom Service, and Social Listening functionality as well as a new addition for the Spring Update called the Unified Service Desk. The Unified Service Desk is a desktop application meant for call center users to help with case management which is shown in more detail below.
Kirill Tatarinov later came out and discussed several key points on how Microsoft Dynamics can deliver amazing experiences with the help of the recent acquisitions such as MarketingPilot, NetBreeze, and Parature.
Wayne Morris came back out to demo the new Microsoft Dynamics Marketing functionality that will be coming this Spring and how it helps him market smarter.
The landing page below shows a nice quick view into your marketing budget and how the budget is being utilized.
Similar to CRM 2013, there is a card-based navigation at the top but clicking a card will expand to show child navigation links within that area. This is very slick and we’re hoping that Microsoft will bring this same navigation into CRM 2013 as currently it is very hard to navigate if you have a lot of entities.
Within Dynamics Marketing, marketers can manage their assets & media which acts as a specialized SharePoint for marketers. This includes file upload, approvals, and version control.
Next Wayne shows a campaign workflow where you can easily drag and drop campaign activities to execute.
He then adds a new Social Media Messages campaign activity that will send Twitter, Facebook, and/or LinkedIn messages at scheduled times.
Users can then view the performance of the campaigns using several different charts and filters (e.g., by campaign and by channel). Kirill mentions that the graphs are built using Excel Web Apps.
This all looks very slick and will definitely empower marketers. Currently these are separate applications but there is a connector that integrates data between Dynamics Marketing and CRM (e.g., Leads, Contacts, Campaigns). The question remains how much will this integration be expanded in the future versus kept in separate applications.
Kirill brought out Judson Althoff, President of Microsoft North America, to show how he uses Microsoft products to sell effectively. He pulls up his custom built dashboard that uses Live Tiles to pull in sales data real-time from Microsoft Dynamics. The dashboard is pulling in information from 20 different systems.
Pipeline chart pulling in data from CRM 2013:
Using Windows 8.1 to easily share the Pipeline data and attach it to an email:
Drilling into a record from the Windows 8.1 app automatically snaps in CRM 2013:
Judson shows the app being ran from his Windows Phone as well:
This was a good segment that shows the competitive advantage that Microsoft has over competitors by being able to utilize a suite of Microsoft products to empower your users. Unfortunately the app seems to be completely custom built by Microsoft for their business but it does a good job of showing what is possible. If you are interested in a custom app for your business, take a Mobility Test Drive with us where we will have our UX Architect do a field ride along with one of your users and come back with some high and low fidelity mockups as well as a working prototype.
Kirill discussed the importance of customer care and the ability for customers to self-serve. Microsoft fulfills this requirement with the functionality that the newly acquired Parature brings to the table. Fred Studer, GM of Microsoft Product Marketing, comes to the stage to show off a Parature portal example of BusinessUSA.gov. BusinessUSA.gov uses Parature to categorize their information and provide the ability to search across that content. Using Parature, BusinessUSA.gov is able to keep their branding while Parature widgets run in the background.
Users are able to interact with the site and perform a search to find blogs or KB articles:
Fred then shows how Konami uses Parature to pull the knowledge base information into Facebook so that customers can search within Facebook for similar issues to their problem. Parature is currently running on 6 of the top 10 Facebook apps.
Fred then becomes a call service rep and shows off the new Unified Service Desk and how it can pull in Call Scripts and multiple CRM 2013 tabs into one screen.
Fred then receives a phone call which automatically pulls up the customer’s record within the Unified Service Desk.
Using the customer’s CRM record, Fred can then view the location of the customer in order to help solve the case.
Fred uses the call script to easily open up a New Case form within CRM and creates a case for his customer
The Unified Service Desk looks to be pretty slick and could definitely help customer service reps provide a better customer experience. We hope the telephony integration comes out of the box and would love to see the Unified Service Desk be fully customizable as we know each agent is unique in how they work.
Kirill then brings out a Sonoma Partners customer, New Belgium Brewing Company, onto the stage to show how they use Microsoft Dynamics to help with their operations. Travis Mirrison (IT Director) and Kaitlyn Peot (Sales Support Swashbuckler) talk about how they use technology to enable their sales team to have real time insight and communications with their “Mothership” (home office) back in Fort Collins, Colorado.
New Belgium then shows off the Rangerland app (built by Sonoma Partners!) and how their sales team can use it to make sure their beer is being sold appropriately. With a few simple touches, their sales team can easily flag any issues with their product while they are onsite at a seller.
Overall the keynote felt very organized and had a great response from the audience. Microsoft was able to fill in more details on how the recent acquisitions will help move Dynamics forward and fill in some gaps that were previously missing. Microsoft also makes a strong play with their variety of products such as Office and Windows 8.1 and how they can integrate to provide a full blown experience for users. We are looking forward to getting our hands on the Spring Update as it seems to be pretty promising!
When it comes to how businesses manage their customer data, we’ve seen it all! We’ve seen Fortune 500 businesses using shared network drives with hundreds of disorganized folders, startups emailing Microsoft Excel files back and forth, small businesses using Google Docs…and good ‘ole pen and paper grids tucked into manila folders splayed across conference tables.
A common misconception about purchasing CRM (Customer Relationship Management) system is that it’s only for large or complex organizations. In reality, the size of your organization doesn’t determine whether or not you need a CRM. If you want to effectively manage your client’s contact information and valuable customer data, using CRM software isn’t a nice to have, it’s an absolute must.
When do you know it’s time to invest in a Salesforce or Microsoft CRM?
1. Your Current Method Doesn’t Scale
Whether it’s a series of Excel spreadsheets or Word Documents, you will reach a point where your disjointed method of data management doesn’t scale. Does this growth reflect the number of employees you have? Not necessarily.
Scale could mean you have expanded to new geographies and you no longer have the luxury of walking across the hall to ask another member of your team about a specific client. If your sales team is divided geographically, your data management must be able to go beyond physical boundaries.
2. You’re Investing in Marketing
Businesses are embracing marketing automation software at a rapid pace and implementing more sophisticated marketing strategies than ever before. We have seen several businesses purchase CRM software because they realize they have all these contacts with no connection. If you’re adding accounts and looking to create meaningful ties between these stand-alone products, it’s time to pull the trigger on your Salesforce or Microsoft CRM purchase.
3. You’re Struggling to Communicate
Your sales team should be able to communicate with ease and know what’s happening across your business at a moment’s notice. Gathering information on a specific client shouldn’t require hours of combing through spreadsheets, documents, or a paper trail across multiple desks. If this sounds all too familiar you need to recognize that your sales team is wasting time and costing your company money.
With a successful CRM deployment your reps will be able to get snapshot views of a specific customer or deal in the pipeline in seconds. Creating a central repository for your sales focused communications saves time, money, and resources.
4. You’re Losing / Gaining Customers
Whenever you see a significant increase or decrease in the amount of customer’s you have, it’s time to invest in CRM. If you’re losing customers, you need to be able to track every stage of the pipeline in order to pinpoint where the deal derailed. If you’re gaining customers, you need to analyze what activities are causing conversions so you can continue to focus your time on these actions. Major fluctuations in the number of customer’s you have requires closer inspection to uncover major trends that could positively (or negatively) impact your business down the road.
5. You’re Restructuring
If your company is restructuring you have hit the holy grail of opportunities to implement CRM software. Many customers have a hard time justifying launching a CRM project when they have departments all over the map with different methods for managing customer data. If you are restructuring or rewriting process, seize the opportunity to start fresh. Implement a CRM system from day one to coordinate data across new teams and increase your chances for widespread adoption of the tools.
If you’re experiencing any (or all) of the above, we’re here to help. Let’s work together to build a CRM application that will positively impact your bottom line.
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.