Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Learning Salesforce Einstein
Learning Salesforce Einstein

Learning Salesforce Einstein: Add artificial intelligence capabilities to your business solutions with Heroku, PredictiveIO, and Force

eBook
$32.99 $47.99
Paperback
$60.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Table of content icon View table of contents Preview book icon Preview Book

Learning Salesforce Einstein

Introduction to AI

AI stands for Artificial Intelligence and it's been widely used in our daily life. Whether you are using Siri on your MacBook, Cortana on your Windows, playing Call of Duty, driving a smart car, or using movie recommendation services, all use Artificial Intelligence to a great extent to predict the outcome. Artificial Intelligence powers e-commerce Recommendation feeds, Facebook feeds, Fraud Detection in banking transactions, and many more use cases.

Salesforce CRM is one of the widely used CRMs today and there are tons of applications that are built on top of the Salesforce App Cloud platform used across various verticals, such as healthcare (Salesforce Health Cloud), finances (Financial Cloud and Financial Force ), insurance (Vlocity), and so on. Adding Artificial Intelligence to these types of applications will make the CRM and apps smarter. This book is an attempt to introduce developers on the Salesforce platform, the capabilities of the Salesforce Einstein (Artificial Intelligence for CRM), to bring Artificial Intelligence into the Salesforce apps, and also to introduce how Einstein can be used across marketing, sales, service, community, and various other Cloud offerings of Salesforce. We also cover PredictionIO, which is an open source machine learning server to build smarter applications.

Before we deep dive into Einstein offerings for developers and data scientists, this chapter covers the basics of Artificial Intelligence and key terminology in the world of Artificial Intelligence. Also, we will see how to use Google Prediction API's to build a simple demonstration of machine learning and Artificial Intelligence in conjunction with the Salesforce data to support the relevant theory.

In this chapter, we will cover the following topics:

  • Artificial Intelligence key terms
  • Programming languages used for machine learning
  • Practical machine learning with Google Prediction API and Salesforce

Artificial Intelligence key terms

Artificial Intelligence is a computerized system that is designed to mimic how humans think, learn, process, and perceive information. In simple terms, it's about first understanding and then recreating the human mind.

There are some common terminologies that we need to understand before we proceed further.

Machine Learning

As per Wikipedia:

"Machine learning provides computers with the ability to learn without being explicitly programmed"

Machine learning in general comprises three major steps:

  1. We collect a lot of examples that specify the correct output for a given input.
  2. Based on the input dataset, we apply algorithms to form a model or a mathematical function that can predict the outcome.
  3. We pass the input to the mathematical function obtained in step 2 to obtain the necessary results. Consider the following diagram:
The high level major steps of any machine learning system

In this chapter, we will cover a simple experiment using Google's Prediction API with Salesforce data, and, in the later chapters, we will introduce you to the PredictionIO part of Einstein offerings from Salesforce, which is an open source Machine Learning Server that allows developers and data scientists to capture data via its Event server, build predictive models with algorithms, and then deploy it as a web service.

Neural networks

A neural network is a set of algorithms designed to recognize patterns. Neural networks are superficially based on how the brain works.

They consist of a set of nodes (similar to human brain neurons) arranged in multiple layers, with weighted interconnections between them. Each neuron combines a set of input values to produce an output value, which in turn is passed on to other neurons downstream. Artificial neural networks are used in Deep Learning.

Deep Learning

In Deep Learning, the neural network has multiple layers. At the top layer, the network trains on a specific set of features and then sends that information to the next layer. The network takes that information, combines it with other features and passes it to the next layer, and so on.

Deep Learning has increased in popularity because it has proven to outperform other methodologies for machine learning. Due to the advancement of distributed computing resources and businesses generating an influx of image, text, and voice data, Deep Learning can deliver insights that weren't previously possible.

Consider the following diagram:

Deep learning diagram. (Source and credit - http://www.nanalyze.com/2016/11/artificial-intelligence-definition/)

From an example from the U.S. government report, in an image recognition application, a first layer of units might combine the raw data of the image to recognize simple patterns in the image; a second layer of units might combine the results of the first layer to recognize patterns of patterns; a third layer might combine the results of the second layer, and so on. We train neural networks by feeding them lots of delicious big data to learn from.

Salesforce Einstein offers Predictive Vision Services (currently in Pilot) for training and solving image recognition use cases. We will discuss in detail how to use these services to bring the power of image recognition to the CRM apps.

Natural language processing

Natural language processing (NLP) is the ability of computers to understand human language and speeches. A good example for this is Google Translator or a Google Voice Search. Modern day NLP systems use machine learning to detect patterns.

Cognitive computing

Cognitive computing involves self-learning systems that use data mining (big data), pattern recognition (machine learning), and natural language processing to mimic the way the human brain works. The difference between Artificial Intelligence and cognitive computing boils down to the idea that the former tells the user what course of action to take based on its analysis while the latter provides information to help the user decide. The goal of cognitive computing is to automatically solve IT problems without human intervention.

Pattern recognition

Humans have been finding patterns everywhere, ranging from astronomy to biology and physics. A pattern is a set of object/concept/phenomena where elements are like one another in certain aspects.

Statistical and structural patterns form the basis of machine learning.

Data mining

Data mining is the process of finding patterns or correlations among dozens of fields in a relational database.

Data mining consists of the following five major elements:

  • ETL (Extraction ,Transformation and Loading ) of data from data warehouse
  • Storing and managing the data in a multidimensional database system
  • Providing data access to the Business Analysts and IT professionals
  • Use Application Software to analyze data
  • Using charts and dashboards to present the data

GPUs

Graphics processing units (GPU) basically help computers work much faster than those operating with a central processing unit (CPU) alone. Some companies have built their own versions of GPUs. For example, Google being Google, the technology giant has a chip it calls the Tensor processing unit (TPU), which supports the software engine (TensorFlow) that drives its Deep Learning services.

Programming languages used for machine learning

Programming languages used for machine learning depend on your requirements and expected predictions. MATLAB, R, and Python are commonly used languages because of their ability to provide powerful functions for statistical analysis.

If you want to explore and write your own machine learning algorithms, you might want to learn these languages; however, to use Einstein, PredicitonIO, or any other topic discussed in this book does not require you to know R or Python. Instead, we will keep it simple with Apex, Java, Scala, or Node that most of the developers are already familiar with.

Practical machine learning with Google Prediction API and Salesforce

To understand machine learning concepts practically, we will build a simple Proof of Concept (PoC) demo that uses Google Prediction API, and we will apply the predictive results on the Salesforce records. The aim of this exercise is to help you understand the basic steps of machine learning without digging into minute details and to get some idea of how we can leverage external machine learning algorithms on Salesforce data and the power we add to the Salesforce data through machine learning.

Google offers a simple Prediction API. These are predefined models.

Google Prediction API general algorithms can be categorized as follows:

  • Given a new item, predict a numeric value for that item, based on similar valued examples in its training data (Regression Model)
  • Given a new item, choose a category that describes it best, given a set of similar categorized items in its training data (Categorical Model)

The Prediction API integration with Salesforce is covered in the Practical Machine Learning With Google Prediction API and Salesforce section.

Business scenario

Universal Container (fictitious company) wants to find the probability of opportunity closure using their existing data. We will help them integrate Google Predictive API with Salesforce to predict the probability of the Salesforce opportunity closure based on the expected revenue and the opportunity type, which in turn can help them forecast revenue better.

Let's take an opportunity dataset from Salesforce, upload it into the Google storage, and build a regression type predictive model, train the model, and use it to predict the probability of the opportunity closure.

Prerequisites

This section covers the steps required to experiment with Google Prediction API and Salesforce:

  1. You have Salesforce login credentials. If you do not have one, sign up at https://developer.salesforce.com/signup.
  1. Sign up for a Google account at https://accounts.google.com/SignUp?hl=en.
  1. Enable the Prediction API by visiting https://console.cloud.google.com/home/dashboard.
  1. Create a Google Cloud Project, as shown in the following screenshot. Once you create a project, note the Project ID as we will be using the Project ID in the API request:
The project creation screen in the Google console
  1. Sign up for a free Google cloud storage at https://console.cloud.google.com/storage/browser.
  1. Create a folder called salesforceeinstein and upload the provided CSV (The CSV is shared in the git repository located at (https://github.com/PacktPublishing/Learning-Salesforce-Einstein/blob/master/Chapter1/SFOpportunity.csv) in the Google Cloud storage. Name the file as SFOpportunity.csv:

  1. Open the prediction API explorer the (https://developers.google.com/apis-explorer/#s/prediction/v1.6/) to train the model via API. We will need to first enable OAuth for the project and use the right scope. The screenshot shows the OAuth 2.0 screen and scope enablement screen. You will need to select the auth/prediction checkbox:

  1. We will be using the v1.6 version of Prediction API. The training and prediction is covered in the next section.

Note that the CSV data here is a report extract of opportunity data from Salesforce. You can extract data using the Salesforce standard reporting interface. You will need to create a custom probability field on the Salesforce opportunity object to track the probability from the prediction API.

Check the following screenshot of the Dataset sample. The data samples can be taken from your Salesforce organization, and, in case you want to use the one used in this book, you can get it from the git repository (https://github.com/PacktPublishing/Learning-Salesforce-Einstein/blob/master/Chapter1/SFOpportunity.csv):

Training and prediction

The regression type predictive model uses a numeric answer for the question based on the previous samples. For this example, we will use this regression type predictive model. Take a look at the file located at (https://github.com/PacktPublishing/Learning-Salesforce-Einstein/blob/master/Chapter1/SFOpportunity.csv). The first column is probability, the second column is opportunity stage and the last column is the opportunity revenue. If you look carefully, you will notice that there is some correlation between the type of opportunity, expected revenue, and probability.

If you observe the dataset sample closely, you will see that for opportunities of type Existing customers, the higher the expected revenue, the more the probability.

To train the Dataset, we will leverage the Prediction API provided by Google. The complete set of APIs is listed in the following table:

API Description
prediction.hostedmodels.predict This submits an input and requests an output against a hosted model.
prediction.trainedmodels.analyze This gets an analysis of the model and the data the model was trained on.
prediction.trainedmodels.delete This deletes a trained model.
prediction.trainedmodels.get This checks the training status of your model.
prediction.trainedmodels.insert This trains a Prediction API model.
prediction.trainedmodels.list This lists available models.
prediction.trainedmodels.predict This submits a model ID and requests a prediction.
prediction.trainedmodels.update This adds new data to a trained model.

If you recall, machine learning consists of three steps:

  1. Load the sample dataset.
  2. Train the data.
  3. Use the generated function to predict the outcome for the new Dataset.

Integration architecture

The following diagram shows the Integration Architecture that we have adopted for experimenting with Google Prediction API and Salesforce Data:

Integration Architecture For Using Google Prediction API with Salesforce

The data will be loaded into the Google Cloud bucket and trained using Prediction API manually using the console, and a model is formed. We will submit the query to the formed model by triggering an HTTP request to the Google Prediction API from Salesforce. The architecture is purposefully kept very simple to help readers grasp the fundamentals before we approach Prediction API in detail.

If you have multiple Google accounts, it is recommended that you use the incognito mode of browser to experiment.

The following are the steps required to train the dataset via Google Prediction API. Note that we will use prediction.trainedmodels.insert to train the model:

  1. Load the Sample Dataset: At this point, the assumption is that you have extracted data out of the Salesforce opportunity object and loaded it into the Google Cloud Storage. The steps are covered in the prerequisites section.
  1. Training the Dataset: Let's use the API explorer to train the sample data using API. The API explorer of Google is located at https://developers.google.com/apis-explorer/#s/prediction/v1.6/.

The following screenshot shows how one can train the model:

The request and response JSON are shown as follows. Note that the learned-maker-155103 is the
Project ID. Replace with your current Project ID.

Request Payload:

        POST https://www.googleapis.com/prediction/v1.6/projects
/learned-maker-155103/trainedmodels
{
"modelType": "regression",
"id": "opportunity-predictor",
"storageDataLocation":
"salesforceeinstein/SFOpportunity.csv"
}
In the previous request JSON, the learned-marker-155103 is the Project ID of the Google project. For the ID value, one can choose anything and it is used to track the status of the model training

Carefully, note that we have pointed the location in Cloud Storage where our data resides. Once successful, we get a response from the API, which is shown as follows:

Response Payload:

        200
{
"kind": "prediction#training",
"id" : "opportunity-predictor",
"selfLink": "https://www.googleapis.com/prediction/v1.6
/projects/learned-maker-155103/trainedmodels/opportunity-
predictor", "storageDataLocation":
"salesforceeinstein/SFOpportunity.csv"
}

We can monitor the status of the data training via API prediction.trainedmodels.get.

The request to execute in the console is as follows:

Request Payload:

       GET https://www.googleapis.com/prediction/v1.6/
projects/learned-maker-155103/trainedmodels/opportunity-
predictor

Response Payload:

       200
{
"kind": "prediction#training",
"id": " opportunity-predictor",
"selfLink": "https://www.googleapis.com/prediction/v1.6/
projects/learned-maker-155103/trainedmodels/opportunity-
predict",
"created": "2017-01-18T19:10:27.752Z",
"trainingComplete": "2017-01-18T19:10:48.584Z",
"modelInfo": {
"numberInstances": "18",
"modelType": "regression",
"meanSquaredError": "79.61"
},
"trainingStatus": "DONE"
}

You will get a response showing the training status, which is shown here:

      DONE

Note that if your data does not have any correlation, then you will see a very high value of meanSquaredError.

  1. Using the trained Dataset to predict the outcome: For this, we will create a simple trigger on the opportunity object in Salesforce to make an asynchronous API call to invoke the Google Prediction API to predict the probability of opportunity closure.

Before we add Triggers to Salesforce, make sure that Predicted_Probability field is created in the Salesforce. To create a field in Salesforce follow the following steps:

  1. Navigate to SETUP | Object Manager | Opportunity in Lightning experience or Setup | Opportunities | Fields | New in Classic experience.
  2. Select the Field type as Number (with length as 5 and decimal places as 2) and follow the defaults and save:

The trigger code uses Apex, which is similar to JAVA provided by the Salesforce platform to write business logic. For the purposes of demonstration, we will keep the code very simple:

      //Trigger makes an API call to Google Prediction API 
to predict opportunity probability
//Please note that this trigger is written for demonstration
purpose only and not bulkified or batched
trigger opportunityPredictor on Opportunity (after insert) {
if(trigger.isinsert && trigger.isAfter){
OpportunityTriggerHelper.predictProbability
(trigger.new[0].Id);
}
}

If you are using Salesforce Classic, the navigation path to add that trigger an opportunity is SETUP | Customize | Opportunities | Triggers.

For Lightning experience, the path is SETUP | Triggers | Developer Console. Use Developer Console to create a trigger

Also note that since triggers use apex classes, first save the dependent apex classes before saving the apex trigger.

The Apex class that is invoked from the trigger is as follows:

SETUP | Develop | Apex Classes

      //Apex Class to make a Callout to Google Prediction API
public with sharing class opportunityTriggerHelper{
@future(callout=true)
public static void predictProbability(Id OpportunityId){
Opportunity oppData = [Select Id,Amount,Type,
Predicted_Probability__c from Opportunity where Id =
:OpportunityId];
HttpRequest req = new HttpRequest();
req.setEndpoint('callout:Google_Auth');
req.setMethod('POST');
req.setHeader('content-type','application/json');
//Form the Body
PredictionAPIInput apiInput = new PredictionAPIInput();
PredictionAPIInput.csvData csvData =
new PredictionAPIInput.csvData();
csvData.csvInstance = new list<String>{
oppData.Type,String.valueof(oppData.Amount)};
apiInput.input = csvData;
Http http = new Http();
req.setBody(JSON.serialize(apiInput));
HTTPResponse res = http.send(req);
System.debug(res.getBody());
if(res.getStatusCode() == 200){
Map<String, Object> result = (Map<String, Object>)
JSON.deserializeUntyped(res.getBody());
oppData.Predicted_Probability__c =
Decimal.valueof((string)result.get('outputValue'));
update oppData;
}
}
}

The apex class for parsing the JSON is as follows:

       public class PredictionAPIInput {
public csvData input;
public class csvData {
public String[] csvInstance;
}
}

Salesforce Apex offers HTTP methods for us to make calls to an external API. We are leveraging that and the configuration in the named credential to make an HTTP request to the Google Prediction API.

Setting authentication for calling API from SFDC

To simplify the authentication, we will use a named credential in Salesforce and auth settings to keep it configurable. Note that this is not scalable, but it's a quick way to integrate Salesforce with Google for the purposes of demonstration only. You can use a service account or set up a full OAuth 2.0 if you are considering a scalable approach.

The steps to authorize Salesforce to access the Google Prediction API are as follows:

  1. Generate a client ID and client secret via the Google Auth screen. To generate this, navigate to the console URL (https://console.developers.google.com/apis/credentials). Choose the subtab Oauth consent screen and fill in the Product name shown to users as Salesforce and save the OAuth consent screen form.

    The following screenshot shows the OAuth consent screen and details one has to fill in to generate the Consumer Secret and Consumer Key:

Once an OAuth consent screen is created, create a web application and note the Consumer Secret and Consumer Key. This will be used in the Salesforce Auth. Provider screen:

  1. Use Auth in Salesforce to set up authorization, as shown in the following screenshot. The path for it is SETUP | Security Controls | Auth. Providers | New

Select the Provider Type as Google. The following screenshot shows the form. Note that we use the Consumer Key and Consumer Secret from step 1 as input to the Auth. Provider form:

The following screenshot shows the saved Auth. Provider record. Note the Callback URL as it will be fed back to the Google OAuth consent screen:

  1. Note down the Callback URL from the Auth. Provider screen. The Callback URL needs to be added back to the Google Auth screen. The following screenshot shows the redirect URL configuration in the Google OAuth screen:
  1. Use Named Credentials so that we avoid passing the authorization token. Carefully note the scope defined in the SETUP. The path for it in Classic is: Setup | Security Controls | Named Credentials:
  1. Testing out the results is the final step to test our model and use it with a real-time record creation screen in Salesforce. Create an opportunity record and indicate the type and the amount of opportunity. Once a Salesforce record is inserted, a trigger fires, calling the Prediction API with a new Dataset, and the result is stored back in the custom probability field.
Note that if you get an authentication error in the logs, go to Named Credentials to authorize the app again.

The API that the Apex trigger code hits is as follows:

https://www.googleapis.com/prediction/v1.6/projects/learned-maker-155103/trainedmodels/opportunity-predictor/predict

To test, create the Salesforce new record and add fields such as type and amount and monitor the custom probability field on the Salesforce opportunity record.

Note that we are using the custom field for probability. Also note that we have switched our Salesforce organization to use new Lightning Experience. Salesforce offers Classic and Lightning Experience. Classic is an older user interface, while Lightning Experience is a modern interface. To enable Lightning Experience in your developer org under the Setup menu you will find a menu item named Switch To Lightning Experience. You can always toggle between Lightning and Classic in your developer org.

To switch to the Salesforce Lightning experience, consider the following screenshot:

The following screenshot shows the results obtained in Lightning Experience, and, clearly, the Predicted_Probability field is populated:

Drawback of this approach

The preceding approach is not scalable, while it serves as a great experiment to understand the fundamentals of a machine learning process.

From the previous experiment, the following are the conclusions:

  • The prediction system uses a larger Dataset and, hence, considering data limits on the Salesforce platform, it's always better to have a big data server collecting the data and forming the model
  • There is a need to train the data periodically to get an appropriate model and keep it up-to-date
  • Machine learning uses statistical analysis under the hood. In this scenario, we are using the regression model. As an app developer, there is no need to really dig into mathematics although there is no harm in doing so
Google is planning to shut down its PredictionAPI services from June 2018. We have used it for experimental purposes only. Please check the article at https://cloud.google.com/prediction/docs/end-of-life-faq to learn more. Instead, for the future, Google has introduced cloud machine learning services. If you are planning to build machine learning tasks with Google API, you will prefer the machine learning services documented at https://cloud.google.com/products/machine-learning/.

Summary

The aim of the chapter was to introduce Salesforce developers to the world of AI and machine learning. In the next chapter, we will further understand how AI can make CRM and Cloud applications smarter with simple declarative features. We will also see various Cloud offerings from Salesforce and how Einstein is adding the AI across Cloud products, such as sales, service, communities, and marketing cloud.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Make better predictions of your business processes using prediction and predictive modeling
  • Build your own custom models by leveraging PredictionIO on the Heroku platform
  • Integrate Einstein into various cloud services to predict sales, marketing leads, insights into news feeds, and more

Description

Dreamforce 16 brought forth the latest addition to the Salesforce platform: an AI tool named Einstein. Einstein promises to provide users of all Salesforce applications with a powerful platform to help them gain deep insights into the data they work on. This book will introduce you to Einstein and help you integrate it into your respective business applications based on the Salesforce platform. We start off with an introduction to AI, then move on to look at how AI can make your CRM and apps smarter. Next, we discuss various out-of-the-box components added to sales, service, marketing, and community clouds from Salesforce to add Artificial Intelligence capabilities. Further on, we teach you how to use Heroku, PredictionIO, and the Force platform, along with Einstein, to build smarter apps. The core chapters focus on developer content and introduce PredictionIO and Salesforce Einstein Vision Services. We explore Einstein Predictive Vision Services, along with analytics cloud, the Einstein Data Discovery product, and IOT core concepts. Throughout the book, we also focus on how Einstein can be integrated into CRM and various clouds such as sales, services, marketing, and communities. By the end of the book, you will be able to embrace and leverage the power of Einstein, incorporating its functions to gain more knowledge. Salesforce developers will be introduced to the world of AI, while data scientists will gain insights into Salesforce’s various cloud offerings and how they can use Einstein’s capabilities and enhance applications.

Who is this book for?

This book is for developers, data scientists, and Salesforce-experienced consultants who want to explore Salesforce Einstein and its current offerings. It assumes some prior experience with the Salesforce platform.

What you will learn

  • Get introduced to AI and its role in CRM and cloud applications
  • Understand how Einstein works for the sales, service, marketing, community, and commerce clouds
  • Gain a deep understanding of how to use Einstein for the analytics cloud
  • Build predictive apps on Heroku using PredictionIO, and work with Einstein Predictive Vision Services
  • Incorporate Einstein in the IoT cloud
  • Test the accuracy of Einstein through Salesforce reporting and Wave analytics
Estimated delivery fee Deliver to Indonesia

Standard delivery 10 - 13 business days

$12.95

Premium delivery 5 - 8 business days

$45.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jun 28, 2017
Length: 334 pages
Edition : 1st
Language : English
ISBN-13 : 9781787126893
Vendor :
Salesforce
Category :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Estimated delivery fee Deliver to Indonesia

Standard delivery 10 - 13 business days

$12.95

Premium delivery 5 - 8 business days

$45.95
(Includes tracking information)

Product Details

Publication date : Jun 28, 2017
Length: 334 pages
Edition : 1st
Language : English
ISBN-13 : 9781787126893
Vendor :
Salesforce
Category :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 170.97
Learning Salesforce Einstein
$60.99
Salesforce Lightning Reporting and Dashboards
$54.99
Learning Salesforce Visual Workflow and Process Builder
$54.99
Total $ 170.97 Stars icon

Table of Contents

9 Chapters
Introduction to AI Chevron down icon Chevron up icon
Role of AI in CRM and Cloud Applications Chevron down icon Chevron up icon
Building Smarter Apps Using PredictionIO and Heroku Chevron down icon Chevron up icon
Product Recommendation Application using PredicitionIO and Salesforce App Cloud Chevron down icon Chevron up icon
Salesforce Einstein Vision Chevron down icon Chevron up icon
Building Applications Using Einstein Vision and Salesforce Force.com Platform Chevron down icon Chevron up icon
Einstein for Analytics Cloud Chevron down icon Chevron up icon
Einstein and Salesforce IoT Cloud Platform Chevron down icon Chevron up icon
Measuring and Testing the Accuracy of Einstein Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(1 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
LR Jul 14, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Mohith does a nice job introducing Einstein to Salesforce developers and data scientists. If you are looking to learn more about applying artificial intelligence to your Salesforce org using Einstein this book is a valuable resource. Chapters are well organized containing clear visuals which make it easy for almost any experienced Salesforce dev, data scientist, and architect to follow. Overall great value and highly recommended!
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela