Sonoma Partners Microsoft CRM and Salesforce Blog

The ABC’s of CPQ - Part 1: Advanced Approvals through Discount Schedules

Today’s blog post was written by Justin Concepcion (Developer), Diego Gallego (Developer), and Troy Oliveira (Principal Architect) at Sonoma Partners.

Salesforce CPQ (formerly Steelbrick) is one of the most advanced Configure-Price-Quote software available on the market today.

Built natively on the Salesforce platform, Salesforce CPQ can drastically improve the efficiency of your sales organization with fast and easy quoting that leads to more revenue for your business.

In this 5-part blog post series, we breakdown the “ABC’s of CPQ,” listing out the most notable functionalities, features, and best practices of this impressive platform.

To start, we’ll begin with letters “A” through “D”:

A is for Advanced Approvals and Alert Rules

Advanced Approvals

With Advanced Approvals, you can approve quotes according to your personnel and departmental hierarchy. With subsequent features such as Approval Chains, Dynamics Approvers, and Smart Approvals, Advanced Approvals go above and beyond a standard approval process in Salesforce. Set up approval chains of independent approval verticals occurring in parallel within the same approval process. If you’re looking for flexibility in your advanced approvals, this is a critical advantage of Salesforce CPQ’s functionality.

Alert Rules ABCs_of_CPQ_Alert_Rules_300x400

If you’re a rep who must be able to quickly configure product options and needs to do so without hard stops from validations in the underlying Salesforce data model, you’ll find Alert Rules extremely useful. Alert Rules prevent combining incompatible options within a bundle or removing key components of a product configuration. Managing a product set-up without alerts requires manual auditing to ensure each product’s implicit or explicit business requirements are met correctly. Salesforce’s CPQ Alert Rules allow users to assemble quotes with much greater efficiency.

B is for Bundles and Block Pricing

Bundles

Bundles are the building blocks upon which CPQ truly becomes configurable. Salesforce CPQ allows you to customize product bundles for items that need to be included together, or items that have optional features. The amount of variability in setting up bundles is one of the most powerful pieces of Salesforce CPQ functionality because it can be entirely customized to how your business distributes products. When setting up a bundle, you can control the pricing at overall bundle level or within the different options of the bundle.

Block Pricing

Block Pricing allows you to assign a fixed price to a product based on quantity, overriding the automatic calculation of quantity multiplied by unit price. Block Pricing helps for modeling real world business products that do not have a simplistic single price point. Any business without a flat product pricing model will take advantage of the flexibility offered by Block Pricing.

Combining pricing strategies this way works so that, for example, a customer pays a flat fee for purchasing in quantities of 1-25, a different flat fee if they buy 26-50 of that item, and any quantity above 50 could be charged an over price of $1 per unit. Without this helpful tool, you would need to set up duplicate versions of the same product within the system to try to account for the different ways a single product could be priced with simple block pricing configuration.

C is for Customers, Configuration Attribute, Configuration Selection Rules, Contract Pricing, and Constraints

Customers

Salesforce CPQ refers to what is called “Accounts” in Salesforce as “Customers.” Salesforce CPQ uses the existing Account object in Salesforce so that you can leverage your existing Account information when creating quotes for your customers.

Quotes in Salesforce CPQ can be related to your Accounts in Salesforce, helping you identify who you are selling to and how to enter your information accordingly.

Accounts can also be set up to drive some of the automatic pricing and discounts in Salesforce CPQ, using such features as contracted prices and discount schedules. This is especially useful for B2B sellers who want to leverage Account information to create quotes for customers. Automatic pricing and discounts ensures your quotes are always accurate, consistent, and timely for your customers.

Configuration Attributes

Some products may require more configuration or information before they are added to a quote. Configuration Attributes allow you to input that information. You can add any type of Salesforce field as a Configuration Attribute to a product. Sellers who use any sort of configuration products will find Configuration Attributes useful. For example, you can add a picklist that lets you select the color of a t-shirt or a text field that lets you type in a custom message for a banner. Using Configuration Attributes helps ensure that your quotes have the necessary product details before they are passed onto the customer and that no information is missed.

Configuration Selection Rules

