Pages

Sunday, July 10, 2022

CRM Analytics: Only in Recipe and not in Dataflow



Here are a few things you can do in  Recipe, but not in Dataflow.

Rename and Save as
Yes, you can download JSON in dataflow and upload it to a newly created dataflow with a new name.

Add Description in each node
Unless you have the EADashboardHelper extension, you can't add descriptions in Dataflow

Join (left, right, outer, inner, cross)
This has been the power of recipes from the beginning

Preview data
Some users would like to see the data after transformation without the need to run it

Column profile
Analyze data at a glance (with a sampling of data)

Direct Input data
If only the objects are not synced to the CRM Analytics platform, this useful to get real-time data from Salesforce

Extract data
Able to write data to Output Connection and CSV

Easier to aggregate, bucket, trim, substring, replace, split, concatenate
You still can do those transformations in dataflow, but just easier in the recipe

Rename field label and API name
You can create a new field using computeExpression in dataflow, but cannot rename the existing field

New machine learning transformations not in dataflow
- Detect Sentiment
- Time Series Forecasting
- Predict Missing Values
- Cluster

A few other things worth mentioning
- Prefix in Dataflow = 02K, recipe: 05v
- Unable to run recipe when there is terminating node without write dataset
- Edit recipe in JSON is complicated compared to dataflow


Is anything else not listed above or incorrect? Comment below so I can add them, thank you!


Reference:

Thursday, June 30, 2022

Salesforce: Query Org ID and Sandbox

You can get your salesforce Org ID and other info from Company Information in the Setup menu. But, if you need to get the data from SOQL, here is the sample query

SELECT Id, Name, InstanceName, DefaultLocaleSidKey, TimeZoneSidKey FROM Organization


While for Sandbox info, you can go to the Sandboxes in the setup menu in Prod. The same, you can use SOQL to get the information, but you need to use Tooling API. 
SELECT Id, SandboxName, Description, LicenseType, HistoryDays FROM SandboxInfo

The Id returned here is SandboxInfo ID, not the Org ID and unfortunately, we can't get the Org ID.



You will get the same result if perform query with Rest Explorer from Workbench
GET /services/data/v53.0/tooling/query/?q=+Select+Id,SandboxName,LicenseType,Description+from+SandboxInfo



Reference:

Wednesday, June 8, 2022

Tips for Salesforce Data Cleaning

Data is arguably one of the most important aspects of a business. Good data helps drive decisions that improve products, services, and customer experiences. If your organization has bad Salesforce data, you will start to notice inconsistencies down the line that can challenge marketing campaigns, sales initiatives, reporting, and analysis.

Data naturally decays over time, so without a proper cleanse that fixes recurring errors, bad Salesforce data will continue to worsen and hinder your business. In this blog, I’m going to identify common types of bad data, why you should complete Salesforce data cleaning, and give you tips for improving these processes.

What is bad Salesforce data?

If you use Salesforce, you may already notice data-related problems due to input error, poor data collection methods, or natural data decay. Bad data, like the types listed below, has been known to cost organizations an average of $13 million in revenue each year. 

These are the most common types of bad Salesforce data that you may encounter:
  • Duplicates: Multiple different records that have similar or the exact same data.  
  • Inaccuracy: Typos, data entry errors, or fields that are filled in incorrectly.
  • Irrelevancy: Records or contact information that is outdated or no longer relevant.
  • Inconsistency: No standardization with formatting fields within records.
  • Incomplete: Missing data in key fields, such as company size, industry, or title.


The reasons for Salesforce data cleaning

Good data improves productivity and insights, which helps organizations reach business goals and stay ahead of the competition. Day to day, good data can help your team make smarter decisions that drive growth and revenue as well as increase overall efficiency. It can also help your team with audience targeting that increases the effectiveness of campaigns. 

Clean data is good for your customers as well. It can help build better customer relationships when you know exactly what they need, so your team can offer more appealing services or products.

And finally, good quality data open your organization to greater and more targeted opportunities that increase your competitive advantage and profitability. 


Five tips for a Salesforce data cleanse

Salesforce data cleaning is an ongoing process that helps your business improve data quality over time. Follow these four tips to increase the effectiveness of your Salesforce data cleanse.

Identify root causes

The first step in cleaning Salesforce data is to identify where the majority of errors occur. Is your team inputting data manually and making mistakes? Or are you relying on a data collection system that doesn’t have the right integrations with your business systems? 

These inconsistencies or errors within your current data collection methods may be the cause of bad data. Catching bad data at the source will help you determine what needs to be changed or improved. This initial data audit provides a clear path toward quality data, whether it be through more team training, better software, improved data governance, or something else. 

Choose the right tools

Whether your organization deals with hundreds or thousands (or even millions) of datasets, having the right tools to effectively collect and manage this data is critical to maintaining it. Manual data cleaning for datasets this large is also generally too big of a task for a single data scientist or administrator. 

Having the right data cleaning tools in your systems accelerates cleaning processes and minimizes manual tasks. These tools can automate cleaning tasks, with specific functions that target and correct data quality issues, such as duplicates or missing values.

In addition to adding data cleaning software, implementing an integrated web form and data collection platform like FormAssembly helps ensure that data entering your Salesforce Org is clean and high-quality from the start. 

Standardize processes

The phrase “garbage in, garbage out” is just as relevant to data collection as any other process. Manual processes that begin with a customer filling out a paper form and end with an employee inputting data by hand into Salesforce are prone to numerous errors. 

These processes make it virtually impossible to have consistent validation or standardization of data collection methods. Adopting online forms for streamlined collection, training employees on validation standards, and using data cleaning software help eliminate many of these data errors. 

Setting standards for data ensures that all data entered into Salesforce through a web form follows the same formatting (email, industry type, address, etc.). Standardization minimizes the discrepancies that lead to duplicate records and helps maintain data quality over time.

Enforce rules

Without rules that are set up correctly, data will never be cleaned or completed. Users are joining and leaving the company, which also means the new users may not be aware of existing rules. Manual intervention wastes a lot of time for small teams and is nearly impossible for larger teams.

Setting mandatory fields, dependency fields, and validation rules are easy and can be implemented by Salesforce admin within minutes.

Complete routine audits

Once you have completed a comprehensive Salesforce data cleanse, the process does not stop there. Without proper maintenance, data errors and data decay will inevitably continue to occur. Conducting routine audits means that you will discover and resolve issues faster, while providing your organization with an in-depth look at how data is being processed and stored.

A data quality audit should always include error identification, error resolution, and improved standardization protocols. These audits, when completed regularly, keep your data clean and give your team the information they need to improve processes, analyze accurately, and maintain productivity. 


Clean data starts at the source

Getting quality data into your Salesforce Org efficiently and accurately is the next step in keeping data clean long-term. A data collection platform with advanced Salesforce integration like FormAssembly helps ensure clean, high-quality data from the source—online forms. 

Using FormAssembly’s web form builder, you can easily create Salesforce-connected forms that create or update data for standard and custom objects, prefill forms, and more. In addition, FormAssembly’s newest solution, Workflow, makes it possible to build entire data collection workflows to further reduce errors, accelerate processes, and increase productivity for your team. 


Learn more

With quality data available to leverage, your team has more time, knowledge, and resources to spend driving initiatives that help increase revenue. To learn more about how FormAssembly helps with clean Salesforce data collection, visit their website or find them on AppExchange.





Tuesday, June 7, 2022

CRM Analytics: Dashboard URL

CRM Analytics Dashboard URL Id starts with prefix 0FK, which is shared between dashboard and lens. We can share the dashboard with users in Analytics Studio or Analytics tab, although ideally, Analytics Studio is intended for the dashboard builder. The Analytics tab will let users stay in the Lightning app.

When working on a dashboard in Analytics Studio, we will see the URL, for example: 
https://domain_name.lightning.force.com/analytics/dashboard/0FKB0000000LU1AOAW

If we share the above URL with a user, the dashboard will be opened in Analytics Studio.

