Winter ’15 Deep Dive – Remote Objects Part 2

Posted by on November 14, 2014  |  commentsComments (0)

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

Now that we have declared what objects and fields we want access to, Salesforce will generate the needed Javascript proxies which know how to access the data sitting on Salesforce’s platform. We can access the proxies to do the work that we need:

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.

CRUD Operations

Now that we have access to our Javascript proxies, let’s look at some examples of how to perform the basic CRUD operations with them.

Create

To create objects, we can use code like:

Delete

Deleting objects is very similar in form:

Retrieve

Retrieving objects from Salesforce is more interesting. To do so, we first have to define the query we want to use as a Javascript object, then pass that in to the retrieve method and read the results:

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.

Wrap Up

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.

Using Mobile CRM to Drive User Engagement and User Adoption

Posted by on November 13, 2014  |  commentsComments (0)

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.

Scenario 1:

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.

Scenario 2:

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.

3 Ways CRM Can Speed Up The Sales Process

Posted by on November 11, 2014  |  commentsComments (0)

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.

Can we help you build a CRM solution that speeds up your sales process? Contact us to learn more.  

Winter ’15 Deep Dive – Remote Objects Part 1

Posted by on November 10, 2014  |  commentsComments (0)

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

Until Winter ’15, when a developer needed to write a custom page, there were two options for interacting with the data: the developer could write a page in Visualforce and backing Apex, or they could write it in plain HTML and Javascript.

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).

Plain HTML and Javascript perform better on more devices, but is arguably more difficult and time consuming to write correctly. It requires the developer to take in to account a whole range of problems, some device specific, which Visualforce for the most part handles for you. Additionally, when using this option there is no built in way to access the data from Salesforce. Until the release of Remote Objects, a common option was to use the APIs provided by Salesforce to do the basic CRUD operations (Create, Read, Update, Delete). While this works, it does also require that the organization is API enabled and has sufficient API allotment to support all the API calls required by all of the pages for all of the users.

Remote Objects

Remote Objects provides direct access to the data within SFDC without needing to use the API allotment of the organization by introducing a set of new Visualforce tags for developers to use. At first this seems a little confusing since the point was to not use Visualforce but use plain HTML and Javascript instead. In actuality, though, this works well because what causes Visualforce to bog down on mobile devices and networks is the state created by the Apex controller having to be sent back and forth - you can use the new tags and no server side state is required.

The 3 new tags (apex:remoteObjects, apex:remoteObjectModel, and apex:remoteObjectField) provide a way for the developer to tell Salesforce what objects and fields they want access to, and Salesforce generates some Javascript proxies. With these proxies, developers can perform basic CRUD operations as well as Upserts and Queries. With these abilities, developers can continue to write performant pages that work well on mobile devices, without having to worry about API limits.

Wrap Up

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.

Focus on the Initiative, Not the Platform: How to Internally Brand Your CRM for Success

Posted by on November 6, 2014  |  commentsComments (0)

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.




Spring ’15 Maps Opt-Out

Posted by on November 5, 2014  |  commentsComments (0)

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.

Opt-Out Notice

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.

Dynamics CRM 2015 SLA Enhancements

Posted by on November 3, 2014  |  commentsComments (0)

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).

image

image

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:

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.

image

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).

image

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.

image

Dynamics CRM and Chrome v38 Lookup Issue Fixed!

Posted by on October 29, 2014  |  commentsComments (0)

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 (6.1.1.1621) (DB 6.1.1.1610), 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.

image

 

To check your CRM Online version, click the Gear icon at the top right and then click About.

image

 

image

Dreamforce ‘14 - The Sonoma Summary

Posted by on October 28, 2014  |  commentsComments (0)

1080x300 sonoma at DF banner


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:

Analytics

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.

Partnerships

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.

The Cloud

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.

Dreamforce 2014

Mobility

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.

Relationships

“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. 

 

CRM 2013 Navigation: Easily Find the Tile You Are Looking For

Posted by on October 28, 2014  |  commentsComments (0)

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”.

image

Then hit CTRL + F to use the browser’s search function.

image 

Then type in the display name of the tile you are looking for such as “quick campaigns”.

image

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.

It's Not The Technology: How to Successfully Deploy CRM for User Adoption

Posted by on October 27, 2014  |  commentsComments (0)

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.



Tools from Dreamforce ’14 – VF Fiddle

Posted by on October 23, 2014  |  commentsComments (0)

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?

Built by Nathan Lipke of Salesforce.com, VFFiddle (short for VisualForce Fiddle) takes heavy inspiration from JSFiddle. Often times during development, we run in to problems that we are not sure how to tackle, and sometimes it is just easier (and faster) to ask another human being for help. JSFiddle provides for Javascript developers a way to share snippets of Javascript code that can then be executed and modified by all to help collaboratively debug and/or troubleshoot. In the same vein, when a Visualforce developer runs in to problems we would like to be able to collaborate with the wider world to give and receive help. This is where VFFiddle comes in. By pasting in the bare minimum needed to explain your problem or concept to others, we can increase collaboration and our problem solving capabilities dramatically, while simultaneously documenting known solutions (thanks to our great web crawlers) and training newer developers in less time by making more sample code available.

0

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.

1

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:

2

Wrap Up

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).

Comments? Questions? Don’t know your Visualforce from your Apex from your Javascript? Contact us and we can help.

Dynamics CRM 2015: Tablet Client (MoCA) Enhancements

Posted by on October 22, 2014  |  commentsComments (0)

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 is reviewing the changes being made to the Mobile Client Application (MoCA).  The first version of MoCA filled a much needed gap to have a native tablet application, but with the improvements below, it’s clear Microsoft see’s mobile as the direction they want to continue to head as they make investments in improving the product.

The following improvements were made with CRM 2015:

Offline Drafts:

  • Users will now have the ability to create and update records while offline.
  • The create/edit mobile experience will use the Quick Create Form defined for the entity
  • A Draft button will appear in the sitemap while offline, taking the user to the Draft Page (+ icon that appears on lists will do the same)
  • The Draft Page will display a count of draft records on the Site Map
  • Users can discard or update drafts while offline
  • Drafts are deleted when the user signs out of MoCA for security reasons (warning displayed first)
  • No lookups / party list support while offline:  However, there’s a workaround to populate lookups while offline by starting at the parent entity and creating a child record from the parent (e.g., creating an Opportunity from a Contact defaults the Contact lookup for the new Opportunity)

You can see from the screenshots below that I have the ability to create records offline (in this instance a Lead), and see a count of how many draft records (creates/updates) that have yet to be uploaded to the CRM server.

If I click on the Draft Records link from the Site Map, I’ll see a list of all the records that have changes that have yet to be uploaded and if I wanted to, I can make further changes to them from this list.

imageimage

image

It’s important to note that with the Offline Drafts, users can only modify records that they created offline.  Users will still be unable to go to a record that they had previously viewed while online, and modify that record while offline.

Also, when the user goes online, they will have to save the Draft records manually (they’ll no longer appear on the draft page).  This isn’t an automatic action that’s taken when a user reconnects online

Mobile Analytics:

Microsoft now allows you to have any and as many dashboards on your tablet (system or personal).  Previously you were able to just have the one “Sales Dashboard” on the Tablet Client, but now Microsoft allows administrators to configure multiple. 

A new “Enable For Tablets” checkbox has been added to dashboards to allow it to show up in MoCA (this field is solution aware and can be toggled via the SDK).

image

There’s a new “Dashboards” Site Map entry that you’ll notice when clicking around the Tablet Client.  Also, the default dashboard users see when initially logging onto the tablet client (prior to personalizing their experience) is defined and configurable by the Site Map XML.

image

When on a Dashboard, users can:

  • Set as Home:  when users click the Home icon, this dashboard will show
  • Pin to Win 8 Start
  • Pin to Home:  you can pin Dashboards to your Home Dashboard similar to how you pin records – this means you could have a Home Dashboard be one dashboard, and have other dashboards pinned on it for easy access.
  • Select Dashboard to select a different Dashboard

image

image

image

With all these changes, there are few other notes that users should be aware of regarding the Tablet Client:

  • There are no storage limitations (the same limitations will apply to MoCA that apply to the device)
  • All improvements in 2015 / Vega will work on Win 8, Android, and iPad devices (except the “Pin to Start” will be Win 8 devices only)
  • Plugins are still not supported on the device, but when data hits the server they’ll run (no offline plugins)

News from Dreamforce ’14 – Salesforce announces Salesforce1 Lightning

Posted by on October 22, 2014  |  commentsComments (0)

This year at Dreamforce 2014 Salesforce announced several new product offerings and general platform enhancements, among them Salesforce1 Lightning. Lightning is a developer oriented enhancement focused on changing how developers write applications on the platform targeting multiple devices. This enhancement focuses on using modern technologies and development practices to increase developer productivity and promote code reuse.

The current state of application development on the platform

If you need to write custom applications on the platform developers will use a proprietary markup language called Visualforce as well as a proprietary server side language called Apex. Visualforce contains pre-built components that speed up development time, saving you from having to reinvent the wheel writing and testing common functionality. Using these components in conjunction with each other and a bit of additional code, custom pages and applications can be built and deployed in a fraction of the time it would take to write in the traditional software development process.

Visualforce first appeared in the Summer ’08 release, and was a large step forward in terms of reducing time to market for most customers. It used a then standard practice of maintaining all of the information and bookkeeping needed to make the page work (collectively referred to as state) in an encrypted blob that gets sent from the server to the page and back again with each request.

WebForm

This helps the pages maintain statefulness and remember what the user has already entered and clicked on while using the page. The languages for building this type of application also have a special syntax for binding data to the page and determining what should happen when a button or link is clicked. This process works great on desktop and laptop computers which typically have the processing power and speedy internet connections required to transfer the blobs back and forth without the end using noticing the extra work.

Mobile devices, however, typically suffer from reduced performance due to slower processors and (most importantly) slower internet connections, both of which cause the page load and action times to take longer, giving the impression of a poorly performing site.

The current state of application development on the web

Look away from Salesforce and you’ll see web development elsewhere in the technology world continuing to advance. Modern applications are built using HTML 5 and Javascript for front end processing, and send only the minimal amount of information to the server needed to perform the action requested by the user. The result? Snappy websites on mobile devices regardless of poor or slow connections and a reduction in server load time, which drives down the operating costs of running a website.

The main drawback of this approach to development is that it has the potential to make development more complex by requiring the developer to master more languages and technology stacks. This approach also increases the amount of work that needs to be done during development time to hook up the logic that should be performed on a button or link click.

Web meets Salesforce

Salesforce1 Lightning aims to bridge the gap between Visualforce and modern web practices by providing a way to write reusable components (a la Visualforce) using modern web techniques.

The components use Javascript to handle user actions on the client side, giving users the performance boosts of modern web technologies, but are self-contained and readily reusable, giving companies and developers the same benefits as Visualforce. This marriage of modern web technologies with reusability benefits everyone involved and is once again a step from Salesforce aimed at maintaining their user’s experience while simultaneously reducing developer time.

Caveats, Clauses and Limitations

As with any new technology release, there are some important things to consider when deciding if it fits your particular needs.

  • Lightning is currently in beta status. While it’s relatively stable and usable, things may change that could break your code and there may be bugs that haven’t yet been found or fixed. If you are risk averse, this may not be the technology library for you.
  • Lightning is not enabled in your organizations by default. You will need to enable it to be able to use it, but in doing so you also will break canvas. If you use canvas applications in your organization, wait for the production release of Lightning as this will hopefully be fixed by then.
  • Lightning component requires that your organization has a namespace registered. For the current time, this restricts Lightning to only working in Developer Edition orgs if you want to create custom components (which you should).

Wrap Up

Lightning provides great opportunities for developers and companies alike to reduce time to market and bugs, while improving performance on mobile devices and networks. However, with the current limitations and incompatibilities, the technology isn’t for everyone.

Have questions or concerns? Not sure if you should consider Lightning? Contacts us and we can help.

