BotCommons: Metadata for Bots - Devoxx 2017

25
twitter://@SteveSfartz #Devoxx #BotCommons Metadata for Bots Stève SFARTZ, API Evangelist @CiscoDevNet

Transcript of BotCommons: Metadata for Bots - Devoxx 2017

twitter://@SteveSfartz#Devoxx #BotCommons

Metadata for BotsStève SFARTZ, API Evangelist @CiscoDevNet

twitter://@SteveSfartz#Devoxx #BotCommons

/Cisco/DevNet/SteveSfartz

API Evangelist @CiscoDevNet

Cisco Spark Apps & Tropo APIs

#NodeJS mainly, a bit of #golang

France and all around Europe

hosted @PIRL – Paris Innovation

Center & Research Lab

twitter://@SteveSfartz

github://ObjectIsAdvantag

“vision without

execution is

hallucination”

-- Thomas Edison

[email protected]

@SteveSfartz

twitter://@SteveSfartz#Devoxx #BotCommons

My bot journey

- june 2016 : ‘node-sparkbot’ framework

- need of an healthcheck endpoint quickly emerged

- a year of Enterprise Bots hacking

- design, conversations, operations, analytics

- experimented various bot frameworks

- investment on Botkit (multi-platform, conversations, community)

GAPS that would need more than a framework to solve

twitter://@SteveSfartz#Devoxx #BotCommons

My first bot

Educational purpose

- learning the keyboard

- french spelling

twitter://@SteveSfartz#Devoxx #BotCommons

[email protected]

twitter://@SteveSfartz#Devoxx #BotCommons

Enriched healthcheck

6

twitter://@SteveSfartz#Devoxx #BotCommons

Enriched healthcheck

7

twitter://@SteveSfartz#Devoxx #BotCommons

Taking Bots to the Next Stage

- but who created the bot?

- what is the usage policy?

- how can I contact support, send feedback?

- what about data privacy?

twitter://@SteveSfartz#Devoxx #BotCommons

Is the bot down?

twitter://@SteveSfartz#Devoxx #BotCommons

Healthcheck with Botkit

10

twitter://@SteveSfartz#Devoxx #BotCommons

Ask the bot!

twitter://@SteveSfartz#Devoxx #BotCommons

Is the bot down ?

- Register bots metadata in a Universal DB

- chat services supported

- owner, support, usage terms, data privacy

- healthcheck endpoints

12

twitter://@SteveSfartz#Devoxx #BotCommons

Metadata for Bots

- Focus on the User

Experience: use-cases.md

- Specifications of the

BotCommons object

- Implementation examples

for various platforms

https://github.com/BotCommons

twitter://@SteveSfartz#Devoxx #BotCommons

BotCommons Object

twitter://@SteveSfartz#Devoxx #BotCommons

Access methods

The bot MUST provide a public HTTP endpoint

AND/OR a built-in command

- public HTTP endpoints

- BotCommons endpoint

- Optional Healthcheck

- Built-in commands

- ‘.commons’

- ‘about’

twitter://@SteveSfartz#Devoxx #BotCommons

BotCommons with

Botkithttps://github.com/BotCommons/ciscospark-botkit-example

twitter://@SteveSfartz#Devoxx #BotCommons

Pluggable architecture

- botcommons.js plugin

- healthcheck.js plugin

- .commons.js skill

- About skill

- Glitch demo

- Heroku powered

twitter://@SteveSfartz#Devoxx #BotCommons

BotCommons plugin

twitter://@SteveSfartz#Devoxx #BotCommons

Healthcheck plugin

twitter://@SteveSfartz#Devoxx #BotCommons

‘.commons’ skill

twitter://@SteveSfartz#Devoxx #BotCommons

‘about’ skill

twitter://@SteveSfartz#Devoxx #BotCommons

Foreseen arbitrations / challenges

- Mandatory healthcheck?

- Declare one or several messaging platforms?

- Declare how to start interacting with the bot? (public,

private, invitation only)

- Supported interaction media (message, voice, phone)?

twitter://@SteveSfartz#Devoxx #BotCommons

Next steps

- Publish v0.1 of specifications

- Code an implementation for Cisco Spark with Botkit

- Code an implementation for Slack with Botkit

- Code an implementation for Messenger with Bot Builder

- Create a BotCommons Registry API

- Create BotCommons bots for various platforms

twitter://@SteveSfartz#Devoxx #BotCommons

Resources

- BotCommons

- Specifications & example implementations

- https://github.com/BotCommons/

- ‘Create Conversational Bots with Botkit’

- Step-by-step learning lab

- https://learninglabs.cisco.com/tracks/collab-cloud/spark-

integration-services/collab-spark-botkit/step/1

twitter://@SteveSfartz#Devoxx #BotCommons

THANK YOU