When Salesforce is life!

Tag: Einstein

🇮🇹 Salesforce Sidekicks EPISODE 16: Public Sector e AI – Come la PA verrĂ  rivoluzionata

ℹ️ Di cosa si tratta? / What’s this all about? Salesforce Sidekicks

Grazie ad Alessandro Nannini, Solution Engineer Public Sector in Salesforce, per aver fatto una bella chiacchierata con noi!

In questo episodio troverete sviluppati i seguenti punti

  • AI Predittiva vs Generativa
  • Challenges delle PA: avversione al cambiamento, scarsa disponibilitĂ  risorse, facilitĂ  di utilizzo, obsolescenza tech
  • Creazione articoli di knowledge automatica
  • SearchAnswer Feature

Links utili

TrailblazerDX 2024: Recap, Keynote, and Key Announcements 📢

Missed the two-day event packed with the latest from the Salesforce world?

Worry not!

Here’s a summary of all the important announcements!

Einstein Copilot — the new application that enables natural language interaction with Generative AI on Salesforce is finally GA! Configurable, customizable, and integrable with any data or automation present on the platform (Flow, Apex, etc.), this virtual assistant can be integrated into any business process and assist users in every operation.

Einstein 1 Studio — a set of low-code tools becomes available that allows you to customize Generative AI capabilities on your CRM. In particular, Einstein 1 Studio includes features such as, in addition to the Einstein Copilot Builder, Prompt Builder for creating and activating custom prompts (text-based instructions) in your workflow, and Model Builder, where users can create or import a variety of AI models to their liking.

Data Cloud — from an AI perspective, not only will the solution’s architecture be expanded with the implementation of a new feature called Vector Database, which will allow you to unify unstructured or non-structured data (such as PDFs, images, emails, etc.) within your CRM and make them available to train Einstein AI, but you will also be able to bring your own AI model or integrate it with an existing one thanks to the BYOM (Bring Your Own Model) functionality, thus bringing data from external systems as well. Thanks to the ability to manage access to Data Cloud metadata and data through Data Spaces, it is now possible to integrate the latter more easily with the CRM using fields and related lists directly from Data Cloud, in addition to the ability to materialize a certain subset of data through Data Graph to make it available in real-time for queries and other operations.

Einstein for Developers — numerous new features for Salesforce developers, who will be able to use AI in their work: from assisted autocompletion while writing code, to translating natural language requirements into code, to automatic generation of test cases, to code analysis.

Useful Links:

How you can use Sales Cloud Einstein to accelerate your sales team

About the author: Lars Malmqvist has spent the past 12 years working as an architect and CTO within the Salesforce ecosystem. For the past 5 years, he has been particularly focusing on advanced AI solutions. He has worked on over 40 Salesforce implementations, ranging from simple out-of-the-box scenarios to advanced, bespoke, multi-cloud solutions for large global brands. He is a 23x certified Salesforce CTA with degrees in computer science, mathematics, and technology management and an MBA from the University of Cambridge. Currently, he works as a senior manager at Accenture and is in the final stages of completing a PhD with a focus on deep learning.


Let’s be honest, there’s a reason why Salesforce is called Salesforce.

Making life easier for your sales reps, getting better info for your sales managers, and thereby closing more deals is likely to be one of the main reasons your organization adopted the platform in the first place. These days, where Salesforce is positioning itself to become the center of business IT, the Digital HQ from which your structure your workday and access all of your corporate apps, it is worth noting that for most organizations it all begins with sales.

As with the core CRM, so with the Einstein platform offerings. Sales Cloud Einstein is at this point in time one of the strongest and most mature products in the Einstein suite and it is true to Salesforce’s roots in delivering ways to level up your sales team’s performance.

In this blog post, we will go through the ways Sales Cloud Einstein enables you to reduce time on manual drudgery, target opportunities better, get better forecasting accuracy, and gather analytical insights.

How Sales Cloud Einstein helps sales teams

First, we will look at one of the topics closest to the hearts of sales reps: how to spend less time putting data into the CRM.

Spend less time on data entry

In my experience, there are few parts of the job that sales reps dislike more than keeping data up to date and accurate in the CRM. Unfortunately, the real value of a CRM boils down to having up to date and accurate data. Therefore, it’s not particularly surprising that one of the areas where Salesforce has applied AI is to automate some rather tedious data entry tasks that involve matching and keeping up to date emails, calendar events, and contacts between Salesforce and your email client. In a nutshell, that’s what Einstein Activity Capture and Automated Contacts do.

