If you’ve heard about Watson Workspace and Work Services but have been wondering just what makes it different from other chat systems from a developer’s perspective, then this session is for you. We’ll start by showing what these two offerings — Workspace and Work Services — bring to the table for developers, and what they provide that’s unique. Then we’ll go through the steps of creating two applications: one which integrates with Workspace and the other which invokes Work Services APIs. You’ll see first-hand the steps necessary to get your applications up and running, and you’ll have access to sample code to use as a start for your own solutions.
5. Social Connections 11 Chicago, June 1-2 2017
“We’ve spent the last 50 years teaching humans
how to use computers. Now we need to teach
computers how to understand humans.”
Rob High
IBM Fellow
VP & CTO IBM Watson
7. Social Connections 11 Chicago, June 1-2 2017
Annotations
Information which elaborates on
the original message:
• information
• moment
• focus
• generic
8. Social Connections 11 Chicago, June 1-2 2017
Information Annotation
Message: “What is my family like?”
keywords
taxonomy
sentiment
9. Social Connections 11 Chicago, June 1-2 2017
Moment Annotation
Message: “What is my family like?”
10. Social Connections 11 Chicago, June 1-2 2017
Focus Annotation
Message: “What is my family like?”
?
11. Social Connections 11 Chicago, June 1-2 2017
Watson Conversation
Create natural conversations
between your apps and users,
without any coding experience
required.
18. Social Connections 11 Chicago, June 1-2 2017
Watson Work Services APIs
REST
APIs
Webhook
APIs
GraphQL
APIs
19. Social Connections 11 Chicago, June 1-2 2017
Webhook events
• message-created: each time a new message is created in
the space
• space-members-added: each time a member is added to the
space
• space-members-removed: each time a member is removed
from the space
• message-annotation-added: each time an annotation is
added to a message
• message-annotation-edited
• message-annotation-removed
20. Social Connections 11 Chicago, June 1-2 2017
Post a message using REST
1. Register app with
Watson Work
2. Retrieve
credentials
3. Authenticate via
oauth
4. Retrieve access
token
5. Use token for
subsequent calls
21. Social Connections 11 Chicago, June 1-2 2017
Retrieve information using GraphQL
GraphQL – a declarative query language
• uses a JSON like syntax over HTTP
• request exactly the data you need
across any number of micro-services
• get back a tailored response in a
single round trip
=> build highly performing applications
22. Social Connections 11 Chicago, June 1-2 2017
GraphQL
Editor
https://workspace.ibm.com/graphql
Watson Work is a cognitive collaborative chat solution.
Cognitive – a system which can Understand, Reason, and Learn
Collaborative – engages multiple people for the purpose of accomplishing a particular task or the sharing of knowledge
Chat – the medium of engagement is short text messages which could include images, files, and links to external content
We know people, or perhaps we are people, who understand and can talk to computers. We call them programmers. We are trying to teach computers how to understand humans in two areas: meaning and intent. The meaning is the information content of a message. The intent is the purpose or goal inherent in the meaning. Examples of intent: question, commitment, and action request.
Watson Work is a combination of two things: Work Services and Workspace. Work Services are the APIs which enable the cognitive and collaborative chat experience. Workspace is a reference implementation of that experience.
A focus annotation is either an intent (from an earlier slide: question, commitment, or actionrequest) which has that intent as the “lens”, or it can be the result of Watson Conversation recognizing an intent that you have configured for it. In the case of this example, the Watson Conversation intent is “family” so that is the value of the lens. See subsequent slides for details.
An intent has been created called “#family”, so the focus annotation from a few slides back has been added to the message, with the payload containing the response from Watson Conversation.
Integrating a Watson Conversation into a Workspace is as simple as providing the conversation ID. No coding necessary!
And now we see where the payload came from. Try doing THAT with Slack.
A Generic annotation is provided by an application – a bot.
A simple example of looking at an annotation (in this case, sentiment) and determining something about the conversation and people involved.