Configuration Selection Rules automate product selections on product bundles. Configuration Selection Rules can be used to automatically add, remove, show, and hide products in a bundle. This feature allows you to match real world business rules, such as automatically adding a laptop charger when a laptop is added to a bundle. Configuration Selection Rules also mean fewer clicks for the sales rep as it automates more of the product selections upon creation of the quote.

Contracted Pricing

Using Contracted Pricing means that pricing is always accurate in your quotes. This feature of Salesforce CPQ allows you to set up customer-specific prices for a product or a group of products. You can also set a date range for when these prices should be effective. If you come to any agreements or deals regarding pricing with a select customer, Contracted Pricing makes sure that Salesforce CPQ accurately reflects those prices. You can set up a lower price for a specific product for one customers or you can set up a discount percentage. You can set up any sort of price or discount really, for one product or a group of products, and for a date range or for an open-ended timeframe. Any sellers who negotiate prices with their customers will find this useful.

Constraints

Option Constraints allow product bundles to be configured with product options that act in dependence of each other, either via inclusion or exclusion. They eliminate the need to cross-reference multiple lists of products to ensure compatibility and prevent invalid or missing product selections. We see them most commonly used to automatically select a dependent product to a bundle or disable product options that cannot be sold together. Sales reps will find this particularly helpful when configuring a product that involves several parts and depending on options selected further “up the chain,” downstream products may or may not be valid for selection. Constraints can be used by anyone, but are highly beneficial in manufacturing and service-based industries where the products within a bundle are largely dependent upon other options that have been selected. Ultimately, Constraints reduce the manual effort of ensuring that products are compatible, removing the need to cross-reference multiple spreadsheets, and eliminating the risk of human error as much as possible.

D is for Document Generation, DocuSign Integration, and Discount Schedules

ABCs_of_CPQ_Docu_Gen_300x400Document Generation

Document Generation is the native ability within Salesforce CPQ to produce a PDF output document of the configured quotes, terms and conditions, etc., to be presented to the end customer. Document Generation allows users to produce high quality documentation that can be tailored to their internal branding with the relevant merge data from the CPQ quote. Customers trying to create quotes without Salesforce CPQ would need to either transcribe the quote details into a document template manually or use another third-party document generation tool.

DocuSign Integration

The DocuSign integration in Salesforce CPQ allows reps to distribute documents for e-signatures. DocuSign is a leading e-signature platform and by integrating with DocuSign, Salesforce CPQ brings best-in-class document signature collecting directly into the quoting process. Automatically sending documents to signers, collecting signatures, all while sending status updates into Salesforce so that the sales teams always know what is happening with the quote. Without the integration, the process of collecting signatures is a manual, tedious step. Enjoy this streamlined process directly from Salesforce CPQ to move your quotes along swiftly and easily.

Discount Schedules

Discount Schedules allow for automatic discounting to be set up in a manner that allows for the discount to be dependent on the quantity being purchased. For products where the more of a product is purchased, the cheaper the product is, this can be especially helpful by eliminating the need for manually discounting pricing within the quote. We see this feature most often used by those in the services and manufacturing industry where the first item produced is more expensive than the 100th, passing discounted pricing along to the customer. While this could be managed via manual discounting, Discount Schedules provide an automated approach that reduces human error.

Stay tuned for the next post in our series to read more about the features Salesforce CPQ can offer for fast and efficient quoting.

Questions or looking to get started? Contact us.

Topics: CRM for Manufacturing Salesforce

Struck by Lightning: 5 Reasons We're Excited for New Winter '18 Service Features

Today's blog post was written by Sarah Parise, Consultant at Sonoma Partners.

At Sonoma Partners we're excited about new Salesforce releases, but we're super excited about the Winter ’18 enhancements for Service Cloud!

For organizations that have been holding off on moving to Lightning because of Service Cloud Lightning limitations, this is a big release.

Several key features, including Omni-Channel, Live Agent, and Milestones could mean its time to make the transition. Check out why we’re excited about each of these features in our top 5 Winter 18 Service Cloud enhancements!

5. Ability to Clone Cases in Lightning

Customers ask for this feature a lot, and it was previously not possible without custom code in Lightning. Now your agents can clone and create multiple cases for the same customer easier and faster than before.

4. Advanced Email Sending Options

Although you could send out Case Emails within the Lighting Console prior to the Winter ’18 release, there are new features that make the experience a whole lot easier:

  • Your Classic Email Templates are now available in Lightning, meaning you can continue to manage your already existing templates in Classic and push them out to your agents.
  • Agents can enter merge fields on the fly – no need to remember or click through Salesforce to remember a customer’s account, or other information. Now agents can use merge fields and have the system fill in the details for them.
  • You can preview emails with their merge fields before you send them out.
  • Additional editing options if your agents change their mind – remove files, revert emails to previous state, and more.
  • Create custom actions to send emails that automatically CC or BCC certain users or case contacts, such as a Financial Contact or a manager.
Sarahp1
Email Component in Lightning

 

3. Running Macros from the Macro Utility bar in Lighting

Macros help your service agents automate the repetitive tasks they do within Salesforce. For example, say your service agents get the same questions over and over again about a blinking light on their refridgerator. Normally an agent would  go  into a case, send an email, update the case topic, and then update the cases’s status to indicate that they’ve responded to the customer. They could do this over and over again each day. With a Macro, all they would have to do to complete these multiple items is click the “Blinking Fridge” Macro, and Salesforce would take care of each of those steps for the agent. Time instantly saved!

 

Sarahp2
Macro Utility (lower left corner) and upcoming Milestones (upper right corner) [click image to zoom]


2. Milestones and Entitlements in the Lightning Console Widget

For accounts that use or want to use Salesforce Entitlements and Milestones to track and enforce their Service Level Agreement, you can now display the Milestone Timers as a component on your Lightning pages and as feed items within the Lightning Console.

Show agents whether they are approaching a deadline for any case milestone, such as case responses, sending parts or information, or following up with a customer. Currently, the milestone component can only be added to Cases in the Lightning console, not work orders.

1. Omni-Channel and Live Agent within the Lightning Console

Transfer your existing Live Agent and Omni Channel Routings to the Lightning Console with just a few clicks. Just add the Omni-Channel widget to your and customize the Lightning page for Chat Sessions.

Sarahp3
Incoming Cases in the Omni-Channel Lightning Widget

 

Take advantage of the new larger Chat Window, and the ability to customize the chat component and related contact, previous chat, and case components within the Console. If you are using Live Agent but haven’t switched to routing your Live Agent Chats through Omni-Channel yet, you will need to do so as part of the Lighting Transition process.

With these new key service features available in Lightning now has never been a better time to think about making the switch. Reach out to us to find out more about how we can help you move your Service Setup to Lightning!

Topics: Salesforce

Take Your Salesforce Service the Extra Mile with Entitlements and Milestones

Today's blog post was written by Sarah Parise, Business Analyst at Sonoma Partners.

Leveraging Salesforce cases and work orders is great, but are you looking for more insight into your how service agents are actually doing? Salesforce’s Native Milestone and Entitlement Processes can provide a clearer picture of how effective your service agents handle their work. With these insights, you can finetune your support processes, find bottlenecks that affect your customers, prioritize incoming requests, and provide better, quicker service for your customers. Win, win, win. So how does it work?

Milestone and Entitlements are a native feature of the Salesforce Service Cloud.

They allow you to create service processes for your customers in the form of Entitlements made up of multiple Milestones. Entitlements denote what service process a customer is entitled to based on attributes such as what Tier of Account they are, what type of products they’ve purchased, or if they have any additional support contracts. Milestones represent steps in each Entitlement process, such as responding to a client email, ordering a new part, or having a field agent complete an appointment with a customer. On each milestone you can denote an amount of time each step should take.

Each case or work order is then associated with an entitlement, and you can then track progress toward each of the entitlements milestones, and whether or not your agents are in violation or approaching violation on a step in your service process.

A violation has occurred on an Initial Customer Response milestone.

Sarah 1
Click the image to expand.

You, in turn, can report on milestone and violation metrics through native Salesforce reporting functionality, like in the example below.

Example of Milestone and Entitlement Reporting

Sarah 2
Click the image to expand.

