Pages

Monday, April 19, 2021

Empowering People and Businesses Through Technology

This blog appeared first on https://www.salesforce.com/ap/blog/2021/04/meet-trailblazer-johan-yu.html

At Salesforce, Nichola Palmer works with customers to bring their stories of innovation and transformation to life. In this blog series featuring Trailblazers, Nichola introduces Johan Yu, a Salesforce MVP, business systems architect, blogger, and author, based in Singapore. Johan loves using the power of data for the benefit of all business stakeholders.

In the remote Indonesian village where Johan Yu grew up, electricity was a rare luxury. Therefore, all tasks connected to his father’s farming business were done manually. Along with the farming itself, these included record-keeping of expenses, crop production levels, and sales accounts.

At school, Johan began to learn about computers. Very soon, he recognised the power such technology would bring to his father’s business, as well as his community. Johan wasn’t thinking of anything sophisticated like artificial intelligence (AI), machine learning, or robotic automation. Such technology was still a long way off. He could simply see that certain jobs were better left to machines, enabling humans to be better at what they do.

“At my high school, we had a computer lab and I became very interested in computers,” says Johan. “Once my teachers knew I was interested in computer science, they guided me on a path to study at university in Jakarta.”

Johan earned a Bachelor of Computer, Management Information Systems, at Jakarta’s BINUS University. Then, he took a Master of Management, Information Systems, at BINUS University and Australia’s Curtin University. 

While studying,  Johan realised his dream could come true. As a child, he had imagined using the power of computing to help businesspeople like his father. Today, he is a business systems architect and Salesforce MVP, who works with businesses to solve problems using technology.


Becoming “skilled, more competent, and faster”

For seven years during and following university, Johan worked for an insurance firm. Then he moved to Sydney, Australia, and took a job with the country’s first Salesforce partner. Immediately, the Salesforce platform made sense to him. It wasn’t so much about what it did, but more about what it allowed him to do.

“I had come from using basic systems to building applications,” Johan says. “And I realised there were a lot of things that I thought IT professionals shouldn’t have to do any more.

“I saw that we could focus more on how technology can enable the strategic needs of the business, rather than just the infrastructure required. The capabilities of the technology enabled us to think about the business in a different way.”

The capabilities of the Salesforce platform made him feel “skilled, more competent, and faster”, Johan says. In the past, he had never experienced a strong community around a platform or brand. So when he had challenges, it was sometimes difficult to find solutions. But once he discovered how active the Salesforce community was, he realised he was able to find answers immediately, from Trailblazers all over the world.

“I appreciated the speed to execute,” he says. “In the past, I had to spend a long time setting up the server, the database, and more. But the Salesforce platform is so convenient. I could just start working on projects immediately. And reach out to the community for help when needed.”


Success = user experience + empowerment

Johan is currently working in a multinational company, from his home in Singapore, with more than 10,000 people around the globe. How does he ensure they’re all making the most of a platform or application that has been developed for them? 

“We try to make sure apps are simple for users to understand and interact with,” he says. “We don’t want to put too much effort into documentation. If it is user-friendly, then it makes sense. If it’s not user-friendly, it’s just wasting money.”

Importantly, Johan says, technology is not about replacing people. Its true power, as he realised when he was a young boy, is in making people even better at what they do.

“In the corporate world, we don’t use AI to replace people. We use it to enable people,” he says. 

“Our people can use AI to see how likely it is that a sale will close. The propensity to close is based on historical data and on the experience of similar customers. So, the AI helps salespeople to prioritise their work. We see that it makes them more successful.”


Leading the Salesforce community in Singapore

In Singapore, Johan is well-known as a generous leader within the Salesforce community. He is considered a knowledgeable expert, who spends a great deal of time helping others to find solutions to powerful business challenges.

This assistance includes a Salesforce-themed blog site, managed and written by Johan, which attracts more than  2,200 people every day from around the world. Most of his visitors are not from Singapore. They come from the USA, UK, and India. His reputation has spread around the globe.

The prolific sharer of knowledge has also written three books. They are Salesforce Reporting and Dashboards, Salesforce Lightning Reporting and Dashboards, and Getting Started with Salesforce Einstein Analytics.