The features work by connecting your email provider – Office 365, Exchange, and Gmail are supported – to Salesforce and then automatically matching data from your email account to records in Salesforce. There is quite a bit of complexity involved in setting up the matching and avoiding any data privacy issues, but once configured, it more or less runs itself and ferries across the data from your email client to Salesforce and back.

Target the right leads and opportunities

Finding out what Leads and Opportunities to target and prioritize with limited sales resources is a perennial problem and most organizations have internal models and processes for making such assessments. Einstein Lead and Opportunity scoring seeks to improve on these by applying machine learning to the historical data housed in your Salesforce org to give you a numeric score you can use for prioritization.

Effectively, you configure what data to consider both in terms of fields and by segmenting your Leads and Opportunities in meaningful ways and then set the algorithm loose to come up with a predictive model. Internally, Salesforce will run a model tournament of different machine learning models to come up with a best fit answer. Depending on your data that may be very good or less good.

One major limitation of these models is that they rely on all data being present in the object that you’re predicting. You can’t really aggregate data across objects in a meaningful way. But if you have solid historical data in your Lead and Opportunity objects these features can be winners.

Engage accounts and opportunities with better information

Better information about your accounts and opportunities leads to more deals won, at least in the big picture. Einstein Account Insights and Opportunity Insights are two features designed to give you better information, although in quite different ways.

Einstein Account Insights is effectively an AI-driven news analysis service. It finds and highlights articles related to your accounts from a selection of sources and aggregates these into thematic insights such as whether the company you are dealing with is expanding or contracting. That way you can stay on top of the trends affecting your accounts without having to put in a lot of effort.

Einstein Opportunity Insights on the other hand tries to give you actionable insights about specific opportunities. These come in three kinds:

  • Deal Predictions that tell you whether or not you are likely to win a deal and whether it will be on time
  • Follow-Up Reminders that pop up if there haven’t been any recent communications related to an opportunity
  • Key Moments which appear when something out of the ordinary happens on the opportunity

There isn’t much you can configure for the two insights features, so they will either work for you or they won’t. In general, that will depend on the amount and quality of data in your org as well as the extent to which your accounts appear in mainstream media.

Forecast with greater accuracy

Forecasting accuracy is another problem, which tends to recur with staunch regularity across organizations of all shapes and sizes. Einstein Forecasting builds on top of normal collaborative forecasting by adding predictions for what deals will close by period of time based on a machine learning model that takes into account both historical data on opportunities and the tendencies of the sales reps in the company such as whether they tend to over or understate their projections.

This is the feature that will likely be of least use to most organizations as it is unlikely that a basic machine learning model can really outperform existing forecasting processes in most larger organizations. For smaller outfits, the equation might be different. But you would have to trial it and see.

Get insights in the sales process at all levels

The Sales Analytics app that comes with Sales Cloud Einstein is less AI and more traditional analytics, but that doesn’t mean it isn’t quite good. In effect, you get a range of general-purpose dashboards as well as role specific ones that answer common questions one might have as a sales rep, sales manager, or sales operations professional. There are also a set of reports for reporting on how well the various Sales Cloud Einstein features are performing in your particular org.

All in all, Sales Cloud Einstein is a compelling featureset if you are a heavyweight Sales Cloud user with a good amount of historical data. If you would like to learn more about architecting, designing, and implementing solutions with Sales Cloud Einstein and the rest of the Einstein platform, I recommend getting a hold of my book Architecting AI Solutions on Salesforce, which covers these topics in depth.

Getting Started with AI Personalization in Salesforce Marketing Cloud

This guest blog is delivered by Leah Fainchtein Buenavida, a technology writer with 15 years of experience, covering areas ranging from fintech and digital marketing to cybersecurity and coding practices.


The demand for constant, personalized, seamless customer experiences is always growing. According to the Connected Customer report, 67% of customers say their expectations for good experiences are higher than ever.

Marketers understand the value of personalization. However, delivering personalization at scale remains a challenge for many brands. Tools like SalesForce Marketing Cloud can help you automate personalization, make data-driven decisions, and create dynamic content. 

This post reviews some of the platforms included in the Marketing Cloud platform, with a focus on the Personalization Builder.

What is Salesforce Marketing Cloud?

SalesForce Marketing Cloud is a marketing platform that provides multiple tools for managing the interaction between a brand and its existing or potential customers. The platform enables you to contact customers on the right channel, at the right time via email, SMS, or social ads, create multi channel experiences, and increase sales and customer acquisition. 

This model of Marketing Cloud is based on the ME2B approach, where customers are defining the kind of relationship they want with brands. Brands need to create experiences that promote trust and strong connections with their customers. Marketing Cloud tools enable them to establish this relationship and collect important information about their users, their preferences, and opinions.

What Can You Do With Marketing Cloud?

The Salesforce Marketing Cloud consists of seven primary products that leverage Artificial Intelligence (AI) technology and predictive analytics to connect you with your customers. You can interact with customers through mobile messaging, email, digital advertising, social media, and website content. Primary products include Email Studio, Mobile Studio, Social Studio, Advertising studio, Einstein, Journey Builder, Personalization Builder.

AI-based marketing tools can turn standard content into hyper-personalized messaging. Personalized emails, for example, have a greater chance of being opened and engaged with than their traditional alternatives. Only the most relevant communication can generate a positive response from your audience. Marketing Cloud helps you place the right content into your web messaging and email along the customer journey. Machine learning capabilities enable you to continuously improve and adapt the customer journey, keeping content relevant and engaging.

Salesforce Einstein

Einstein integrates Artificial Intelligence (AI) technology with Salesforce’s Customer Relationship Management (CRM) system. Einstein uses predictive analytics, machine learning, and Natural Language Processing (NLP) capabilities to analyze customer data. Einstein’s AI algorithms leverage this analysis to improve its capabilities, and perform more accurate  analysis. This technology can analyze user data in different sectors: 

  • Sales—helps to increase conversion rate by predicting the probability of a customer to purchase a product.
  • Customer service—helps with predicting issues, classifying and routing of cases. Also includes intelligent chatbots to help customers resolve common problems.
  • Marketing—it helps to increase conversion rates by predicting who is more or less likely to engage with an email by engagement scoring and predictive recommendations.
  • Retail—uses customer data to identify the products a visitor might want, both in digital and traditional commerce. Brands can increase revenue by predicting if a consumer is more or less likely to purchase a specific item.

Salesforce Personalization Builder

The Salesforce Personalization Builder is based on Einstein. It uses predictive analytics to deliver personalized content to customers based on their preferences. The Personalization Builder shows you the behavioural history, real-time interactions, and buying preferences  of customers. You can use this data to predict how they will act in the future, and understand the motives behind their actions. These insights can help you improve your customer engagement strategy across all relevant channels. 

You can use Salesforce Personalization Builder together with other Marketing Cloud platforms to further improve your marketing campaigns. Content Builder for instance, manages all content and assets in one location. You can use Analytics Builder to track the performance of content campaigns, measure their success and use Personalization Builder to extract valuable insights from the data to adjust a campaign accordingly.

How to Set Up the Personalization Builder in Marketing Cloud

The process below describes several technical steps that can help you set up the Personalization Builder in Marketing Cloud.

Step 1—content or product

Decide if you want to use content or product or both, and set up your catalog with field attributes, and activity tracking for category view, purchases, shopping cart. A catalog stores all your content or product data with as many details as possible. This includes price, URL’s, stock, description, keywords, and categories.

Step 2—import your catalog

The catalog importing task in Personalization Builder is time consuming. There are two possible options:

  • Flat-file upload—the uploaded file is added to a publicly available web URL or an FTP account and imported into the Builder twice a day.
  • Streaming updates—updates and adds content and products through another snippet of JavaScript.

You have the option to map your catalog fields with the default fields of Marketing Cloud, and select which fields to tag. Tagging determines the fields that are used to build your affinity per profile. For example, tag the fields for category and brand, where brand is Toshiba and category is TV.

Step 3—data collection

Once the catalog is in place, you can start collecting user data. You might need help from your developer to implement all the necessary Collect Codes for behaviour tracking. These Collect Tracking Codes are JavaScript snippets that are used to gather data about known contacts and unknown visitor behaviour.

First, collect the available JavaScript snippets of Marketing Cloud. Start with the Base Collect Code that needs to be implemented on every page of your web site. Find the code in the official documentation

Next, you need to capture user attributes and information. This script identifies your unknown visitors:

<script type=”text/javascrip
	_etmc.push([“setOrgId”, “MID”]);
	_etmc.push([“setUserInfo”, {“email”: “INSERT_EMAIL_OR_UNIQUE_ID”}]);
	_etmc.push([“trackPageView”]);
</script>

Step 4—enable the Personalization Builder

Turn on the data extensions of Einstein. Follow the next steps to enable the Personalization Builder populate these data extensions in Contact Builder.

  1. Navigate to the Personalization Builder Status tab.
  2. Reveal the drop-down menu by choosing the grey Settings cog
  3. Click on Data Extension Settings
  4. Click on Enable Einstein Data Extensions
  5. Click Save.

Conclusion