Violation notifications work hand-in-hand with the Milestones Console widget. Agents can leverage the this widget to see, in real-time, whether they are currently in violation of a required step for their cases or work orders. The Violation status on the widget shows if your users are reaching an upcoming milestone, have passed and violated a milestone, or are in good standing. Additionally, you can automate email alerts, tasks, field updates and outbound messages when milestones change in status to help agents prioritize and stay on top of their work loads.  

The Milestone Tracker on a Case Record

Sarah 3
Click the image to expand.

Typically, Salesforce milestones tracking is related to certain Service Level Agreements associated with your Accounts, Contacts, and their associated orders. This is to allow you the flexibility to specify what type of support your customers receive and enforce different milestones, such as email response time account status or the Service Agreements that they have purchased.

However, how do you handle it if you don’t have different Service Level Agreements for different Accounts or Products? Recently, a customer came to us with this very question. Out of the box Salesforce Milestone tracking requires you to manually add different Entitlements or Service Level Agreements to your Account and Orders, but we needed a solution that was more automated, and provided the ability to track milestones against items in the system that weren’t cases or work orders.

To handle the need for one entitlement process for all customers, regardless of product or account type, we created a custom code that auto created the create Entitlements for each Account and Contact in system. This trigger also automatically associated that entitlement to all incoming cases, removing manual steps for both their sales and service teams!

For more information about how to set up entitlement and milestone tracking for objects not natively supported by Entitlements and Milestones look out for the second part of this blog post coming soon!

Topics: Salesforce

Winter '18: Top 5 New Reasons to Switch to the Lightning Experience

Today's blog post was written by Caitlin Pfeiffer, Prinicpal Consultant at Sonoma Partners.

The Winter '18 Release Notes have been published and preview sandboxes have been upgraded, signaling that the next Salesforce release is around the corner. With most Winter releases, there is a lot of new functionality included in this release, but what I’d like to focus this blog post on is the latest changes you can expect with the Lightning Experience.

Caitlin 1
If you are still using Salesforce Classic, the Winter '18 release gives you a bunch of reasons to get ready to switch.

Here are just my top 5...

5. Embed Dashboards on the Home Tab and in Lightning Apps

Caitlin 1_v2
Click the image to expand.

What is it? You will now have a native out of the box “Dashboard” lightning component that can be added to a Lightning Home Page or App.

Why it’s cool? Before this feature, you could only add single reports to the Home Page and display the chart included in that report. This meant that you were unable to use some of the chart components that are only available on a Dashboard (like metrics and gauges). Plus, if you already included your key metrics in a dashboard, you would need to update both the Home Page and the Dashboard if you wanted to change or add a metric. Now, you simply can update the Dashboard, and it will automatically update the Home Page as well.

Classic vs. Lightning Comparison

  • Classic
    • Con: Homepage dashboard component only displays top 3 charts from a dashboard
  • Lightning Experience
    • Pro: Embed a full dashboard or a link to a dashboard directly on the homepage

4. Expand Your Reps' Email Reach with List Email

Caitlin 2 v2
Click the image to expand.

What is it? Mass emailing has come to the Lighting Experience.

Why it’s cool? Mass Emailing in Classic always felt “hidden” away on the Contact / Lead landing page. The new List Email functionality is integrated into your Contact, Lead and Person Account list views and seems to be more user friendly and flexible than Classic Mass Emailing.

Classic vs. Lightning Comparison

  • Classic
    • Con: Preview email template with placeholders for merge fields
    • Con: Users can only select from one of the predefined email templates
    • Pro: Allows mass emails to be scheduled
  • Lightning Experience
    • Pro: Preview your email with merge fields populated for the contacts you are emailing
    • Pro: Allows users to send a customized email and add their own merge fields without needing to create a saved email template
    • Con: List emails can only be sent immediately

3. Prompt User to Add Products to Opportunities

Caitlin 5_v2
Click the image to expand.

What is it? When this feature is enabled, users are prompted to add Products to an Opportunity as soon as they create a new Opportunity.

Why is it cool? This is a common requirement that I’ve heard from several of my clients. Previously, this was something we’d have to do using custom code, but it’s now as simple as checking a checkbox in the setup menu.