“One of my passions is sharing knowledge with other people,” Johan says. “It’s something I really enjoy. The community has always given me answers fast and shared its knowledge, so I like to do the same.”



Sunday, April 11, 2021

Salesforce: Query User Assigned with Package License

Scenario: your company purchased X licenses for a package software installed in Salesforce, what is the easy way to extract users has been granted with that package software?

Solution: open the Package Details then click the "Manage Licenses" button. However, this is not easy when you have thousands of users.

Alternative solution: use SOQL, so we can extract the data easily.

1. Query the Package Id

You need to know the Namespace Prefix of the package to get the Package Id. You can get the Namespace Prefix from Package Details, including allowed licenses and used licenses.

SELECT Id, NamespacePrefix, AllowedLicenses, UsedLicenses, CreatedDate, ExpirationDate, Status FROM PackageLicense ORDER BY NamespacePrefix


2. Query User Package License object

SELECT Id, PackageLicenseId, CreatedById, CreatedDate, UserId FROM UserPackageLicense

By query UserPackageLicense object and filter with PackageLicenseId, you can get :
- UserId: user assigned with the license
- CreatedById: who grants the license
- CreatedByDate: when is the license granted

But unfortunately, you can't use relationship query for UserId to get the name and profile and so on, so you need to query to User object again, subscribe for this KI.




Monday, April 5, 2021

Search in Lightning Experience

Here a few items to note related to search in Lightning Experience:

  1. Not all standard objects and standard fields are searchable in Salesforce, check out this article, and this article to make additional fields searchable.
  2. For custom objects, Allow Search option must be enabled.
  3. You can filter your search result to a specific object.
  4. Limit the number of results by entering more specific search terms. For example, enter the full name and company (Mike Jones Salesforce). 
  5. As you type, you will see suggested records:
    • Recently accessed items
    • Results that match Name field values
  6. After a record is created or updated, it can take a few minutes for the new text to be indexed and become searchable. A record doesn’t show in the search results until it’s in the index. Wait a few minutes and search again.
  7. The search engine only returns results you have permission to view.
  8. Ensure the object has a tab created. Objects without a tab aren't returned in search results, Tab visibility for the affected User's assigned profile is set to 'Default On' or 'Default Off' and not Tab Hidden.
  9. If your search contains punctuation, phone, email, or special characters and you’re not getting the right results, try your search with white spaces in place of the punctuation, check out this article.
  10. Formula fields are not searchable.
  11. The field that contains the keyword does not need must be in the page layout.


Reference:



Sunday, March 28, 2021

Salesforce: Lightning Email Template

There are 2 permissions related to the Lightning Email Template:

  1. Create Folders for Lightning Email Templates
  2. Manage Public Lightning Email Templates
Both of the permission names above are obvious on what permissions are given by enabling each of them.

Folders and Enhanced Sharing

If Folders and Enhanced Sharing for Lightning Email Templates have not been enabled, navigate to the Setup menu and search for Lightning Email Templates.

Once enabled, the email template folder and sharing access will similar to the report and dashboard folder, users with the above permissions will be able to:

  • Create folder and sub-folder to store Lightning email template
  • Share folder by user name, roles, public groups, territory
  • Share folder with access: manage, edit, view

Create Folder and Email Template

Navigate to the Email Templates tab, if you do not see it, click the 9-dots icon and type Email Templates. From here, you can create a New Email Template and New Folder. To create Sub Folder, open a folder and click the "New Folder" button, access to users in the subfolder will follow access given to the main folder.

Once the folder created, you can give the folder access to your team members, then start creating email templates. You should insert merge fields to increase your user's productivity by typing fewer words when sending email, sample:


Make sure to select the correct Related Entity Type, store it in the right folder, and make use of the merge field function.

You also can add files into the email template, when the user selects the email template, those files will be automatically added as attachments.

Additionally, users can store the email template in the Private Email Templates folder, so no other users can access or change it.


Using Email Template

In this sample, the email template created is for Case, make sure Email is added in Lighting Action on the Case page layout.

Open a case, click the Email tab, then select the email template created in the previous step.


Click the 3rd icon to insert an email template, including adding files as email attachments (1st icon), adding merge field (2nd icon), preview email (4th icon), clear and revert email template selected (5th icon), and pop out the email editor (6th icon).




Monday, March 15, 2021

Salesforce: Adding Signature in Email

It is pretty simple to add an email signature in Salesforce, so all email sent out will have your signature at the bottom of the email. Click your avatar, select Settings then My Email Setting.


Adding Image and clickable links

However, many users would like to add the company logo or special image in their email signature, how to add this? 

You can't simply copy and paste the image to the signature box. So, a little effort here, you need to upload the image to "somewhere" so it is available for the public, such as https://inspireplanner.com/wp-content/uploads/2020/06/SimplySfdc-logo.png

Or, you can upload the image to Files in Salesforce, here is the step

1. Go to the Files tab and upload the image
2. Open the image and click Public Link
3. Click the "Create Link" button, then click the Create button
4. Copy the link, e.g. https://ap8.salesforce.com/sfc/p/90000000KY45/a/0o000000Qswm/mQ0LPPezg1w5wZB7QPMTN_u8.gneeZsOR7JHNdzeakY
5. Open the link in a new browser tab
6. Right-click and select "Open image in new tab", copy the URL from the new tab, e.g. https://c.ap8.content.force.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0680o00000JjuVS&operationContext=DELIVERY&contentId=05T0o00000zNw6g&page=0&d=/a/0o000000Qswm/mQ0LPPezg1w5wZB7QPMTN_u8.gneeZsOR7JHNdzeakY&oid=00D90000000KY45&dpt=null&viewId=

Now we can put the URL into our email signature, but before that let us learn a bit of basic HTML

<img src="img_girl.jpg" alt="Girl in a jacket" width="500" height="600">

The above is an HTML sample to show an image on the web browser, including our email signature. We can replace "img_girl.jpg" with our long URL from step (6), replace alt value, and remove width and height for the original image size.

So, here the email signature result



Let us reduce the size of the image and add some clickable links by tweaking the HTML
Regards,
<b>Johan Yu</b>
Visit <a href="https://www.simplysfdc.com">SimplySfdc</a>
Click here to <a href="mailto:yujohan@mail.com">email me</a>
<img src="https://c.ap8.content.force.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0680o00000JjuVS&operationContext=DELIVERY&contentId=05T0o00000zNw6g&page=0&d=/a/0o000000Qswm/mQ0LPPezg1w5wZB7QPMTN_u8.gneeZsOR7JHNdzeakY&oid=00D90000000KY45&dpt=null&viewId=" alt="my logo" width="275" height="56">








Friday, March 12, 2021

Adding Image to Salesforce

Adding Image to the Lightning page

This is actually pretty simple:

  • add a Rich Text component in Lightning App Builder
  • copy the image from a browser
  • paste into the Rich Text component 
Bonus point, since this is a component, you can make use of "Set Component Visibility" to show/hide the Rich Text component based on the record field value or device or user detail or permission. Also, can use filter logic to show/hide the component.

In the rich text component, you can combine this formatted text and additional images.



Adding Image to Page Layout

Salesforce does not have a field with the type = image, however, we can make use formula field return text with the Image() formula. 

IMAGE(image URL, alternate text [, height, width])

You can enter any URL into the image URL, such as: 
IMAGE("https://1.bp.blogspot.com/-47gF2_GhWPI/YETO_7zJZlI/AAAAAAAALRs/LfNRxwKvq3U7GeJXuu4d9HG2pzUjAPAZwCLcBGAsYHQ/w400-h100/sc%2Butf8.png", "Hello", 157, 627)



or simply populate the Image URL and alternate text for the parameter
IMAGE("https://1.bp.blogspot.com/-47gF2_GhWPI/YETO_7zJZlI/AAAAAAAALRs/LfNRxwKvq3U7GeJXuu4d9HG2pzUjAPAZwCLcBGAsYHQ/w400-h100/sc%2Butf8.png","Hello")



However, the above image is public or depends on external storage. We can make use of the Salesforce library to store the images, check out this article


Static Resources
Another option is to load the image as Static Resources.

IMAGE("/resource/This_is_image", "Hello")



Since this is a formula field, you can make use of IF() function to determine which image to show based on the criteria.


FREE Images Components 📷 by SharinPix

FREE Images Components 📷 by SharinPix is a native Salesforce picture management based on Salesforce images capabilities. Use the components to display images on a record page. Choose from a banner format, photo album, slideshow or a slider. You can even upload images from the components as well!

Check out this component from AppExchange, or the paid version Image/Photo Management for Salesforce for more features.




Sunday, March 7, 2021

Einstein Analytics: Upload Excel File with Special Characters

Use case: you received an Excel file that contains characters not in English that need to be loaded as a dataset in Einstein Analytics, here an example:



But since Einstein Analytics only take CSV file, you need to save the Excel file into CSV file. When you open the CSV file with a text editor, the multibyte characters such as Chinese, Japanese and Korean become "?", while extended ASCII characters such as ö are maintenance.



When we upload a CSV file to Einstein Analytics, by default, the File Encoding is UTF-8.


This will cause that special characters from extended ASCII not encode properly.



By changing the File Encoding to US-ASCII, this will solve the issue of characters in extended ASCII, but not for multibyte characters. So, if your data source does not have multibyte characters, this approach will work.



CSV UTF-8

If you are aware of when do Save As in Excel, there is an option to save as type "CSV UTF-8" (instead of just CSV). Here is the result when open the CSV file from the same Excel file with a text editor



Now, let us upload this CSV file to Einstein Analytics and keep the file encoding to UTF-8.







Friday, February 26, 2021

Salesforce: Lightning Record Page

What is the Lightning Record Page? 

Lightning Record Page is not the same as Page Layout, it is more than the Classic Page Layout.


From the above screenshot:
  • Red box = lightning record page
  • Blue box = page layout

Page layout (under the Detail tab) is part of a lightning record page. Page layout is required to show fields of the object, until Dynamic Forms widely available.

The "Related" tab contains related lists which are defined in the page layout.

Buttons at the upper right corner also defined in the page layout, but this can be upgraded to Dynamic Actions which was introduced in the last few releases.


Lightning versus Classic

  • Lightning Record Page only for Lightning 
  • Page Layout is a heritage from Classic


Setup Lightning Record Page

Go to the object manager, open the object and find the Lightning Record Pages tab, you can open the Lightning record page or view page assignment.

there are two lightning record pages for this object


You can view and lookup the lightning page assignment from the View Page Assignments button. Lightning Record Page can be assigned by:
  • App
  • Record type
  • Profile

From Lightning record pages in an object, click:
 
View Page Assignments button, you will be landed at the About Assignments tab,  use Look Up an Assignment to lookup which lightning page is assigned to a specific App, Record Type, and Profile. 



Org Default tab display lightning page set as org default for that object, except where other assignments are defined, such as app default or app, form factor, record type, and profile.



App Default tab display lightning page set as default lightning page for s specific App, except where other assignments are defined, such as App, Record Type, and Profile.



App, Record Type, and Profile tab to see if any lightning pages assignment based on App, Record Type, Profile and Form Factor.



Assigning Lightning Page

Navigate to Lightning App Builder to view all lightning pages, or to create, edit, clone, or delete the existing lightning pages. 



By opening a lightning record page, you can see if the page is assigned to which app, record type, and profile, also form factor.



To assign a lightning page, edit the lightning page, click the Activation... button, from here you can:
  • Assign as Org Default
  • Assign as App Default
  • Assign based on App, Record Type, Profile and Form Factor





Salesforce: Intro to Dynamic Forms

When Lightning introduced by Salesforce many years ago, it still depends on the "Classic" page layout. There has been a rumour for quite some time in the Salesforce community that we will be able to add fields directly in the Lightning app builder without the need for Classic page layout.

This finally comes true with Dynamic Forms. In the Winter '21 release, Dynamic Forms become Generally Available, but only for custom objects. As per, DreamTX 2020, the Dynamic Forms will be available in Summer '21 release, including for mobile support.


How to activate Dynamic Forms?

