Sonoma Partners Microsoft CRM and Salesforce Blog

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. 



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

A Lesson for all Manufacturers: Ace Hardware Gets Better Operational Insight with Salesforce

Ace Hardware implemented SAP CRM back in 2011. The deployment was unsuccessful from the start due to the product’s inflexibility and inability to meet specific business needs. For example, SAP didn’t allow for customized workflows for District Managers and the Business Development team to document investor relationships. Ace Hardware invested in a custom Salesforce deployment to provide their employees with a more effective tool to manage store operations and productivity.

Who is Ace Hardware?

Ace Hardware is a national hardware store chain with over 4,000 locations. Their headquarters is in Oak Brook, Illinois.

ACE infographic may 2017

Driving Initiatives

One objective of the CRM project focused on assisting Ace Hardware’s District Managers. For District Managers, one of their primary responsibilities is to implement new initiatives in their stores to drive increased revenue. These initiatives could be, for example, driving the sale of more paint or creating new product displays. With SAP, Ace Hardware was unable to see how these store operations were carried out and what their success – or lack thereof – looked like. Too often managers would agree to move forward and forget to follow-up with corporate management after the concept was “sold.” Ace Hardware needed a solution that would better track and monitor individual store activities to further enable their managers and support continued growth for their company.

Stronger Operations

With Salesforce, Ace Hardware could automate this campaign process. You can call that a huge win. With CRM, District Managers are prompted to follow-up and guide a store through the implementation of the initiative. This automation also provides better insight into the effectiveness of these campaigns. Every year, there are several corporate campaigns that they want implemented in all stores. Salesforce allows Ace Hardware to easily push a single opportunity to every user in the field.

Lead Management Automation

Salesforce completely automates Ace Hardware’s lead management process. From the moment an interested investor reaches out to open a new store, CRM prompts Ace Hardware’s Business Development team to complete the multiple transactions to go through this process. First, an initial inquiry reaches the team. Once Business Development qualifies the lead, Salesforce automatically generates the Contact record for the lead. Workflows initiate background checks, qualifies the funds available to invest in the store, and so on. Salesforce automation speeds up these transactions and encourages further investment opportunities for Ace Hardware.

Data and Even More Data

Custom-built store visit reports in Salesforce allow district managers to track various data points each time they visit a store, such as “are employees all wearing uniforms, “do they have the craftsman display set up correctly,” etc. This is a checklist that is also accessible through Salesforce1 for easy on-the-go reporting.

Dashboards are a Manager’s Best Friend

Salesforce provides custom dashboards and reports for easy tracking and stronger store management. These reports track things like top stores year-to-date, bottom 10 stores, wholesale sales metrics reports, and more. These critical numbers allow corporate management to make key departmental decisions with informed, easy-to-read reports.

Looking to take your company’s operations to the next level with a custom Salesforce deployment? Let us know.

Topics: CRM for Manufacturing Salesforce

Service Console in Lightning Experience

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

In Spring '17, Salesforce added the Service Console to the Lightning Experience. While the new Lightning Service Console is still in Beta, it's an exciting glimpse into what is to come, with a GA release anticipated for Summer '17.

The new Lightning Experience Console looks to keep the best of the existing Service Console available in Classic, including:


The console navigation in the Lightning Experience is very similar to Classic. Clickable records open as separate tabs in the Console to increase productivity and allow Service Reps to multi-task, managing multiple interactions within the same session. Also, similar to Classic, records related to each other open up as sub-tabs, allowing you to see them within the context of the record that you originally are viewing.

Place Saver

Similar to Classic, the Service Console in the Lightning Experience will also save your place from when you were last logged into the system, so your customer service team can pick up right where they left off the next time they log into the Service Console.

Lightning Utility Bar

Classic Console Components will be replaced with the Lightning Utility Bar in the Lightning Experience. NOTE: Not all of the out-of-the-box Console Components are available in the Lightning Experience as of the Spring '17 release, but I imagine that these will continue to be added to the Lightning Utility Bar in future releases.

Pfeiffer console 1

Pfeiffer console 2

While the new Service Console in Lightning Experience is very familiar, all of the new features available in the Lightning Experience are now available in your Service Console, namely:

Lightning Page Layouts

You now can take advantage of the extremely flexible Lightning Page Layouts. This includes the out-of-the-box Lightning Components that Salesforce provides, but also any custom Lightning Component that you build or install from the AppExchange.

Pfeiffer console 3

