How to Troubleshoot Apps for the Modern Connected Worker
His master's voice, take command of Einstein Analytics
1. His Master’s Voice
Skip Sauls
Sr. Director of Product, Einstein Analytics
ssauls@salesforce.com
@SkipSauls
Take Command of Einstein Analytics
Chris Jolley
Architect, Einstein Analytics
cjolley@salesforce.com
@jolley
2. Forward Looking Statements
Statements under the Private Securities Litigation Reform Act of 1995
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or
implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking,
including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements
regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded
services or technology developments and customer contracts or use of our services.The risks and uncertainties referred to above include – but
are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new
business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web
hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and
acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our
employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling
non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect
the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly
report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC
Filings section of the Investor Information section of our Web site.Any unreleased services or features referenced in this or other presentations,
press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services
should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not
intend to update these forward-looking statements.
5. Einstein Voice
Einstein Voice Bots
for your customers
Einstein Voice Assistant
for Salesforce users
Voice Assistant (mobile): Pilot 216
Voice Analytics: Pilot 218
Voice Daily Briefings*: March/April 2019
Voice Bots*: Pilot 220
8. Voice-Driven Analytics
Query Einstein Analytics Using Natural Language
“who is the success
manager for spencer”
Einstein
Analytics
Commander
Einstein Analytics Engine
Invocable
Action
Actions on
Google
“Agretha Szreter is the
Success Manager for
Spencer LLC.”
SAQLResults
9. Commands
Interact with Salesforce Lightning via Platform Events
“show dashboard demo 2”
Einstein
Analytics
Commander
Invocable
Action
Actions on
Google
Platform Event
Salesforce
Metadata
12. Voice Commander *
Salesforce Platform Service
Platform
Events
SObjects
APIs
Apex
Analytics
Public
Clouds
Any Device
* Spring ‘19 Pilot, all features are subject to change
13. Commander REST Endpoints *
Standard Connect APIs
● .../einstein-conduit/actions[/0Xmxx0000000000]
○ GET, PUT, POST, DELETE
● .../einstein-conduit/actions/0Xmxx0000000000/intents[/0Xoxx0000000000]
○ GET, PUT, POST, DELETE
● .../einstein-conduit/actions/0Xmxx0000000000/parameters[/0Xnxx0000000000]
○ GET, PUT, POST, DELETE
● .../einstein-conduit/commander
○ POST
* Spring ‘19 Pilot, all features are subject to change
15. Command Actions
Intents & Parameters
<?xml version="1.0" encoding="UTF-8"?>
<CommandAction xmlns="http://soap.sforce.com/2006/04/metadata">
<actionType>ViewAnalyticsDashboard</actionType>
<description>Command actions for generic dashboard viewing.</description>
<intents>
<phrase>View dashboard {dashboardName}</phrase>
</intents>
<intents>
<phrase>View my payment schedule {dashboardName=Amortized Schedule}</phrase>
</intents>
<label>English - View Dashboard</label>
<parameters>
<name>dashboardName</name>
<required>true</required>
<type>StringType</type>
</parameters>
</CommandAction>
* Spring ‘19 Pilot, all features are subject to change
16. Command Actions
Custom Action Types w/ Apex Invocable Action Handlers
<?xml version="1.0" encoding="UTF-8"?>
<CommandAction xmlns="http://soap.sforce.com/2006/04/metadata">
<actionType>InvocableActionApex</actionType>
<intents>
<phrase>who {objectType=Account} is the {fieldLabel} for {objectName}</phrase>
</intents>
<intents>
<phrase>what {objectType=Account} is the {fieldLabel} for {objectName}</phrase>
</intents>
<label>Demo</label>
<parameters>
<name>objectName</name>
<required>true</required>
<type>StringType</type>
</parameters>
<parameters>
<name>objectType</name>
<required>true</required>
<type>StringType</type>
</parameters>
<parameters>
<name>fieldLabel</name>
<required>true</required>
<type>StringType</type>
</parameters>
<target>DemoInvocable</target>
</CommandAction>
* Spring ‘19 Pilot, all features are subject to change
17. Command Actions
Apex Invocable Action Handlers
global with sharing class DemoInvocable{
@InvocableMethod(
label='Demo'
description='Handles the Demo use cases'
)
global static List<Response> performOperation(List<Request> requests)
{
System.debug('DemoInvocable.performOperation');
return new DemoInvocable(requests.get(0)).doAutoInvoke();
}
global class Request {
@InvocableVariable(required=true)
global String objectName;
@InvocableVariable(required=true)
global String objectType;
@InvocableVariable(required=true)
global String fieldLabel;
}
* Spring ‘19 Pilot, all features are subject to change
global class Response {
@InvocableVariable
global String speech;
@InvocableVariable
global String text;
}
public List<Response> doAutoInvoke() {
Response response = new Response();
response.text = ‘Hello, World!’;
response.speech = ‘Hello, World’;
List<Response> rv = new List<Response>();
rv.add(response);
return rv;
}
}
18. Command Actions
Platform Events - Handled by Clients
{
"data": {
"schema": "SNqhhJdMe3QSSqlmswue-w",
"payload": {
"eadx__payload__c": "{"action":{"description":"Command actions for generic dashboard
viewing.","id":"0XmB0000000000AKAQ","label":"English - View
Dashboard","name":"en_US_ViewDashboard","type":"ViewAnalyticsDashboard","uri":"/services/data/v45.0/einstein-conduit/actions
/0XmB0000000000AKAQ"},"parameters":{"dashboardName":"image Test
2"},"response":{"items":[{"createdBy":{"id":"005B0000003G9n2IAC","name":"Skip
Sauls","profilePhotoUrl":"https://adx-dev-ed--c.gus.content.force.com/profilephoto/729B0000000Gv7A/T"},"createdDate":"2018-09-13
T21:40:55.000Z","id":"0FKB0000000Di8eOAC","label":"Image Test
2","lastModifiedBy":{"id":"005B0000003G9n2IAC","name":"Skip
Sauls","profilePhotoUrl":"https://adx-dev-ed--c.gus.content.force.com/profilephoto/729B0000000Gv7A/T"},"lastModifiedDate":"2018-
09-19T16:26:54.000Z","name":"Image_Test_2","state":"Analytics.Dashboard.0FKB0000000Di8eOAC","uri":"https://adx-dev-ed.my.sal
esforce.com/analytics/wave/dashboard?assetId=0FKB0000000Di8eOAC&orgId=00DB0000000CXZM&loginHost=gs0.salesforce.com&urlType=sharing"}],
"state":"Analytics.Dashboard"}}",
"CreatedById": "005B0000003G9n2IAC",
"CreatedDate": "2019-03-07T23:34:12.235Z"
},
"event": {
"replayId": 809
}
},
"channel": "/event/Command__e"
}
* Spring ‘19 Pilot, all features are subject to change
38. Einstein Analytics Learning Path Quick Start: Einstein Analytics
Analytics SFDX CLI Plugin Analytics App Template Development
Einstein Discovery trail
Analytics Partner Community
40. Thank You
Remember to tell us what you think in the event survey
www.LondonsCalling.net/survey/
Skip Sauls
Sr. Director of Product, Einstein Analytics
ssauls@salesforce.com
@SkipSauls
Chris Jolley
Architect, Einstein Analytics
cjolley@salesforce.com
@jolley