Dynamic Form needs to be enabled on each Lightning Record Page, so this means that you do not need to enable dynamic form for the whole org at once, you can enable it by the app, profile, or record type. So, you can pilot a profile with dynamic form, while all others still use Classic page layout within the same object.

Go to Object Manager, select the object, select Lightning Record Pages, to show all Lightning Record Pages that exist for that particular object, including other information such as Org Default, App Default, and Other Assignments.

There are two Lightning record pages for this object


Enabling Dynamic Forms

To enable dynamic forms, edit the lightning record page, this will open Lightning App Builder, select the Record Detail component, then click Upgrade Now button.


You will be presented with a wizard to follow to migrate the fields to the dynamic form. Optionally, you can select to enable migrating the fields and section into the Accordion component to improve the new page performance.


One-Way Ticket

Once a Lightning page is upgraded to Dynamic Form, you can't downgrade it back to Classic page layout. However, you can simply delete the Accordion or Field Section component, then adding back the "Record Detail" component which uses Classic page layout.




Sunday, February 21, 2021

Einstein Analytics: Sharing Inheritance

Security Predicate is great to set row-level security for Einstein Analytics user to access the dataset based on certain criteria, such as matching user custom field "Region" in Salesforce with data with a field call Region, so the user will only see data with the same region as per user detail. This will work whether data comes from Salesforce or from the external system.

However, if the data source is from Salesforce and we want to bring in row-level security based on Salesforce sharing, there is something called Sharing Inheritance. Sharing inheritance lets Einstein Analytics apply the same sharing setup for your datasets as Salesforce uses for your objects

However, there are a few limits to note when implementing Sharing Inheritance:
  • Each dataset can inherit sharing settings from one object, regardless of how many source objects are used to create it
  • All object records have fewer than 400 sharing descriptors each
  • Supported objects for sharing inheritance are: Account, Case, Contact, Lead, Opportunity

A sharing descriptor is the ID of the user or group that has access to the record. Sharing descriptors, tracked by Salesforce in the Object Sharing Table, ensure that only the listed users and groups can access the correct records. IDs are added to the sharing table for many reasons including record ownership, sharing rules, and manual sharing.

When object records and users have fewer than your org’s maximum descriptors, go ahead and apply Sharing Inheritance. If records exceed the limit, depending on your org’s sharing strategy flexibility, choose to reduce the number of descriptors per record or contact Salesforce Support to evaluate whether higher limits are an option.

You can build your own security predicate to mimic Salesforce sharing in dataflow, from record owner,  role hierarchy, teams, manual sharing, sharing rules, and etc. but it is way too complicated, check out this blog for almost complete. 

To implement Sharing Inheritance, go to the Salesforce setup menu, and enable it from Settings under Analytics. Once enable, navigate to Sharing Inheritance Coverage Assessment to assess if sharing inheritance can be used for a particular object and any users will not be covered:
  • Select the object
  • Click "View Assessment" to check if the object can use sharing inheritance
  • If yes, click "View User Coverage" to make sure if any users do not cover by sharing inheritance, this is for users with sharing descriptors more than max descriptors for the Org.

sample of sharing inheritance can be used in Account for all users


sample of sharing inheritance that cannot be used in Account, because some records have too many associated sharing descriptors


sample of sharing inheritance can be used in Case, but some users are not covered because those users have more sharing descriptors than the org limit


Sharing inheritance covers a user if they have “View All Data” permission, or their record access is granted by fewer than 3,000 (by default) sharing descriptors -- note that this is NOT the number of records visible by a user on that object. The backup security predicate takes effect for users with more than this number of sharing descriptors. Without a security predicate, users not covered by sharing inheritance see no data in the dataset, because they have no dataset row-level access.

For an object to appear in the security-sharing source list, the primary key of the custom object must be a field in the dataset. A foreign key doesn’t satisfy this requirement. For example, if you have Opportunity.AccountId in your dataset but not Account.Id, you can’t inherit sharing from the Account object.

To configure sharing inheritance in dataflow, on the Register node, select the object under Sharing Source. In dataflow JSON, this will be stored as "rowLevelSharingSource" parameter.

in this sample, I have Id (of Account) and Opportunity.Id fields


