The GitHub Sample bot contains a basic configuration for registering an app with GitHub, generating authentication tokens, and then adding those tokens to the bot in Bot Builder. After configuration, you can test the bot using the Talk to Bot feature to test any of the following configured alerts and actions.
- Alert Tasks
- Commit update
- Issue created
- Pull Request Notification
- Action Tasks
- Create Pull Request
- Comment Issue
- Create Issue
Installing the GitHub Sample Bot
The GitHub Sample Bot is only available in Bot Builder and must be added as a new bot. It is a limited design specifically configured to demonstrate certain bot features.
Step 1: Install the GitHub Sample Bot
- Log on to Bot Builder, and then click New Bot. The Select an Option page is displayed.
- Click Install Sample Bot. The Select Sample Bot page is displayed.
- Point to the GitHub Sample bot, and then click the Install button.
- On the GitHub Sample page, on the Instructions tab, copy the callback URL https://idp.kore.ai/workflows/callback. You need to paste into your Github App registration later.
Step 2: Register your GitHub App
- To register your Github App, log on to GitHub at https://github.com/settings/developers.
- Select OAuth applications on the lefthand navigation menu, and then click Register a new application.
- In the Application name field, enter the name of your GitHub App, for example, My GitHub App.
- Optionally, add a Homepage URL and Application description.
- Paste the URL copied from Bot Builder, https://idp.kore.ai/workflows/callback, into the Authorization callback URL field as shown in the following illustration.
- Click Register application. The < My GitHub App name > page is displayed as shown in the following illustration with client credentials.
- Copy the GitHub Client ID and Client Secret into the ClientID and ClientSecret fields on the Configuration tab in Bot Builder as shown next, and then click Done.
- The GitHub Sample successfully installed message is displayed.
Step 3: Authorize the Bot
In Bot Builder on the Home page, select your bot, and then click the Talk to Bot icon to test the GitHub Sample bot. A link to authorize Kore.ai to access your GitHub repository is displayed on first use of the bot. Click the link, and then complete a one-time authorization for the user with GitHub.
How Does the Sample Bot Work?
Try out your bot using Talk to Bot and test all the alerts and actions. Then review the configuration tabs of the bot in Bot Builder:
Bot Tasks – Add or modify tasks. This bot is configured with 3 alert tasks and 3 actions task. You can also add dialog tasks, information tasks, knowledge tasks, and configure flows.
- Dialog Tasks – Consists of multiple sub-intents and component nodes to conduct a complex conversational flow between a user and the bot.
- Alert Tasks – Monitors a web service for events and then sends a notification message to the user when the event occurs. You can use this task type for scheduled polling or near real-time notification using webhooks.
- Information Tasks – Provides a report of data by asking the user for input parameters and then executing a web service call. The formatted data is presented to the user as a link to a report that a user can click to display the data, for example, Show my tickets, or 3-day Weather Forecast.
- Action Tasks – Queries a user on demand for input parameters, and then executes a web service call along with a confirmation message, for example, Create New Ticket, or Get Weather for this Location.
- Knowledge Graph – Turns static FAQ pages into intelligent, personalized conversational experience. Build an ontology of crucial terms, add questions to the right nodes in the hierarchy and leave the task of responding to users to the bot, thus enabling your Support staff to engage with more complex tasks.
- Creating Flows – Associates one task to another task of the same or different Bot. For example, a flow for a Twitter tweet notification could be to Create New Follower.
Natural Language – Review and optimize natural language processing and machine language understanding of your bot using:
- Training – In the Training section, you can test how the NLP interpreter recognizes and responds to user input for a Bot, and then if needed, train the interpreter to recognize the correct user intent. For more information, see Training Your Bot.
- Machine Learning – With Machine Learning, you can enhance Bot recognition of user utterances for better recognition and system performance for the user intent, which is the intended task that the user wants to access. For more information, see Machine Learning.
- Synonyms – You can use the Synonyms section to optimize the NLP interpreter accuracy in recognizing the correct task and task field provided by the user for the names of your tasks and task fields. For more information, see Managing Synonyms.
- Patterns – In the Patterns section, you can define slang, metaphors, or other idiomatic expressions for task names and task fields. For more information, see Managing Patterns.
- Standard Responses – Standard responses are pre-defined text responses to users based on an event, condition, trigger, or user input. In the Standard Responses section, you can modify existing bot responses, or add additional responses for the same event.For more information, see Managing Standard Responses.
- Ignore Words & Field Memory – In this section, you can configure bot intelligence by persisting data for each task to pre-populate data fields in another related task for the same bot in the Field Memory settings for each task. You can also define words to ignore in user utterances to increase performance and intent recognition. For more information, see Managing Ignore Words & Field Memory.
- Task Identification Settings – In this section, you can define the recognition confidence levels required for minimum recognition actions, the confidence range for asking a user to choose from a list of possible matches, and a recognition confidence level for a positive match for knowledge tasks. For more information, see Task Identification Settings.
Channels – Enable this bot for one or more communication channels. This bot is enabled for the Kore channel by default. You can configure this bot to run in the following channels:
- Email – Generates an email address that end-users can send messages to interact with your bot. For more information, see Adding the Email Channel.
- Twilio – Displays the Twilio Channel page used to define settings for the Twilio messaging gateway to allow end-users to interact with your bot using SMS text messages. For more information, see Adding the Twilio Channel.
- Kore.ai – The bot users can access your bot using the Kore.ai Messaging application. By default, the Kore.ai channel is always enabled. For more information, see Adding the Kore.ai Channel.
- Facebook Messenger – Displays the Facebook Messenger Channel page used to define settings to allow end-users to interact with your bot using the Facebook Messenger application. This is a six-step configuration process. For more information, see Adding the Facebook Messenger Channel.
- Slack – Displays the Slack Channel page used to define settings to allow end-users to interact with your bot using Slack. This is a four-step process. For more information, see Adding the Slack Channel.
- Web / Mobile Client – Displays the Web / Mobile Client Channel page that you can use to register your company application and generate authentication tokens to allow end-users to interact with your bot using your company application. Only one company application can be registered to your bot, and only one set of authentication tokens are generated per bot for applications using the Kore.ai SDKs. For more information, see Adding the Web/Mobile Client Channel.
- Cisco Spark – Opens the Cisco Spark Channel page used to define the Cisco app registration, generate security tokens, and then integration with Spark for Kore.ai bots. For more information, see Adding the Cisco Spark Channel.
- Twitter – Displays the Twitter Channel page used to register with Twitter for the App Management Console to define an app to integrate your bot with the end-user Twitter account. For more information, see Adding the Twitter Channel.
- Skype – Displays the Skype Channel page where you register your bot on the Microsoft Bot Framework for Skype using a webhook. For more information, see Adding the Skype Channel.
- Skype for Business – Displays the Skype for Business Channel page where you register your bot on the Microsoft Bot Framework for Skype using a webhook. For more information, see Adding the Skype for Business Channel.
- Microsoft Teams – Displays the Microsoft Teams Channel page used to register your bot on the Microsoft Bot Framework developer portal, and then enable your bot in the Microsoft Teams messaging channel. For more information, see Adding the Microsoft Teams Channel.
- Cisco Tropo – On the Cisco Tropo Channel page, you can follow the steps to create a Cisco Tropo app, get an API key, and then enable the channel for messaging in the Cisco Tropo messaging application. For more information, see Adding the Cisco Tropo Channel.
- Workplace By Facebook – Click to display the Workplace by Facebook page to configure the settings to create a custom integration and enable a webhook in the Facebook Developer portal. For more information, see Adding the Workplace by Facebook Channel.
- LINE- Displays the LINE channel page that you can use to register your bot and generate authentication token for channel configuration using a webhook. For more information, see Adding the LINE Channel
- Telegram- Clicking on Telegram, navigates you to the Telegram Channel page to setup configuration details to enable Telegram channel to your Kore.ai bot.For more information, see Adding the Telegram Channel
- Yammer- Displays the Yammer Channel page that you can use to setup configurations and authorize association of Yammer app with your Kore.ai bot.For more information, see Adding the Yammer Channel.
- LivePerson- Displays the LivePerson Channel that can be used to register your bot and to define configuration settings to enable association of your Kore.ai bot with LivePerson. For more information, see Adding the LivePerson Channel
- Jabber- Opens the Jabber Channel page that you can use to register your bot on the Jabber Application by setting up a webhook integration. For more information, see Adding the Jabber Channel.
- Twilio Voice- Displays the Twilio Channel page where you can define channel configurations and add the Twilio number to be associated with your Kore.ai bot. For more information, see Adding the Twilio Voice Channel
- Amazon Alexa- Click to open the Amazon Alexa channel page that you can use to setup configuration for your Kore.ai bot using a webhook. For more information, see Adding the Amazon Alexa Channel
Settings – Edit or define bot settings, such as name, icon, and other advanced settings:
- General Settings: Define or modify the Bot Name, Description, Icon, Color, and Purpose of Use. For more information, see General Bot Settings.
- Language Management: Manage bot languages and language detection capabilities. For more information, see Enabling an additional bot language.
- Authorization Profiles: Define one or more authorization profiles for your Bot to access your third-party web service as basic auth, oAuth v1, oAuth v2, or an API Key. For more information, see Bot Authorization.
- Invite Developer: In an enterprise, you can share your Bot for co-development to other developers. For more information, see Sharing Bots for Development.
- Bot Variables: Add variables that can be used when defining tasks and configurations. These are very useful when importing bot definitions between bots. For more information, see Using Bot Variables.
- Export Bot: Export bot tasks and configurations as a JSON file that can be imported into another bot. For more information, see Exporting and Importing Bots.
- Import Bot: Overwrite bot tasks and configurations by importing a valid JSON file. For more information, see Exporting and Importing Bots.
- IVR Settings: Enable and define IVR channel settings for the bot. For more information, see IVR Integration.
- Advanced Settings: Define optional advanced settings for your Bot to include enable for Hold & Resume, Bot Setup Confirmation Message, Bot Tenancy, Show Link for Task Setup/Execution, and customizing Bot Error Messages. For more information, see Advanced Bot Settings.
- Custom Library: Modify additional advanced settings like subdomains, bot contact card, and Kore.ai identity requirements.
- Change Logs: View a list of system events related to your Bot by a user, event, and timestamp. For more information, see Viewing the Bot Change Log.
- Delete Bot: Click to delete the Bot. Only unpublished and suspended bots can be deleted. If the bot has any published tasks, it cannot be deleted. For more information, see Deleting a Bot.
Analyze – You can review the full conversation between the Bots Platform and a user using Chat History. For more detail, you can review and analyze both successful, and unsuccessful interactions between a Bot and a user in the Chat Logs section. If necessary, based on the interaction, you can initiate Bot training to better handle future communication transactions. For more information, see Analyzing Your Bot.
The GitHub Sample bot is a basic alert and action task bot. You may also want to install and check out our other sample bots. For more information, see Installing Sample Bots.