The most common challenge that brands encounter when using SalesForce Marketing Cloud is not knowing how to use its different tools. Marketers need to know which tools to use at the right time, and for what purpose. Salesforce Personalization Builder helps you better understand how your customers behave and why. It enables you to see your customers’ behavioural history, real-time interactions, and buying preferences. You can set it up with only a few technical steps.

[Salesforce / Einstein] Playing around with apples and Einstein Prediction APIs

The machines are not going to rule humanity…for now.

So don’t be afraid of AI in your daily job as Awesome Developer / Admin / Adminloper.

A new revolution has come in the CRM world and Salesforce leads it as usual.

Einstein is AI brought to our beloved CRM platform, in may ways: enriches your sales decisions, marketing strategies, smartifies your communities and your social behavior.

I know what you are thinking, how can a humble Salesforce developer empower Artificial Intelligence?

Again, afraid be not!

Salesforce conveys a set of APIs for image recognition or text analysis, so you can integrate the power of AI into your application, whether inside Salesforce or not.

What can you do with Einstein APIs?

At the time of writing, you can:

  • Classify images
  • Detect number, size and position of objects inside images
  • Classify sentiment in text
  • Categorize unstructured text into user-defined labels

Read the complete documentation at metamind.readme.io.

In this post I’ll cover an example of how to classify images using Einstein Vision.

Use Case

Can you guess a business use case for this API?

A particulas piece of my fridge just broke down and it is difficult to explain by words which part should be replaced.

Just take a picture of the part and submit to the Einstein Vision engine (properly trained): the backoffice user may now be able to tell the “replacemente department” which part should be sent to the customer.

Another example, my hoven is not working and I don’t remember the model: take a pic, send to Einstein engine, the system can guess the model and execute the proper actions.

In our example we’ll just try to classify apples, not a cool business use case but it effectively shows how the library works.

First configurations

First thing to do is registering for the free Einstein Vision tier.

Go to https://api.einstein.ai/signup, register with your Developer ORG edition (use the Salesforce flow) and then download and save the provided key in the einstein_platform.pem file.

Go to your ORG and create a new Static Resource for this certificate and call it Einstein_Platform: this will be used to generate a JWT OAuth token every time it is needed.

Now create a new Remote Site Setting adding the https://api.metamind.io endpoint (this is the Einstein Vision API endpoint).

Now you are ready to use the provided package.

Before starting you should install the following Apex packages into your ORG (they are open source Einstein Vision wrappers):

Download and install into your ORG the following code from REPO: it’s just 2 pages and 2 classes.

Before starting be sure to change your Einstein APi email address in the EinsteinVisionDemoController:

public static String getAccessToken(){
    String keyContents = [Select Body From StaticResource Where Name = 'Einstein_Platform' limit 1].Body.toString();
    keyContents = keyContents.replace('-----BEGIN RSA PRIVATE KEY-----', '');
    keyContents = keyContents.replace('-----END RSA PRIVATE KEY-----', '');
    keyContents = keyContents.replace('n', '');

    // Get a new token
    JWT jwt = new JWT('RS256');
    jwt.pkcs8 = keyContents;
    jwt.iss = 'developer.force.com';
    jwt.sub = '[email protected]';
    jwt.aud = 'https://api.metamind.io/v1/oauth2/token';
    jwt.exp = '3600';
    String access_token = JWTBearerFlow.getAccessToken('https://api.metamind.io/v1/oauth2/token', jwt);
    return access_token;    
}

Configure the Dataset

This repo has a configuration page (for model training) and a prediction page (see a live demo here ).

Let’s open the administration page named EinsteinVisionDemoAdmin.

In the Dataset URL input copy the following dataset URL: https://raw.githubusercontent.com/enreeco/sf-einstein-vision-prediction-demo/master/dataset/mele.zip.

This ZIP file contains 6 folders: each folder represent a kind of apple (the folder name is the corresponding name) and it contains a list of 40/50 images of that kind of apple (I’m not an expert of apples, so some pictures may not be correct!).

Now press the Create Model Async button: there are 2 kinds of API for this porporuse, one is sync (and accepts zip files of up to 5 MB) and the other one is async (and accepts size of more than 5 MB).

This means that in this example we’ll be using only the async API: the request is taken in charge:

DATASET:

{
  "updatedAt" : "2017-07-11T14:17:33.000Z",
  "totalLabels" : null,
  "totalExamples" : 0,
  "statusMsg" : "UPLOADING",
  "name" : "mele",
  "labelSummary" : {
    "labels" : [ ]
  },
  "id" : 1006545,
  "createdAt" : "2017-07-11T14:17:33.000Z",
  "available" : false
}