Kanban List Views

Service Cloud users are a now going to be able to take advantage of the Kanban list views to easily manage and view their cases and work orders in a more visual summary. Users can select which field they want to use within the Kanban view to group their records. 

Pfeiffer console 4

Enhanced Notes

Another cool feature that I can see being helpful for the busy, multi-tasking service rep is the new enhanced Note functionality that allows reps to easily jot down a note without having to stop what they are doing. Notes will be available from the Lightning Utility Bar and will overlay whatever record they are working on. Users can keep these notes open while they work and expand/minimize them as they continue to work.

Pfeiffer console 5

Before rolling out the new Service Console in the Lightning Experience, keep in mind that:

  • This feature is currently only available in Beta, which means that there may still be a few known issues or missing features. Salesforce anticipates that the Lightning Service Console will be generally available in Summer '17, but may still be missing some of the features that are only available in Classic, such as Case Teams, Live Agent, and Service Contracts/Entitlements. 
  • Similar to the core Lightning Experience, Salesforce will continue to add more and more features to the Service Console in LEX with each release. If you are interested in using it, I would recommend that you keep an eye out for the release notes for each release to watch of key features critical for your service team.
  • Also similar to the core Lightning Experience, this is something that you can roll out gradually, to specific users and teams. Users are also able to switch back and forth between the Service Console in Lightning and Classic.

Have additional questions about the Salesforce Service Cloud, Sonoma can help, please contact us.

Topics: Salesforce

When Lightning Comes to Town

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

One question that we get asked quite often from our customers is “should we make the move to Lightning?” Inevitably, the answer to this question leads in various directions, from compatibility of existing customizations and installed packages to how do I sell it to my users.

The question of compatibility can be explored through the help of the Lightning Readiness Check, but that’s a different post for a different day.

I'd like to focus on the “how do I sell it” question, because at the heart of every good Salesforce implementation is a drive for adoption.

Classic, the Salesforce security blanket

For many users, the Salesforce Classic interface is comfortable, safe. While there are things that almost everyone would like to change about it, users understand it, they know it, and it keeps them warm during cold winter nights.

For the most part, all Classic pages look the same. You have the object details at the top and related lists at the bottom. Everything you need, all within scrolling distance.


Out of the box Account Layout



Out of the box Contact Layout

Out of the box Opportunity Layout

Why completely upend a user’s world by making them learn a new user interface? Because there is a better way to view this data.

I see a couple main problems with Classic:

  • Every page layout looks the same. Sure there are different colors across the top, but it is way too easy to confuse which object you are looking at, especially if you are flipping between several open tabs in your browser.
  • If you want to view details of related records, you must jam the fields into the list view or click into the record itself. We all know that fewer clicks leads to a better experience.

Lightning, a more elegant interface of a more civilized age

While having the same basic page layout for every object might be more consistent, it can also lead to confusion. This sameness also assumes that the same content/context is the most important part of every object record. Let’s look at the out of the box pages in Lighting.


Out of the box Account Page

Out of the box Contact Page

Out of the box Opportunity Page

Now, I know that the first thing that you’re going to say is “the Account and Contact pages almost identical!” and you’d be right. However, look at the Opportunity. You see, the Opportunity has the sales path across the top of the page, and some related data along the side panel for quick viewing. Lightning allows for users to have pages that make sense in the context of the object that they’re working with.

If you build it…

The Lightning App Builder interface is one of the pieces that makes Lightning so powerful. Building pages in Lightning takes customization to a whole new level. In Classic, you were limited to what order the fields appear on the page and what related lists show up, and add VisualForce. That’s it. In Lighting, you still have those options, but you also can break the page up into columns, organize data in tabs, and drag-and-drop standard and custom components that will enhance and streamline the user experience.


For example, I’m going to drag the “Related Record” component onto my Opportunity page and configure it to display details from the Opportunity’s Account record.



Once I’ve dropped it in place, the App Builder interface shows the component with actual record information. This way I can determine if I added what I wanted to add. I’ll save and activate my updates.

Now, if I reload my Opportunity, I can see the related Account information in the right column. I don’t have to click into the Account to see the data.


Unfortunately, I have some redundant data. The summary at the top of the page has the Account name, but I also have it shown on the right. I know that the summary is controlled by the Opportunity Compact Layout, so I’ll change the fields in the compact layout to remove the redundancy and bring more key information “above the fold.”