Classic vs. Lightning Comparison

  • Classic
    • Con: Not available without custom development
  • Lightning Experience
    • Pro: Turn on with a check of the checkbox and get reps to enter their product information more consistently and easier.

2. Edit More Records at once with Mass Inline Editing

Caitlin 6
Click the image to expand.

What is it? Finally! You can mass inline edit in list views.

Why is it cool? I know this seems like a small thing, but this is a productivity feature available in Classic that a lot of users love because of how much time it saved them.

Classic vs. Lightning Comparison

  • Classic
    • Pro: Can mass inline edit up to 200 records from list views
  • Lightning Experience
    • Pro: Ditto

1. Add Tables with Up to 10 Columns to Dashboards

Caitlin 7
Click the image to expand.

What is it? You can now add Tables to Lightning Dashboards. This feature is currently available in Beta, but it’s something that your system admin can enable without creating a support ticket with Salesforce.

Why is it cool? While you could add tables to Dashboards in Lightning before, this adds some cool features that go above and beyond what’s available in Classic.

Classic vs. Lightning Comparison

  • Classic
    • Con: Can only have 4 columns
    • Con: Limited to which fields can be included in the table based on the fields that are included on the chart of the underlying report
    • Pro: GA with full set of features available
  • Lightning Experience
    • Pro: Can have up to 10 columns
    • Pro: You can include ANY of the fields available in a source report's report tyle. No more fighting with the source report so that you can pull in the fields you want to display on a Dashboard.
    • Con: Currently only in Beta and doesn’t support: Chatter photos, conditional highlighting, and dashboard filters aren’t applied to Lightning tables.

If you’d like to learn more, here are a few references I’d recommend:

Think that you might be ready to make the switch from Classic to Lightning?  Sonoma Partners has already helped several of our clients with this transition. We can help you navigate how to take full advantage of the Lightning Experience (contact us).

Topics: Salesforce

Lead Conversion Changes with Salesforce Lightning

Today's blog post was written by Rachel Sullivan, Principal Consultant at Sonoma Partners.

We recently came across an update in Lightning that makes the lead conversion process more flexible, but can also add a bit of confusion if not understood ahead of time. In this blog post, I’m going to show you what changed so you’re aware when you’re converting leads.

In Salesforce Classic

When you convert a lead for an owner who is different than the logged in user, the owner of the newly created Contact, Account, and Opportunity records defaults to the owner of the lead.

Lead1
Click image to expand.

 Lead2Click image to expand.


The lead owner (in this case Aaron Robinson) owns all of the records you created, including Account, Opportunity, and Contact.

In Salesforce Lightning

With the update, a new dialog box appears when you convert a Lead. The box allows you to select an existing Account or create a new one.

Lead3
Click image to expand.
 
Lead4
Click image to expand.


If the person logged in and qualifying the lead is not the owner of the lead, and they created a new Account, they are now the owner (not the owner of the lead). This cannot be changed within this dialog box. The user must save first and then go back into the account later to change the owner.

Lead5
Click image to expand.

 

Hopefully with this heads-up, you’ll be able to navigate this update with ease. If you get stuck or have any further questions, as always, let us know!

Topics: Salesforce

Easy as A-B-C: Capstone Publishing Automates Business Processes with Salesforce

Today's blog post was written by Kayla Silverstein, Marketing Specialist at Sonoma Partners.

Capstone deployed Salesforce to keep up with the increased demand of their digital products and support their overall success.

Who is Capstone?

Capstone publishes children’s books and digital solutions for libraries, classrooms, and consumers. Capstone’s content comes in a variety of print and digital formats, including board books, picture books, audiobooks, and more.

Capstone has grown rapidly in recent years with the increased demand for their digital products. As a result, Capstone wants to modernize their systems’ infrastructure to better serve their consumers. Capstone aims to improve their sales, marketing, and service strategies as a part of this effort. When Sonoma Partners got involved with Capstone, they only had Salesforce deployed to portions of the U.S. digital sales business.

Capstone_infographic_blog_img_500