By editing the dataset, you can check the sharing source for that dataset, this should be similar to sharing inheritance defined in the register node in the dataflow.



 
Reference




Saturday, February 20, 2021

Salesforce: Email Alert Recipients

Email Alert can be used to send an email via Workflow Rule, Process Builder, or Flow. There are a few important items in the email alert:

Object
The email alert will only available for the related Workflow rule or Process Builder. 

Email Template
We defined the email Subject and Body here, including using merge fields and adding attachments.

Recipients
This can be users in Salesforce, or Contact, or Email address in fields, this is defined as Recipients Type. You also can add up to 5 email address directly entered in the email alert.

From Email Address (Sender)
Who will be the email sender? 
- The current user who triggers the email alert
- Default workflow user
- One of mailbox added into Organization-Wide Email Addresses

Recipients Type

Depends on your Salesforce licenses purchased and feature enabled, you may see more recipient type in the email alert. The list of recipients is the same for all objects. 

Org. with standard Salesforce license 

Org. with Communities/Experience Cloud

If you select particular recipients that are not relevant, such as Case Team for an Account email alert, this will be ignored. The same if there is no user/value for the selected recipient, this will be ignored too. If the recipient is the same user for more than 1 type, such as Account Owner and Owner (for Opportunity), the user will only receive one email, instead of 2 emails.


For Team, you need to select Team Roles, so all users for selected team roles will receive the email sent.

Check out this article for descriptions of each recipient type, some of them are very obvious, so I will not discuss them further.

Account Owner
This option works only for email alerts on accounts, opportunities, cases, contacts, contracts, and any custom object that is a child of the account object. If you select another object type or the associated account doesn’t have an account owner, Salesforce sends the email alert to the record owner instead.

Account Team
Emails are sent only when the rule is associated with the account object or its immediate child objects.

Email Field
All fields in the selected object with the field type = Email.

Owner
In object supported by queue, the owner here can be a queue, so all queue members or queue email (check here Queue Email) will receive the email.

Related Contact
All fields in the selected object with the field type are Lookup(Contact).

Related User
All fields in the selected object with the field type are Lookup(User).



Reference:





Saturday, February 13, 2021

Salesforce: Email sent related to Case Assignment Rule

In the previous blog, we discussed the Queue Email and Case Assignment Rule. So ideally, upon case creation, we use case assignment rule to change the case owner to a queue based on the criteria defined in case assignment rules.

Queue

There are 2 things:
  • Queue Email
  • Send Email to Members

In the Queue Email blog, we said that email will be sent to queue members 
1. Queue Email is blank, regardless of the 'Send Email to Members' checkbox is selected or not
or
2. Queue Email is NOT blank, but Send Email to Members is selected.

Case Assignment Rules

When we look at Case Assignment Rule, there is Email Template that needs to be defined here, once Email Template entered, it will appear as a tick in the Rule Entries.

Rule Entries


Result

Let's see how this work in the relation to Email Template in the Case Assignment Rule with Queue email setting:


For case change owner email notification, the default email template is "Support: Case Assignment Notification", however, you can change this under Support Settings in the Setup menu and looks for Case Assigned Template
Or, you even can remove template defined, then Salesforce will just send a simple message "Case transferred to you" with the content of Case number and Case URL.

Summary 

From above for case assignment rule:
  • No email will be sent if no email template is entered in the assignment rule
  • Yellow highlight is aligned with point (1)
  • Green highlight also aligned with (2) -- for queue members + queue email
  • Manual change owner will use the standard salesforce email template for change owner
To have more granular actions when the email sent, you can use Workflow or Process Builder or Flow.



Tuesday, February 9, 2021

Salesforce: Roll up Activities to Account

In Lightning, activities can be configured as Activity Timeline or Related Lists. As an admin, you can configure this from Setup | User Interface | Record Page Settings | Default Activities View (desktop only).

However, users also able to personalize the activities view on their own as Activity Timeline or Related Lists from Settings | Display & Layout | Record Page Settings.

Another thing that admin can configure is to enable roll-up activities to a contact's primary account, this means activities (event, task, and email) links to Contact will appear in their direct Account too. To configure this, navigate to Setup | Feature Settings | Sales | Activity Settings, enable roll up activities to a contact's primary account.

Additionally, activities (event, task, and email) in Opportunity and child objects (with Master-Detail relationship to Account only) will appear in Account too, this behaviour is applicable for both views with Activity Timeline or Related Lists. However, Case activities will NOT roll-up to Account.



In summary,
* with "roll-up activities to a contact's primary account" is enabled
^ child of Master-Detail relationship


Notes: to enable Contacts links to multiple Account, looks for Account Settings in the Setup menu, then enable Allow users to relate a contact to multiple accounts.


Reference



Saturday, February 6, 2021

Salesforce: Sending Email from Case

In the previous blog, we discussed sending email from Salesforce, as we mentioned in that blog, there is a difference for sending email from the Case object with other objects (standard and custom). Probably that Case is considered as the main object in Service Cloud and related to Case Feed implementation.

Not Organization-Wide Email Addresses

Adding email to Organization-Wide Email Addresses does not relate to sender option in the email from Case, but you must enable Email-to-Case, then the email address from Email-to-Case will appear as sender in Case. Email address added to Organization-Wide Email Addresses will not appear as sender in Case.

Email tab

Instead of located under the Activity tab, the Email tab will be in the Chatter tab. The workaround is to add the Chatter component under the Activity tab, but this will also show Chatter items too such as Post, Poll, and Question.

Email address visibility

Different from email addresses added in Organization-Wide Email Addresses, where we can control the email address will only visible to which profiles. We do not have that option for Email-to-Case, so all email address added to Email-to-Case will appear for all users, feel free to vote this idea and this idea.


Reference:

Salesforce: Users Report

Until Spring '21 Release, standard report such as reports in "Administrative Reports" folder does not exist in Lightning, check out the gap here. However, some reports such as "All Active Users" can be easily created manually in Lightning with Users record type, but other reports such as "API Usage Last 7 Days" build with API Usage report type does not exist in Lighting.


Access to Users report type

Issue: a user complains that he can't create or access reports build with Users report type, what is the cause?

Finding: the user does not have View Setup and Configuration permission, enabling this permission will allow the user to create (the user must have to Create and Customize Reports permission) and run the report created with users record type (the user must have Run Reports permission).

Enabling View Setup and Configuration permission will also enable View Roles and Role Hierarchy permission, this can't be disabled. Without View Roles and Role Hierarchy permission, the "User Detail" button will not visible when clicking a user name from the page layout.


Reference:

Monday, February 1, 2021

Sending Email from Salesforce

As a CRM system, Salesforce offers basic functionality to send emails, let's check this out. 

Send from any objects
We can send email from any objects in Salesforce, but additionally, for Lead and Contact, the "To" will be automatically filled with the lead or contact's email, for other objects, it will be just blank. 


You can create a send email action in that object. In that action, set a predefined field value "To" with a field with the email address or from the related object such as Contact.




By default "From" would be your name and your email address as in Salesforce. If you notice in the top screenshot, there is BCC to yourself, this is because "Automatic BCC" is enabled in your email setting. You also can add your email signature from "My Email Settings".




Overwrite Sender
As the above screenshot, you can change your name in sender email from "How would you like your name to appear on your outgoing email?", also overwrite the email address in "What email address would you like to use as your return address?"

You need to verify the request in the new email address, once verified, you will see the sender as new email address, instead of your original email address.


Organization-Wide Email Addresses
Can we add a general email as the sender "From"? Yes, an organization-wide email address associates a single email address to a user profile. Each user in the profile can send an email using this address. Users will share the same display name and email address.

This email must be a valid email address because it needs to be verified. Let's add emails to the organization-wide email address. Go to the setup menu, search for Organization-Wide Addresses, click Add button, select profiles allows able to use this email address as a sender.



Now, open a lead or contact or any other records, you should be able to select the new email address added as the sender, usually, this would be a shared mailbox or distribution list.



However, all the above mentioned is NOT applicable to the Case, you will not see the Email tab in Activity by default. Salesforce treats Case on its own, with additional Email-to-Case and Web-to-Case. We will discuss sending an email from Case in the next blog. 



Reference

Page-level ad