You can see that I have created a holistic view of my Opportunity. I have my key details summarized at the top of the page, I can see an Activity timeline in the middle and have Account and Contact details to the right. If I need to dig deeper into the Opportunity details, I can click the Details tab.

An administrator can create customized versions of the record page and assign them to users by profile, by record type and by application. That’s right, Lightning takes the page assignment one step further than Classic. I can have a completely different view of the Account for my Sales App than what I see when I look at it in my Service App.

The streamlining benefits don’t stop there. In Lighting, every lookup link tells a story. Unlike in Classic where a user would have to click into a record to see related details, simply hovering over a link to a related record in Lighting provides contextual data.


Convinced Yet?

If you’re on the fence and are looking for a way to show users that their lives can be made easier, I hope that this post has proved to be helpful.

However, I know that not everyone is going to go running into the open arms of the Lighting Experience. There are valid reasons why you may not be ready to take the leap, either waiting for feature parity or needing to update your customizations to be compliant.

We are more than happy to help you figure out if Lighting is the right move. Contact Us for more information on how we can make the transition painless when Lightning comes to town.

Topics: Salesforce

Customer Success Story: Building A Stronger Foundation with Salesforce

Before deploying Salesforce, Feralloy lacked a centralized method for tracking and managing existing client relationships. As one of the country’s largest high volume steel processing plants, Feralloy needed a customer relationship management system that could measure up in equal strength to the materials they manufacture.


Who is Feralloy?

Feralloy Corporation consists of an extensive network of plants throughout the United States and Mexico. They bring over 60 years of experience to the table as they deliver high quality processed flat rolled steel.

Supporting Customization

Before CRM, Feralloy managed business operations through a myriad of Word documents, Excel spreadsheets, and verbal and email communication. This system created many problems for their organization, one of which was maintaining data after an employee departure. When a member of their sales team left, so would their customers’ information. Furthermore, without a formal process for managing customers, sales processes differed between business units, making communication and collaboration very challenging. Overall, the sales organization lacked the tools needed to adequately manage existing client relationships and nurture prospective business.

Building Systematic Inventory Management

Sonoma Partners helped Feralloy get up and running with a custom Salesforce deployment and an integration between CRM and their ERP System, STAR (AS 400). The integration allows Feralloy to more accurately document their inventory and assist customers in finding what they need when they need it. By more effectively overseeing their assets, Feralloy drives profitability for not only themselves but also their clients.

Facilitating Employee Management

With improved visibility into team performance, CRM allows Feralloy to more productively manage their employees. Knowledge management tools and streamlined onboarding process helped employees work strategically in their new environment, no matter what their experience in the industry. 

Going Mobile

Feralloy’s outside sale team can be on the road up to four days a week, working multi-state territories. By leveraging Salesforce1’s native capabilities, Feralloy’s sales teams can view account and territory management in the field. Since investing in a mobile strategy they’ve seen an improvement in the accuracy of their data due to their team having a more efficient way to enter it on-the-go.

Interested in a custom CRM system to call your own? Let us know.

Is your CRM

Topics: CRM for Manufacturing Salesforce

Shifting to a PowerBI World

Today's blog post was written by Keith Mescha, a Principal Architect at Sonoma Partners.

Power B-What?

There's been a bit of buzz recently in the CRM circles around Power BI and how it fits into the overall CRM landscape. There is certainly no shortage of blogs, podcasts and event demos showcasing the power of this toolset. On a personal note, I'm am seeing the same level of interest based on the meetings on my calendar over the past few weeks.

What we're finding at Sonoma is that the topic of Power BI is still very confusing for most customers. In this multi-part series we hope to help demystify some of the confusion through real-life examples and suggest some best practices based on learnings from our internal use as well as implementations with our clients.

The Basics

Power BI is Microsoft's analytics and dashboard Business Intelligence (BI) suite of tools and solutions. It's made up of a few main offerings:

  • Power BI Desktop – Free development tool for building data models and dashboards
  • Power BI Service – Online PaaS offering to host and share Power BI solutions with a monthly licensing per user subscription based model
  • Power BI Embedded – Online PaaS offering for embedding Power BI solutions into applications for external consumption with a session based subscription model
  • Power BI Mobile – Free mobile app for consumption of deployed Power BI solutions on a mobile device
  • Power BI Enterprise Gateway – On Premise software used to extend on premise data to the Power BI Service

For latest and greatest features and release notes, refer to the Power BI site.

Real-Life Example