Capstone struggled under multiple manual processes, like annual data collection projects to update student/family/teacher information and sales forecasting. They would circulate Excel spreadsheets and Word docs to consolidate prospective client information to no end. None of this trackable, Capstone desired a better way to manage their operations. Ultimately, Capstone found accurate, cleansed data via MDR, an industry data source to act on prospective client information. For all their markets, they outlined sales cycles and a lexicon to maintain consistency across the organization. Furthermore, a complete Pardot implementation and training for marketing teams allows Capstone to set up landing pages, implement tracking across their websites, and completely automate email drip campaigns. With Salesforce, Capstone overall operates more cohesively as an organization and better serves their customers.

The Challenge:

  • To serve all sales markets at Capstone with a single, unified CRM platform and obtain highly effective utilization of the system across all sales teams.
  • Gather meaningful prospective client and transactional information for use in accurate and comprehensive measurement of overall Sales productivity.

The Solution:

  • A two-year CRM roadmap to deploy Salesforce for all sales, marketing, and service teams and unify CRM across the organization.
  • A sandbox environment for Capstone to imagine future development needs.

The Result:

  • Implemented Salesforce subscription functionality, allowing for better user experience, more robust reporting, and an increase in the consistency and accuracy of capturing and tracking subscription information of their customers.
  • Automated the annual data collection process for the Capstone service team. Before, this was largely manual, reaching out to individual families and teachers to update their customer records. Salesforce provides automatic notifications to customers and employees to help keep data clean year after year.
  • Implemented forecasting in Salesforce to provide greater insight for the sales team.
Topics: CRM Best Practices Salesforce

Living Large with Salesforce CPQ Summer '17

Today's blog post was written by Troy Oliveira, Principal Architect at Sonoma Partners.

Salesforce CPQ released their Summer ’17 upgrade this month.

Did you hear about it? My guess is probably not. It appears that the Summer ’17 release came without pomp and circumstance, which I think is a real shame.

For those of you who want to dive directly into release notes, you’ll have to look in a couple places because Summer ’17 is actually a combination of both Spring ’17 and Summer ’17. Confusing, I know. But for those of you paying attention, you may have noticed that there never was a Spring ’17 release, just a series of updated releases of Winter ’17.

The big-ticket item for Summer ’17 is Quote Self-Service for Partner Portals. While this is a huge step towards making CPQ less about the Salesperson and more about the end-user, it is starting to feel a bit too eCommerce-y to me. Hopefully this doesn’t start to blur the lines between Salesforce CPQ and Commerce Cloud in the future. Or maybe it’s the first step towards a perfect marriage, who am I to judge?

For me, the big-ticket features are listed in the Spring ’17 release notes. The list is comprehensive, ranging from theming options to advanced order management. If either of those functionalities are important to you, look at the release notes for more information on what they do and how to enable them.

What I’m most interested in is what this release means for customers who have large quotes.

Aptly named, Salesforce CPQ Large Quote Experience introduces a whole new way to bring your quotes into existence. To see the power of large quotes in action, let me paint a picture.

As a Sales Rep, I am consistently creating quotes that have several hundred consumer-oriented products. To provide a quality quote for my customer, I need to have several points of reference data about my products in-line so that I don’t have to keep flipping back and forth between my product catalog and CPQ.

Without the Large Quote Experience, I have an endless number of lines that scrolls both vertically and horizontally.

Troyo 1_750

Troyo 2_750

This isn’t the end of the world as I’m used to being browser-based for my Salesforce needs.

However, I noticed a couple things.

  • Once I have more than a few lines on the quote, the Summaries are no longer visible and they are pushed “below the fold”.
  • When I scroll down to view my items lower in the list, I no longer have the headers and am easily confused by which column I am trying to update.

Troyo 3_750

Enter the Large Quote Experience. My System Administrator can update the CPQ Package Settings and “Enable Large Quote Experience."

Troyo 4_750

Once enabled, the issues of not being able to see my Summaries and losing my column headings are a thing of the past. Now I can scroll through my quote lines and have visibility into the overall context of my Quote. No more accidentally updating the wrong field because I don’t know what I’m looking at.

Troyo 5_750