News from Dreamforce ‘14 – Salesforce announces Analytics Cloud

Posted by on October 21, 2014  |  commentsComments (0)

This year at Dreamforce 2014 Salesforce announced multiple new product offerings including a new Business Intelligence and Analytics suite named Salesforce Analytics Cloud. What does it do? The Salesforce Analytics Cloud provides users with improved ways to slice and dice their data in relation to their unique needs and questions.

  • The new offering is built into native Salesforce; accessing the data is as easy as buying the licenses required to enable it
  • Salesforce Analytics Cloud is built on top of the Salesforce platform; no need to set up extra logins or other infrastructure to begin using the product
  • The primary focus? Mobility. The product is designed to be accessed from mobile devices
  • The Salesforce Analytics Cloud can be used to answer ad-hoc questions in a timely fashion
  • Want to see for yourself? Salesforce has posted a mobile demo showcasing its capabilities.

Why we think this is important

Business Intelligence and Analytics are hard.

A relatively common request we get from clients during a project is to help build out reports that can be used to drive business making decisions and processes.

These kinds of reports are great tools.  They can be finely tuned to answer particular internal questions and polished to make presentable at client or board meetings. However, they require time and expertise to create, and they don’t adapt to changing data models or ways of looking at the data, sometimes leaving users with only partially answered questions or trying to make decisions based of anecdotal evidence. Lastly, these reports generally don’t perform well on mobile devices, increasingly the place where they are needed most.

The Salesforce Analytics Cloud aims to fill these gaps by giving the user access to reporting functionality on their mobile devices. Now users can answer their own questions by creating and running reports as needed without having to access a desktop computer.

Try before you buy

Along with the announcement of Analytics Cloud, Salesforce has made a sandbox available for users to try out (iOS only).

Confused? Have questions? Not sure if Analytics Cloud is something you should be looking at? Want to learn more? Contact­­ us, and we can walk you through the latest offering from Salesforce.com.­

Dynamics CRM 2015 Hierarchical Security

Posted by on October 1, 2014  |  commentsComments (0)

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 security model.  Note that the functionality below are simply additions to the security model.  The previous security of business units, access teams, ownership teams, security roles, etc. will remain in place.

Field Level Security Improvements:

First off we’ll briefly discuss some changes being made for Field Level Security (FLS).  FLS will now be available to work off of System Fields.  Previously this only was available for Custom Fields

FLS also has extended for additional attribute types such as address fields (out of the box only) and email address fields (custom or out of the box fields).

Now lets review the the new major change to security that’s coming in CRM 2015, the Hierarchical Security Modeling.

Hierarchical Security Modeling

With CRM 2015, Microsoft introduces a new version of security they label Hierarchical Security Modeling.  With this security modeling, granular record level access can be granted for an organization without having to create and manage business units.

With the introduction of hierarchical security modeling, Microsoft has moved the Security functionality to its own area of CRM.  You can now get to everything security related by going to Settings –> Security (previously this was in the Administration section).

image

You’ll notice a new Hierarchy Security link on this page as well as a Positions link.  If you click on it you’ll notice the following options:

  • Enable Hierarchy Modeling:  Let’s you turn this on or off globally in your organization
  • Select Hierarchy Modeling:  You can set this to either Manager or Position (more on these options below)
  • Hierarchy Depth:  This indicates how many levels up the hierarchy chain does the read permissions get granted to.  More on this below especially regarding performance.
  • Selected Entities:  This is where you’d select entities that you want the to EXCLUDE in the hierarchy security model.

image

Manager Hierarchy uses the existing Manager field on the System User record.  However, with this hierarchical model, you’re required to be in the same Business Unit hierarchy for it to apply successfully.  This is why the Position Hierarchy Model was built which we’ll describe below.  A good Use Case for the manager model is if a manager needs to take actions upon records their reports have access (for example the report goes on vacation)

Position Hierarchy on the other hand allows you to go across business units.  CRM Administrators can and add users to any given position to be included in that position.  A good Use Case for the position model is organizations that have a “Sales Team” and “Sales Management” team that span across business units yet these positions should have access to subordinate records.