Every company I know has data quality issues or challenges to overcome. Unfortunately, we here at Sonoma are not exempt. One of the things we constantly struggle with is incomplete data and stale data. Often times, we will create a record without knowing all of the various data points we typically want to capture. If we do not go back and fill that information in once it becomes known, we are left with an incomplete and potentially inaccurate record. The genesis of the original report request was to provide a means for the data steward team to monitor newly created records.

The original ask was for a custom SSRS report that listed out all Accounts that were missing specific data across a pre-determined list of fields. This report would then be provided to our data steward team on a regular basis to ensure the data is augmented appropriately. When one of my colleagues stopped by to chat about the report, I happened to be in the middle of building a dashboard in Power BI for a customer. He was curious what I was working on, and as we talked and he explained his need, I fired up a new instance of Power BI desktop in an attempt to solve the problem.


Get Your Data

I pulled up the 'Filtered Account' view from the 'Get Data' option in Power BI. My User Account is a System Admin and the Filtered Account view resolves all the option set and lookup fields for us, so this was a quick and easy solution. When getting data for many of the source types, you have an option to Import or Direct connect. I’ll go deeper on that topic in my next post but for this solution I chose to import.


Shape Your Data

Initially Power BI pulls in all the attributes in the table, this can be a bit overwhelming so filtering down the attributes was our next step. My colleague had a list off the fields he wanted to audit and report, so I filtered down the data set to only include those attributes.


Within 15 minutes my colleague and I had a prototype dashboard built with the fields he needed, including a couple charts to use as filters. From there we iterated on a few designs, and ultimately landed on the below look and feel. End to end this entire process took a couple hours to build, including some custom columns to allow linking to our Account Forms on Dynamics and Salesforce.


Deploy Your Solution

Once we had a solid solution built in Power BI Desktop, I created a new O365 group for internal reporting, added a few users to the group and then deployed the Power BI solution to the Power BI service.

One key thing to note here is that we had to assign Power BI licenses to these users before they could login and see our dashboard. The fact that we wanted to schedule this a couple times per day and that we were managing this through our 0365 AD bumped us from the free to the paid license. We had a handful of users requiring access and plenty of licenses available so this was a decent option for us. If you have a different need there are other options, we can consider for staying on the free option.


Manage Your Solution

From there my colleague could interact with the report by logging into


After my colleague was happy with the presentation of the data and a few more cleanup steps, I was able to setup the data refresh of the data set in Power BI. We already had a Power BI Enterprise Gateway installed on our SQL Server for another solution, so including my data set in the refresh was very simple with just a few clicks.

Now that our solution was deployed, our data stewards have logged in and subscribed to the dashboards. Every morning they get an email with a snapshot of the dashboard and a link to access the dashboard where they get direct access to the records in Dynamics or Salesforce so they can easily update those with missing data.

In summary, the Power BI platform is a great set of tools that are easy to learn. There is quite a bit of information available through various internet communities, so getting started is easy. As shown here, from idea to solution was less than one day for a very simple deliverable. The toolset can extend into much larger solutions as needed, so please give us a call and let us help you take the next step in your analytics journey within your CRM applications.

In our next Power BI post, we will discuss in more detail the step of getting your data and how to decide on Data Import Vs Direct Query.

Topics: Analytics CRM Best Practices CRM for Professional Services Microsoft Dynamics 365 Salesforce

App Innovators - Are you ready for Summer '17?

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

Recently, Salesforce sent emails to all administrators informing them of a change to the Content Security Policy that will affect Lightning Components. The intent was to give administrators and App Innovator partners time to review their components to ensure they meet all the best practices and do not run afoul of the newly enforced settings. Once the Summer '17 release is live, a critical update named “Lightning LockerService Security” will be force enabled, and any Lightning Components not meeting the new requirements may cease to function properly.

Not sure what Content Security Policies or the Lightning LockerService are? Need some help reviewing your components to ensure they’re compliant? Just want to talk to a human being? Contact us and we can help.

The body of the notice has been reposted below for your convenience:

As an admin for a Salesforce org using Lightning components, we want to notify you of an update to LockerService, that will impact your custom Lightning components with the Summer ’17 release.

What is LockerService?
LockerService enhances security by isolating individual Lightning components in their containers. LockerService also promotes best practices that improve the supportability of your code by only allowing access to supported APIs and eliminating access to non-published framework internals. For more information, see the Lightning Components Developer Guide.

What is the update?
LockerService will be automatically activated for all orgs in the Summer ‘17 release. In the Spring '17 release, the existing LockerService critical update will enhance security by enforcing Content Security Policy (CSP) to eliminate the possibility of cross-site scripting attacks by disallowing the unsafe-inline and unsafe-eval keywords for inline scripts (script-src).

What action do I need to take?
If you’d like to apply LockerService to your sandbox or Developer Edition org before the Summer ‘17 release, activate the LockerService critical update. Before the Summer ’17 release, you can manually activate and deactivate the update as often as you need to evaluate the impact on your org. To deactivate the critical update, from Setup, click Critical Updates, and click Deactivate on the critical update labeled "Enable Lightning LockerService Security."

What do we recommend?
We recommend that you test the CSP enhanced LockerService after the Spring ‘17 release in a sandbox or Developer Edition org to verify the correct behavior of your components before activating it in your production org. Before the Summer ’17 release, you can manually activate and deactivate the update as often as you need to evaluate the impact on your org. LockerService will continue to be a critical update for Spring '17.

- Internet Explorer 11 doesn’t support CSP, so we recommend using other supported browsers for enhanced security.

- When LockerService is activated in sandbox or Developer Edition orgs, you can't edit rich-text fields, and the fields are grayed out. This limitation will be removed when LockerService is auto-enabled for all orgs during the Summer ’17 release.

Where can I find additional information?

For more information, see the LockerService Overview video and the Lightning Components Developer Guide. Also, review Supported Browsers for Lightning Experience and the Lightning Discussion Forums are also a great place to get help from Salesforce and developer community experts.

For additional questions, open a case with Support via the Help & Training portal.

Is your CRM

Topics: Salesforce

Displaying External Data Using Salesforce Connect

Today's blog post was written by Kyle Dreyer, Principal Architect at Sonoma Partners.

Today we’re going to discuss a feature in Salesforce that we find is drastically underutilized. Salesforce Connect (formerly Lightning Connect) is a feature within Salesforce that allows companies to display external data without having to build a robust, complicated integration. Additionally, the data isn’t technically stored in Salesforce and therefore does not count against your data storage! The evolution of Salesforce Connect now allows the data to be editable (if desired) in Salesforce and can also be reported on. Let’s walk through how to set up the connection:

1. The first step is that the data from the external system needs to be available via an OData (V2 or V4) endpoint. You can also connect to a different Salesforce Org if desired. Note that this endpoint needs to be publicly available to the Salesforce servers.

In this scenario, I am using an endpoint that is located here.

Running a GET in a REST utility shows the following data:


After configuring the External data source, we will have external objects for People, Photos, Airlines, and Airports.

2. Go to Setup -> Develop -> External Data Sources. Click New External Data Source.

3. Populate the appropriate fields. In this example, I configured the information as follows:

Dreyer 2

There are a couple important things to note here:

  1. If enabled, there is an option called “Writable External Objects.” Selecting this is required if you wish to allow the data to be editable in Salesforce. Note that the OData service must allow data to be updated through it.
  2. Authentication – In this example, the service is “wide open,” so no authentication is available; however, Salesforce Connect allows for Anonymous, Per User, and Named Principal authentication mechanisms.

4. Click Save! You have now finished configuring your external data source.

5. After Saving, the option to “Validate and Sync” will appear. This will allow you to select which external objects to create.

Dreyer 3

6. After selecting the object(s) you want to create, click “Sync.”

7. You will now notice that you have several External Objects in your org.

Dreyer 4

8. Unfortunately, these objects are not automatically Deployed, and they are not currently available for reports. In order to fix this, you must click into each one and change the settings as shown below.

Dreyer 5

9. After this step, you may choose to create a Tab for the object(s). Once that is complete, you can start viewing the data!

10. Let’s take a look at our Airlines data from the service.

Dreyer 6

You’ll notice that this is the same data returned by the OData service.

Dreyer 7

Displaying this data is useful (and in some cases may be all that is required), but what if we want to manage the data in our back-end systems through Salesforce? Can we create a new Airline or update an existing one? Since we allowed our External Data Source to be Writable, we can absolutely do that. Let’s start by creating a new airline, called “Sonoma Airlines.”

1. Click “New” on the Airline page and input the data.

Dreyer 8

2. Clicking Save saves the record, but let’s make sure that we can view it directly through the service. I created another GET call to see if we can find this airline.

Dreyer 9

You can see that the airline has been created in the back-end system. The same concept would apply to update the data as well.