If we only put the Id after force.com/ such as https://domain_name.lightning.force.com/0FKB0000000LU1AOAW
this will be translated to
https://domain_name.lightning.force.com/lightning/page/analytics?wave__assetType=dashboard&wave__assetId=0FKB0000000LU1AOAW&wave__folderId=00lB0000000JlslIAC
which will open the dashboard in the Analytics tab

while a lens will be translated similarly, with the difference in the assetType parameter, such as
https://domain_name.lightning.force.com/lightning/page/analytics?wave__assetType=lens&wave__assetId=0FKB0000000NQfJOAW&wave__folderId=005B0000003vvjQIAQ
this will open the lens in the Analytics too

There is another option to open the dashboard in the Analytics tab
https://domain_name.lightning.force.com/lightning/r/Lens/0FKB0000000LU1AOAW/view
this will be translated as
https://domain_name.lightning.force.com/lightning/page/analytics?wave__assetType=dashboard&wave__assetId=0FKB0000000LU1AOAW&wave__folderId=00lB0000000JlslIAC

Clicking the Share button in the dashboard will give us 2 options, and the difference is only at the last parameter which is "analyticsContext"

Analytics Tab
https://domain_name.my.salesforce.com/analytics/wave/dashboard?assetId=0FKB0000000LU1AOAW&orgId=00DB0000000EHcW&loginHost=ap10.salesforce.com&urlType=sharing&pageId=5dc8d0db-7e48-4964-8607-294b016f955a&savedViewId=8wkB0000000L9zkIAC&analyticsContext=analyticsTab

Analytics Studio
https://domain_name.my.salesforce.com/analytics/wave/dashboard?assetId=0FKB0000000LU1AOAW&orgId=00DB0000000EHcW&loginHost=ap10.salesforce.com&urlType=sharing&pageId=5dc8d0db-7e48-4964-8607-294b016f955a&savedViewId=8wkB0000000L9zpIAC&analyticsContext=analyticsStudio




Friday, May 27, 2022

Salesforce: Retrieve Custom Field Created Date

If you notice in Salesforce: Retrieve all fields from an Object, all options to retrieve all fields will not include Created Date, but only Last Modified Date, so this blog will share how to get the custom field creation date.

You need to query the CustomField object and select Use Tooling API.

Sample query: SELECT DeveloperName, CreatedDate FROM CustomField WHERE TableEnumOrId = 'Account'

use Salesforce Inspector

use Developer Console

Description:

  • DeveloperName field in the Tooling API does not include the suffix __c, so you need to manually add __c to get the API Name, e.g. DeveloperName = Region --> API Name = Region__c
  • TableEnumOrId field, for the standard object, it would be the object name e.g. Account, for custom objects, it would be the object Id, starting with 01Ixxxxxx, you can easily get the ID from the URL of the object from Object Manager.



Reference:




Tuesday, May 17, 2022

Salesforce: Retrieve List View columns and filters

Five years ago, I blog retrieving List View Sharing to get the list of users, groups, and roles that can access list views. This blog is to continue to get the columns and filters.

Open Workbench and from Rest Explorer, example: /services/data/v53.0/sobjects/Case/listviews/00B0o00000Fq3xQEAR/describe

Make sure to update the object name in red and List View id in orange.

To get the list of columns, click the "Show Raw Response" link. 


Copy the result of the column and use JSON to CSV tool to convert it into CSV or Excel file. Some of the columns here are added by the system and do not appear in the list view, such as Id, Record Type Id, etc.

To get the filters; looks for the query underneath, this will also show the fields, filter, and order in SOQL format:

SELECT CaseNumber, Contact.Name, Subject, toLabel(Status), toLabel(Sub_Status__c), toLabel(Priority), CreatedDate, Owner.NameOrAlias, RecordType.Name, Id, RecordTypeId, CurrencyIsoCode, LastModifiedDate, SystemModstamp, Contact.Id, ContactId, Owner.Id, OwnerId FROM Case WHERE IsClosed = false AND (Contact.Name != null OR Status = 'Escalated') ORDER BY CaseNumber DESC NULLS LAST, Id DESC NULLS LAST

** Use toLabel(fields) to translate SOQL query results into the user’s language.

Here is the original list view:


Page-level ad