As stated earlier, Position Hierarchy can be configured where an Administrator can define Positions, define the Parent Positions, and also add users to Positions so that the Position Hierarchy security method is executed to your specific business needs.

image

It is strongly recommended that Hierarchical Security be used with the other security tools (e.g., security roles, teams, business units, etc.).  The Hierarchical Security model does grant additional permissions based on users, managers, and positions:

  • Read Access:  Propagates up the chain to a specific configurable level (as shown above in the Settings screenshot
  • Write, Update, Append, Append To: This is granted just to the direct parent of the user/positions

There are also some performance considerations to keep in mind when enabling hierarchy security:

  • Use with other security methods (e.g., security roles, business units, teams, etc.) for more complex scenarios
  • Target 4 levels of hierarchy (1 manager with 3 reports, and 100-200 potential users underneath)
  • Performance is tied to the # of users (not the depth) in the parent’s chain:
    • 1 manager with 4 reports and 1 level in the chain, is the same as
    • 1 manager with 1 report and 5 levels in the chain

With all the security methods provided out of the box by Dynamics CRM now with 2015, I can see some organizations with very complex security requirements being easily achievable using native security methods.

Salesforce1 and iOS 8 don’t mix

Posted by on September 26, 2014  |  commentsComments (0)

Apple recently released iOS 8, which while providing many enhancements to these devices also breaks custom Visualforce pages in the Salesforce1 mobile app. Recently Salesforce posted this as a Known Issue on their success site, with the recommended work around of using the mobile Safari browser to access Salesforce1. Until this issue is resolved we recommend not upgrading your iOS version if at all possible. If you are experiencing issues with your custom pages not working after the upgrade to iOS 8, please take a moment to log in and click the ‘This Issue Affects me’ button on the page so that you receive any updates from Salesforce on this issue.

Dynamics CRM 2015 Calculated and Rollup Fields

Posted by on September 26, 2014  |  commentsComments (5)

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. 

Prior to Dynamics CRM 2015, in order to perform calculations / rollups, you had to write code in order to do so which meant you had to invest in a developer which isn’t always possible for our customers.  However, with Dynamics CRM 2015, Microsoft has provided the ability for power users / administrators to create and update calculated fields and rollup fields using the CRM web client and customizations area within Settings.  Below we’ll discuss both Calculated Fields and Rollup Fields in more detail, their uses, and current limitations.

When you’re defining your custom fields, at that time you can indicate if the field will be Simple (pre 2015 calculated fields that we’re all used to) Calculated (new for 2015), or Rollup (new for 2015).  Based on the Data Type of the field will determine what values you can select in the Field Type drop down.  This value can only be set upon field creation.  Once the field is created the Simple/Calculated/Rollup flag may not be updated.

Calculated Fields:

You can create a calculated field for any data type, except Multiple Line of Text, Image, or Lookup fields.  When you create the field, an “Edit” link will appear next to the Field Type.

 image

When you click the Edit button, you’ll be taken into the editor where you can edit your calculations.  When you’re editing the calculation, you can use any field from the current entity, or any N:1 entity in your calculation or conditions.  You can also use AND and OR in your conditions to make more complex conditions.  However there is a limitation to this functionality (see limitations section below).

The UI of the edit page is similar to the modern UI when modifying Business Rules or Business Processes.  So your admins will have a consistent look and feel amongst all of these customization tools.

image

The calculation designer also supports intellisense so when you’re editing the calculation, you’ll see hints of what you can select from and what you need to enter as you type.

image

These fields are stored in the database and can be used and displayed like any other physical field in views / reports / charts / forms / Field Level Security.

When modifying fields that affect the calculation, the calculated field is calculated synchronously after a Save is performed.  The the end user will get immediate feedback that data has changed after the form is refreshed.

Rollup Fields:

Rollup fields are used to perform record level aggregation from related records.  For example, if you wanted to have a field on the Account that rolled up the Estimated Revenue for all Open Opportunities related to the Account, you could easily identify at the Account level what the Total Open Revenue was and then know what Accounts you should focus most of your time and energy on.

Similar to Calculated Fields, Rollup Fields do not support all data types.  Rollup fields are only available for Whole Number, Decimal Number, Date & Time, and Currency fields.  The table below shows how you can rollup child data using the rollup fields for the different data types.

Data Type

COUNT

MAX

MIN

SUM

Whole Number

x

 

 

 

Decimal

x

x

x

x

Currency

 

x

x

x

Date & Time

 

x

x

 

Similar to Calculated Fields, when you’re creating your field, you’ll see an Edit button appear if you choose Rollup for Field Type.

image

When you click on the Edit button you’ll see a similar modern UI as when you edited your Calculated Fields, Business Rules, or Business Processes.

When editing the Rollup Field, you can select to use a hierarchy or not.  If you select to use the hierarchy, then what will happen is that all related records that are related to any record in the hierarchy will be used in the rollup (you can optionally filter records in the hierarchy as well).  An example here would be if you want to find the Total Open Revenue for Opportunities that are related to any Account in a hierarchy (versus those Opportunities that are just related to the current Account).

image

The calculation of a Rollup Field is different than a Calculated Field.  Whereas the Calculated Field was performed synchronously immediately after clicking Save on a record, a Rollup Field is calculated using asynchronous jobs.  This is performed automatically every hour, but if you’d like, you can kick off the calculation manually by hovering over the rollup field on your record form, and clicking the icon of the two arrows on the right of the field that states “Recalculate” when you hover over the icon.  You can also use the API to recalculate rollup fields on demand using code.

Similar to Calculated Fields, Rollup Fields are stored in the database and can be used and displayed like any other physical field in views / reports / charts / forms / Field Level Security.

You can solve some pretty complex business use cases using both Calculated Fields and Rollup Fields.  Rollup Fields can be a part of a Calculated Field, and a Calculated Field can be a part of a Rollup Field.

When modifying fields that affect the calculation, the calculated field is calculated synchronously after a Save is performed.  The the end user will get immediate feedback that data has changed after the form is refreshed.

Limitations:

Like all new features, it’s important to note the limitations and areas that hopefully Microsoft will improve upon with future releases:

  • General:
    • Workflows aren’t trigger by field updates
    • Latest values not available in plugin create/update pipeline
  • Calculated Fields:
    • Can only go 1 level up in N:1 relationships
    • Can only have all ANDs or all ORs in Conditions
    • Not available for offline
    • Have to save the record first before calculated field is updated when form refreshes
    • Only Calculated fields using all simple fields can be sorted
  • Rollup Fields
    • Only available using a single directly related 1:N entity
    • Complex calculated fields cannot be used in rollups
    • Rollup using other rollup fields is not supported

Server Side Synchronicity 2

Posted by on September 25, 2014  |  commentsComments (0)

Today's guest blogger is Ross Talbot, a Development Principal at Sonoma Partners

In the continuing discussion regarding Server Side Synchronization in Dynamics CRM 2013, we previously detailed some of the gotchas we had encountered with upgraded orgs and some added fixes with communication between Exchange web services and CRM. We also expanded on a few permission issues we noticed after an upgrade from CRM 2011. The focus of today’s episode revolves around an addition in CRM 2013 SP1 involving communication between CRM and Exchange.

When you set up Server Side Sync and create your Email Server Profile, you are detailing the connection between CRM and Exchange so that when CRM Emails, Appointments, Contacts, and Tasks need to be updated, each server knows where to go find the other. What happens, though, when you have an Active Directory user who is a member of more than one CRM organization? Well from the CRM side, we are identifying the Exchange server web service address in the Email Server Profile record, as shown below.

image

What about the reverse direction though, from the Exchange side? When you set up the architecture for your CRM environment, do you only have just one CRM org or do you develop and test in separate organizations/servers for these environments? The Exchange mailbox identified for the user can only synchronize appointments, contacts, and tasks with one CRM organization, so how can the Exchange Server tell which CRM org is correct? It is pretty easy to see how a user can be tied to multiple CRM orgs, but it is much rarer to have multiple Exchange server environments (unless you are an IT Administrator, but the overlap in this case is pretty small). Prior to Service Pack 1, it was unclear how this worked. It was unclear which CRM org the Exchange server was synchronizing to (the first one that was configured, or the last). This makes it difficult to tell if the setting that tells Exchange to send everything to a specific org was ignored or overwritten.

In CRM 2013 SP1, a new option is available when setting up the user’s mailbox to force sync on a specific user account for a specific org and Exchange mailbox pairing. From the Email Server Profile record in CRM for the Exchange server, click the Ribbon button Test & Enable Mailboxes.

image

This opens a dialog to test your configuration for email, and the key here is the checkbox to Sync items with Exchange from this CRM Organization only, even if Exchange was set to sync with a different Organization. This helps clarify the expectation of which CRM Organization is tied to the Exchange Server for records to sync and cleared up the issue we had encountered.

image

Clicking What’s this? opens a detail page explaining cases where you may need to select the option. Similar options are also available on individual Mailbox records in CRM, where you can test an individual mailbox as opposed to modifying all mailboxes connected to an Email Server Profile.

image

image

Having trouble getting server side synchronicity wrapped around your finger? Contact us before you are driven to tears…

Dynamics CRM 2015 Enhanced Business Processes

Posted by on September 24, 2014  |  commentsComments (0)

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 is reviewing the enhancements that are being made to Business Processes (the new feature added in Dynamics CRM 2013).  This amazing feature add from 2013 is being improved to be even more amazing.  Also, all of the enhancements below will work on MoCA!

With 2015, the following enhancements have been made to close the gap on those limitations:

  • Support for multiple entity loops to return to a previous entity in the process
  • Support to add entities to your BPF that don’t have a relationship to the entity you’re coming from.  If your rule requires it, you can choose the relationship on the Stage tile using the “Select relationships” link, although this is now optional with 2015 and can be left blank.

image

image

  • Client API Programmability
    • Access to available processes, active process, active stage, and active path
    • Move stages, change active process
    • Hook into stage selection, or changing active stage
    • Hide the Process Control completely from the form, or toggle whether or not the Process Control is expanded or collapsed on the form
  • Rule Based Branching Support (If / Else)
    • Decisions made to branch to different stages
    • Defined in a single UI for rules, stages, steps, & branches
    • Evaluated Real Time
    • Branches on a single entity, cross entity, merge branches back to the main flow
    • Branching rules must be based on steps in the stage immediately preceding it
    • Can combine multiple conditions in a rule using AND/OR

In order to use Rule Based Branching, when you’re editing your Business Process flow, you can click on the “Add Branch” from any stage to indent the flow to add your conditions and additional stages.  If you want to have an “If” “Else If” branch, then simply click “Add Branch” to the parent stage and the new stage will be added under the other stages in that branch (e.g., if creating an Opportunity for a New Customer, then we should capture information about that new customer.  Otherwise, if it’s an Existing Customer, we should select the customer from our existing Account list).  You can also have a default “Else” stage by clicking “Add Branch” and not adding any conditions to the branch.  The example below shows the configuration of an “If” “Else If” Business Process.

image 

Now when I’m on my Opportunity in CRM, if I indicate that Existing Customer = No, then I get the New Customer stage where I can enter some quick details about the Customer that can be used later to create an Account record (or could be coupled with Workflow to automatically create the Account and associate it to the Opportunity).

image

image 

And when I indicate that Existing Customer = Yes, I get the Existing Customer stage where I can select the account I want to associate to this Opportunity.

image

image

With all these enhancements that were made in Dynamics CRM 2015, there are still some limitations to Business Processes that you should be aware of:

  • Processes can only span across a maximum of 5 unique entities
  • Maximum of 30 stages per process, and 30 steps per stage
  • Each branch can be no more than 5 levels deep
  • Only one active process per record
  • Can only leverage 1:N entity relationships (even though this is optional)

If you have any questions regarding any of this functionality, contact us and we’ll be happy to assist.


Contact Us for a Quote, or Personalized Demonstrationof Salesforce.com or Microsoft Dynamics CRM for Your Business.

Contact Us