Now that you have (hopefully!) seen the value of Salesforce Connect, it would be prudent to consider whether this is a valid option for future integrations within your Salesforce org. It is very simple to configure (this demo took about 15 min) and has relatively robust features. And of course, if you need any more information or have any questions, never hesitate to contact us.

Is your CRM

Topics: Salesforce

Admin Toolkit: Advanced Process Automation with Visual Workflows

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

This blog post is written for the advanced admins out there. Ever asked to automate a process that is too complex to achieve with workflow rules or Process Builder, but you don't know Apex and you don't have a developer to help create an Apex Trigger. Try Visual Workflow!

Visual Workflow is an admin tool that is most commonly used for call scripting, but can also be used to complete more complex process automations with clicks, not code.

If you are starting to experiment with Visual Workflow, here are a few things to keep in mind:

  • Salesforce has published a Visual Workflow Guide that is a great reference and includes a few other examples.
  • If your use case requires you to automatically create Orders from Opportunities - great news! Salesforce provides some Flow templates to get you started. Check them out here.
  • Flows are subject to Salesforce governor limits, so if you expect this flow to run in bulk transactions (e.g. integrations or Data Loader updates), you may run into errors (Apex Triggers will need to be used in these cases).

To show you how you can use Visual Workflows to achieve some more complex process automations, I'll show you an example for a common use case I've heard from clients.

Use Case: Automatically creating renewal opportunities when an Opportunity is marked as Closed Won. The renewal Opportunity should be an exact clone of the original Opportunity including products, except the Close Date should be pushed 1 year out and the Stage should be reset to "Qualification." Below is a guide on how to set up this process automation.

1. Create Visual Workflow to create a renewal Opportunity. When you save this Flow,
make sure that you indicate that it is an Autolaunched Flow, so that you can trigger it from a Process Builder Flow (details in step #2). After saving the Flow, also make sure to activate the most recent version.

Pfeiffer 1

a. Create a Fast Lookup (see details below) to pull back the Opportunity details for the closed Opportunity. NOTE: This element should be set as the Start Element for the Flow.

Pfeiffer 2

i. Create a new Variable to store the Opportunity Id of the Closed Won Opportunity. NOTE: This variable will be passed into this Flow, so it will need to be set as an Input variable.

Pfeiffer 3

ii. Create a new sObject to store the Opportunity details.

Pfeiffer 4

b. Create a Fast Lookup (see details below) to pull back the Opportunity Line Item details for the given Opportunity.

Pfeiffer 5

i. Create a new sObject Collection Variable to store all of Opportunity Line Items from the closed Opportunity.

Pfeiffer 6

c. Create a new Assignment element to update the sOpportunity sObject with any of the values you'd like to update on the Renewal Opportunity (see example below) Opportunity with Renewal Values.

Pfeiffer 7

i. Create a new Formula to update the Opportunity Name to append "RENEWAL" to the end of it.

Pfeiffer 8

ii. Create a new Formula to update the Close Date to push it out 1 year.

Pfeiffer 9

d. Create a Fast Create to create the Opportunity using the values in the sOpportunity variable.

Pfeiffer 10

e. Loop through each line item in the cOpportunityLineItems collection variable.

Pfeiffer 11

i. Create a new sObject variable to store the current Opportunity Line Item in the collection variable.

Pfeiffer 12

f. Create a new Assignment element to update the sOpportunityLineItem sObject with the Opportunity Id of the Renewal Opportunity. NOTE: The Id of sOpportunity will be set with the Id of the newly created Opportunity in Step d.

Pfeiffer 13

g. Create an new Assignment element to add the sOpportunityLineItem to a new sObject Collection Variable. You will use this new collection variable to create the renewal Opportunity Line Items.

Pfeiffer 14

i. Create a new sObject Collection Variable to store the updated sOpportunityLineItem's.

Pfeiffer 15

h. Create a Fast Create element to create the Opportunity Line Items using the values in the cRenewalOpportunityLineItems collection variable.

Pfeiffer 16

2. Create a Process Builder Flow to automatically launch the Visual Workflow you just created. When you configure the Flow action, make sure that you are mapping the Opportunity Id to the vOpportunity variable in the Flow.

Pfeiffer 17

3. Voila! You're done! Make sure the Process Builder is activated and test that it's working as you expect. This is just a simple example, but you can use these principles for automating your business processes. Happy customizing!

Is your CRM

Topics: Salesforce