Now you can press the button labelled Get All Datasets and Models to watch the upload operation complete:

Datasets: 1

{
  "updatedAt" : "2017-07-11T14:17:37.000Z",
  "totalLabels" : 6,
  "totalExamples" : 266,
  "statusMsg" : "SUCCEEDED",
  "name" : "mele",
  "labelSummary" : {
    "labels" : [ {
      "numExamples" : 38,
      "name" : "red_delicious",
      "id" : 52011,
      "datasetId" : 1006545
    }, {
      "numExamples" : 44,
      "name" : "granny_smith",
      "id" : 52012,
      "datasetId" : 1006545
    }, {
      "numExamples" : 45,
      "name" : "royal_gala",
      "id" : 52013,
      "datasetId" : 1006545
    }, {
      "numExamples" : 42,
      "name" : "golden",
      "id" : 52014,
      "datasetId" : 1006545
    }, {
      "numExamples" : 53,
      "name" : "renetta",
      "id" : 52015,
      "datasetId" : 1006545
    }, {
      "numExamples" : 44,
      "name" : "fuji",
      "id" : 52016,
      "datasetId" : 1006545
    } ]
  },
  "id" : 1006545,
  "createdAt" : "2017-07-11T14:17:33.000Z",
  "available" : true
}

Now we can train our model by copying the dataset id into the Dataset ID input box and pressing the Train Model button: Einstein analyzes the images with its deep learning algorithm to allow prediction.

MODEL:

{
  "updatedAt" : "2017-07-11T14:21:05.000Z",
  "trainStats" : null,
  "trainParams" : null,
  "status" : "QUEUED",
  "queuePosition" : 1,
  "progress" : 0.0,
  "name" : "My Model 2017-07-11 00:00:00",
  "modelType" : "image",
  "modelId" : "UOHHRLYEH2NGBPRAS64JQLPCNI",
  "learningRate" : 0.01,
  "failureMsg" : null,
  "epochs" : 3,
  "datasetVersionId" : 0,
  "datasetId" : 1006545,
  "createdAt" : "2017-07-11T14:21:05.000Z"
}

The process is asynchronous and takes some time to complete (it depends on the parameters passed to the train API, see code).

Press the Get All Datasets and Models button to see the process ending:

Datasets: 1

{
  "updatedAt" : "2017-07-11T14:17:37.000Z",
  "totalLabels" : 6,
  "totalExamples" : 266,
  "statusMsg" : "SUCCEEDED",
  "name" : "mele",
  "labelSummary" : {
    "labels" : [ {
      "numExamples" : 38,
      "name" : "red_delicious",
      "id" : 52011,
      "datasetId" : 1006545
    }, {
      "numExamples" : 44,
      "name" : "granny_smith",
      "id" : 52012,
      "datasetId" : 1006545
    }, {
      "numExamples" : 45,
      "name" : "royal_gala",
      "id" : 52013,
      "datasetId" : 1006545
    }, {
      "numExamples" : 42,
      "name" : "golden",
      "id" : 52014,
      "datasetId" : 1006545
    }, {
      "numExamples" : 53,
      "name" : "renetta",
      "id" : 52015,
      "datasetId" : 1006545
    }, {
      "numExamples" : 44,
      "name" : "fuji",
      "id" : 52016,
      "datasetId" : 1006545
    } ]
  },
  "id" : 1006545,
  "createdAt" : "2017-07-11T14:17:33.000Z",
  "available" : true
}

{
  "updatedAt" : "2017-07-11T14:22:33.000Z",
  "trainStats" : null,
  "trainParams" : null,
  "status" : "SUCCEEDED",
  "queuePosition" : null,
  "progress" : 1.0,
  "name" : "My Model 2017-07-11 00:00:00",
  "modelType" : "image",
  "modelId" : "UOHHRLYEH2NGBPRAS64JQLPCNI",
  "learningRate" : null,
  "failureMsg" : null,
  "epochs" : null,
  "datasetVersionId" : 3796,
  "datasetId" : 1006545,
  "createdAt" : "2017-07-11T14:21:05.000Z"
}

We are almost ready!

Predict!

The only thing you have to do is to open the EinsteinVisionDemo demo passing the above Model Id (e.g. /apex/EinsteinVisionDemo?model=UOHHRLYEH2NGBPRAS64JQLPCNI):

The data set used is not the best dataset out there, it’s been created with the help of Google and a little of common sense, also the number of images for folder is only 40/50, this means the algorithm does not have enough data to get the job done…but actually it does its job!

May the Force.com be with you!” [cit. Yodeinstein]

Powered by WordPress & Theme by Anders Norén