Learn how to build innovative, insightful, and productivity-boosting applications using Excel as the user interface. You can build innovative apps that make Quote-to-Cash and CRM data easier to analyze, migrate, and work with.
Show Excel is sitting on SFDC, bi-directional.
Lightning --- transposes into Excel on top of it. Same data from lightning to Excel
EXCEL INSIDE SALESFORCE.
Creating a dashboard in Salesforce is easy to do. And most of the time we are asked to add information to existing or new dashboards. As the experts in Salesforce, we are given discretion about how to build the dashboard.
This isn’t a presentation about a normal dashboard. This is a presentation about an Executive Vice President of Sales with a strong management background. He knows what he needs to see to guide his sales efforts. He even designed his own dashboard in MS Excel. When he designed it, he was not constrained by any of the Salesforce relationships or built in data validation. He simply expects his Salesforce team to provide him with the tolll
His objective – discuss with each manager:
“How is each or your reps doing in sales compared to the same time month last year”.
“Are they conducting campaigns / seminars to find new prospects?”
“Are they conducting campaigns to find new clients?”
“Are they following through on prospects to create sales?”
When he presented this new dashboard to his Salesforce team, he specifically stated it has to be as up-to-date as possible. And he wanted it exactly the way he designed it in Excel. When told it takes up to two hours to run all the necessary reports and consolidate the information in Excel, he asked: “Can you recalculate it every weekday at 5:00 AM and again a 3:00 PM?”
How does the normal Salesforce Admin respond? “good thing I only live a few blocks away. I can come in, update the report, then go home for breakfast”?
Better idea: Launch X-Author from Salesforce!
The Salesforce Admin’s dilemma:
All of the sales reps in this reporting have Salesforce licenses. But they are outnumbered by sales reps who are not Salesforce users.
Years ago the company combined these groups for reporting purposes. All sales rep information is kept in a custom object “Sales Reps”.
The Sales Reps object has a master-detail link to another custom object, “Managers”.
When it comes to tasks, only Salesforce users have tasks.
There is no link between Salesforce users and the Sales Reps or Managers objects.
Here are the Salesforce objects with necessary information. Let’s add the relationships. This gets a bit complicated and there are a number of places we’d like relationships but they don’t exist. If we add relationships it requires adding lookup or master-detail fields to the objects. And we have to make them required. This further complicates our users’ use of Salesforce.
There has to be a better way.
In X-Author we set up an Auto Execute Action flow to prepare the report.
X-Author query on user to get User’s ID.
Calculate updates formula fields.
X-Author query on Sales Reps, filters based on the manager’s ID.
X-Author queries on sales, filters on signature date and sales rep.
X-Author query on Campaigns, filters on sales rep and campaign start date.
X-Author query on Tasks, based on Sales Rep User ID.
X-Author query on Goals, filters on sales rep name and date.
VBA / Macro completes the report.
Query & Display for user ID & Name
Formula checks user. If user is X-Author developer, then a default manager is selected as “Allows Testing”. Otherwise, the manager running this app is the value in “Allows Testing”
Query & Display for list of sales reps who report to the manager.
In this example, sales reps may or may not be Salesforce users, so a custom object is set up for sales reps and another custom object for the rep’s manager. This is a required lookup on the sales rep object.
We need two queries and two display maps.
The first is for the current month, prior year sales by sales rep.
The second is for the current month, current year sales by sales rep.
When using “in” for a value range, be sure to select a starting cell above the X-Author range.
“Application Recvd” is that same as a sale.
The period starting and ending dates are calculated on the main tab.
In this usage, Campaigns are sales presentations lasting for one day or less. The primary sales rep is the sales rep who coordinates and ensures the success of the campaign. Other sales reps may back up the primary’s efforts.
In this case we want all tasks assigned to the sales rep, not just those associated with a current Account, current Campaign or other object. Use the sales rep names already retrieved. Be aware of the possibility of misspellings of names. Use a unique identifier (record owner, etc.) if you can.
You can probably see a pattern here. We used the manager to get a list of sales rep names. We used the list of sales rep names to get their sales (Accounts/Opportunities), their scheduled Campaigns, their scheduled Tasks, and their assigned goals.
It is not necessary to establish lookup relationships in Salesforce to accomplish this reporting because we have a unique one-to-many relationship between the sales reps and all the measured factors.
I keep a number of user documents (MS Word) explaining how to accomplish various activities. I have one word document which explains how to copy an existing X-Author custom button and repurpose it for another X-Author application.
When the manager clicks on [Dashboard Managers], the get redirected to Excel and the report opens. The information is real time.
Now the manager can have a data supported conversation with the VP and with each of the manager’s sales reps.
The sales information comes from Accounts/Opportunities.
The sales goals come from the Goal custom object.
The campaigns scheduled come from the Campaigns object.
When Leads/Opportunities/Accounts are created, there is a lookup field to the Campaign object. That allows the user to see the number of opportunities and sales for each campaign.
The initial calls, follow up calls, and meetings all come from the Task object.
Again … all of this without having to crate lookups or master-detail relationships in Salesforce.