You may have noticed that the space my quote header and footer have added to my screen has limited the number of visible lines. Don’t worry, Salesforce CPQ also took this into consideration. Notice the button in the top-right corner of the header. This button puts CPQ into Full Screen mode, getting rid of the unnecessary junk that stands between me and my quote.

Troyo 6_350

Exciting if I do say so myself. But wait, there’s more.

Not only did the Large Experience update bring the ability to keep better track of quote lines, but it also introduced Quote Line Editor Drawers. With Drawers, I can reduce the clutter of all the columns that I am using purely for reference sake, allowing me to put them into a “drawer” whenever I don’t need to see them, and open the drawer whenever I do. This keeps my quote editing more focused on the end price and less focused on scrolling.

Troyo 7_750

Troyo 8_750

Only you can figure out the right balance of which fields to put in the editor versus which fields you hide away in the drawer, but for me, this adds a whole new dimension to being able to quote efficiently.

This just scratches the surface of what the Summer ’17 release of Salesforce CPQ has done. Look through the release notes in the links below for more details.

Release notes:

New to Salesforce CPQ? Needing some help? Contact us, and we’ll give you a helping hand.

Topics: Salesforce

Lightning Locker Service and You: Working with SecureDOM

Today's blog post was written by Nathen Drees, Senior Data Integration Developer at Sonoma Partners.

One of Salesforce’s recent major releases is the force enablement of the Lightning LockerService. While Salesforce has done their best to give plenty of warning about the LockerService being force enabled, we still see some of our partners and developers confused about what exactly it is, and if it affects them.

Today we wanted to review what the LockerService is, provide context for when it will affect you, and some recommendations on working within it.

What is the Lightning LockerService?

When Salesforce released the Lightning Experience, it had a vision for the AppExchange: developers could write lots of tiny components, and administrators could install them in their org, promoting code reuse and reducing the need to hire for custom development. It was a win-win proposition for both parties – developers have more chances to sell their individual widgets, while administrators have more options to choose from. But this vision comes with a problem: for this exchange to work, Salesforce needs to guarantee that the various components installed by administrators stay safe from one another, to prevent (accidental or otherwise) runaway scripts from causing too much damage. Unfortunately, browsers don’t natively provide a way for multiple scripts within a page to be sandboxed from one another – everyone has access to (more-or-less) everything on the page.

SFDC_Lightning_Locker_service_blog

Enter Lightning LockerService

This is where the Lightning LockerService comes in to play. It provides each lightning component a “locker” that is must fit within, stricter guidelines on what it’s allowed to do, and how it can communicate with other components.

Here’s a comprehensive introduction to the technical aspects of the LockerService on the Salesforce blog, but the key idea to understand is that components are not able to access anything on the page at any time. If components wish to communicate, they  need to coordinate in some agreed upon manner (such as application events).

Does the Lightning LockerService Affect Me?

If you write Lightning Components, the Lightning LockerService affects you.

Going forward (API version 40+), you will need to ensure that your components adhere to the LockerService’s rules or you may find that they no longer function as expected. However, adhering to the LockerService’s rules isn’t as difficult as it may seem.

Working Within the Lightning LockerService

If you are sticking to the native APIs provided by Lightning Components, enabling the LockerService doesn’t change much for you during development. The main area it impacts is when you try to navigate out of your current component into another – this may no longer work as expected, specifically if those other components are not in the same namespace as yours.

In an attempt to help developers ensure that they’re staying within the guidelines (and also pass a security review), Salesforce released the Salesforce Lightning CLI, which lints the components for known errors and mistakes. Using this tool liberally will help to avoid the common cross-component scripting mistakes that may break your components going forward.

If you do need to work across components, you need to start designing and writing events to let the components communicate amongst themselves. Depending on the structure of the components, you’ll want to consider either an application event or a component event.

Wrapping Up

There are of course many more tricks for making sure your components continue to work with the LockerService, most of them being not very difficult to implement. If you would like help reviewing and/or correcting your components, or are looking to launch your product on the platform but could use the help of experienced developers, contact us and we can help.

Topics: ISV for CRM Salesforce

New Salesforce Lightning Requirements for ISV's

