Skip to main content

Posts

Showing posts from 2020

Einstein Analytic Notes: Binding

Binding type: selection and result. Selection : a user need to click on somewhere in the dashboard. Selection interaction can be used to: Specify interactions between widgets which use queries from different datasets. In addition to filters, specify the measures, groupings, and other aspects of a query. Set widget display properties for some widget types (number and chart only Result : user does not need to click on dashboard or there is hidden step. A results interaction is typically used to: Define intermediate results for a complex calculation. For example, to calculate the total opportunity amount for the top-five products, use one query to calculate the top-five products. Then use those results to filter another query that calculates the total number of open cases for each product. Set an initial filter selection for a dashboard based on a characteristic of the logged-in user, like their country. Dynamically change the display of a widget based on the results of a query. For examp

Einstein Analytic Note: Data layer/ Dataflow vs Recipe

Dataflow should be build from the lowest grain data source. All lookup fields could be added in the dataflow. Digest node: filter is not recommended to add in digest node --> use filter node. dimension field should have N/A as a default value for grouping. Compute Relative: column based calculations (last/first day, latest opty by account, biggest opty by country, change from previous amount/stage/...) Compute Expression:Row based calculations (margin, same row date calculations, saql case statement...) Recipe: transform dataset. Tips: Combine datasets in data layer --> reduce dependency on saql Add derived fields in data layer --> reduce dependency on Json binding Add common lookup fields to datasets --> reduce dependency on Json binding Resource: Choosing Dataflow or Recipe  (tbh, I dont think I could choose which one I should use if I watch this video solely)

Passing record id in Lightning Flow lookup field for List button in Related List

 Use case: Create a list button from Account related list and pre-populate the Lookup field   Create an input variable Acctid to store Account id and get the Name of from that record id. Check "Manually assign variables (advances)" and put the Id and Name from the found record.  Debug: Create List Button in Competition Battle Card and add it to Account related list

Tracking last activity for Marketing re-engagement

Tracking the last date a Sales person has a task or sends out the last email could be very helpful not only for Sales Managers to evaluate team members' effort but also for Marketing Manager to plan their campaign.  Salesforce provided Last Activity which is the date when a user last did something related to the record. It could be the latest Due Date of the Closed Tasks on a record or the latest Date of Events on a record. However, this field is only visible on list views and reports. And if your org has Einstein activity capture and assign this permission to your users, the Last Activity is probably not accurate anymore as this field only log the activity manually created in Salesforce.  Then Activity Metrics fields come into play. They show a summary of sales activities that were added to Salesforce manually and by Einstein Activity Capture(EAC). However, the emails and event captured by EAC are only available in Lightning Experience and just on list views and reports. And it

Assign Live Agent permission notes

As the Live chat team is changing overtime and sometime a new Chat user was not set up properly to get them up and run. This post is just a note or reminder for all permission and configuration an admin has to do when assigning Live Agent permission: 1. Check Service Cloud User and Chat User on User Details. 2. In User Detail, assign Live Agent Representative and Sales Console User permission to them. 3. Assign new user in Live Chat queue 4. Add new user to Chat Agent Configurations 5. Add new user to Presence Configurations

The flow failed to access the value because it hasn't been set or assigned error

I'm sure that many Salesforce admin already encountered the this Process builder error when building automation referencing a field on a related record (aka lookup field): ' The flow failed to access the value because it hasn't been set or assigned ' and came across this Salesforce document . However, it does not help in case of referencing a User lookup field. ------------------------------- Use case: when a lead's ownership is transferred to another user, respective fields are updated based on their profile.  Error element myDecision (FlowDecision). The flow failed to access the value for myVariable_current.Owner:User.ProfileId because it hasn't been set or assigned. --------------------------- Workaround:  Have a condition to check if the record is assigned to a user or a queue before checking their profile id for respective actions. Records owned by user: BEGINS([Lead].OwnerId, "005") Records owned by queue: BEGINS([Lead].Owne

Create a custom button and link default field values to a new record

The goal is to make it more convenient for Sales team to create a Lead from a Contact without manually entering all required fields. Use cases: Create leads from DQed Contacts (legacy records) . Create leads from Contacts provided by channel team. Which information will be pre-populated? Name (First/Middle/Last Name) Title Company Phone Email Best practice: Use global search to find if there is an existing contact Create a lead from that contact. If that lead is moved to SAL, select “Choose Existing” when converting ------------------------------- /lightning/o/Lead/new?defaultFieldValues= Company={!Account.Name}, Email={!Contact.Email}, Title={!SUBSTITUTE( Contact.Title , ",", "-") }, Phone={!Contact.Phone}, MobilePhone={!Contact.MobilePhone}, HasOptedOutOfEmail={!IF(!Contact.HasOptedOutOfEmail = true, true, false)}, FirstName={!Contact.FirstName}, LastName={!Contact.LastName}, MiddleName={!Contact

SEND MASS EMAILS FROM SALESFORCE LIGHTNING COMPLETE INSTRUCTION

Folks, Finally Salesforce just makes some huge improvement on Mass Emails in Lightning in their Spring 20 Release. I come up with the final instruction for my team to make their life easier without creating different list views or campaigns everytime they need to send out the emails to the leads/contacts. Create Lightning email template:  Click the App Launcher icon (9 dot icon on the left) and search Email Template : You can either choose to create a new template or use the current existing templates: Choose All Templates and search for the templates that you’d like to use for sending emails: Create a new template: Click New Email Template Choose Related Entity Type (1) , in this case we’re sending out Emails to Contact list, choose Contact as an object Select folder (2)   to save this template or it will be saved to your Private Email Template by default  To insert Salesforce fields to this template, choose the Curly brackets icon and sea