Unless you've been living under a rock, you know that Salesforce launched a new user interface and design system called Lightning at Dreamforce 2015. As an ISV, you might be thinking "yeah I know we need to eventually update our app to Lightning, but we can wait a little longer before taking action". Well Salesforce recently shared some new information about Lightning adoption and NEW ISV requirements that should make you rethink (and accelerate) your Lightning timeline!

Lightning Adoption

Salesforce conducted more 50,000+ org Lightning readiness assessments so far, and customers appear to be accelerating their use of Lightning. 

SalesforceLightningAdoption

 

New Lightning Requirements for ISV's

Salesforce took advantage of customer momentum behind Lightning to put NEW requirements on ISV's in the Salesforce ecosystem:

  • All new apps that enter into an agreement on or after March 1, 2017 must be Lightning Ready. Lightning Readiness will be a prerequisite for entering the Security Review process.

  • Salesforce stated a goal to make all existing apps Lightning Ready by February 2018You don't want your ISV app to block your customers from switching to Lightning...Salesforce would NOT like that.

  • Starting in the Summer '17 release, Salesforce admins will be able to (with a new user permission) block users from manually switching back to the Salesforce Classic interface.

So if your app isn't already Lightning ready...now is the time to start taking action to update your app! What does it mean for your app to be Lightning Ready? Salesforce makes the requirements simple to understand - 100% of your end-user use cases must work as expected in Lightning Experience. For example, for a document generation solution the app must work for all users who need to generate documents. To help ease your transition efforts, administrator use cases (such as app setup and configuration) do NOT need to run in Lightning Experience to be considered Lightning Ready...although Salesforce strongly recommends that they do so.

If you're an ISV that's been putting off your Lightning readiness, now is the time for you to take action. As a Salesforce PDO (Product Development Outsourcer), Sonoma Partners can help you get your app Lightning ready as quickly as possible...and our ISV best practices will make sure that you save time and money getting to market. Please contact us to setup a time to talk about getting your app Lightning ready!

 

 

Topics: Salesforce

Dreamforce 2017 Security Review Deadline for ISV Apps

Dreamforce_15_cloud_logotype_RGBEveryone knows that Dreamforce reigns as THE most important cloud computing event of the year, and Dreamforce 2017 will take place November 6 to 9 in San Francisco. As an ISV in the Salesforce ecosystem, Dreamforce obviously marks a key milestone event for your business...anyone who is anyone in the Salesforce world invests a ton of time, energy and money into the event.

When we speak with ISV's about Dreamforce, they frequently express a desire to make sure that their latest and greatest app goes live in the AppExchange before Dreamforce starts. With thousands of ISV's all rushing to go live for Dreamforce, this demand creates a significant backlog in the Salesforce security review process...which requires manual/human intervention.

With this ISV crush coming, Salesforce publishes key dates and guidelines for ISV's who want to have their app live by Dreamforce 2017:

  • Submitting an app by the deadline (before August 25, 2017) means a partner will receive one test by Dreamforce. Retests before Dreamforce are not guaranteed. It is a best practice to submit your complete offering as early as possible to ensure that there is time for any unexpected delays like a failure.

  • Offerings in the queue must have everything in place, including a complete set of fully configured test environments, clean security reports, and other required documentation and collateral. Offerings in the queue with incomplete test collateral submitted after the published deadline are not guaranteed a Security Review before Dreamforce.

  • Offerings should not be submitted before they are complete. Unfinished offerings will be rejected.

Salesforce_appexchangeAssuming you must have a totally 100% complete solution completed before August 25th to hit the Dreamforce deadline, that means ISV's have about three months from today to build out their solution. Whether you're upgrading your app to be Lightning Ready, or if you're building a brand new app...three months isn't a lot of time to hit the Dreamforce security review deadline

Most ISV's find that working with a Salesforce PDO (Product Development Outsourcer) like Sonoma Partners helps:

  • Drastically reduce the product development timeline by leveraging our best practices and pre-built IP
  • Significantly increases the chance your app will pass the Salesforce security review on your first submission

So if you're an ISV already in the Salesforce ecosystem (or considering joining the ecosystem), please contact us and we can help make sure that your app is live and ready in the Salesforce AppExchange when Dreamforce hits this November!

 

 

Topics: Salesforce