Difference between revisions of "Configure the Collaboration Environment"

From Lingoport Wiki
Jump to: navigation, search
(Microsoft Bot Registration)
(LingoBot Cisco Spark Setup)
 
(9 intermediate revisions by 2 users not shown)
Line 2: Line 2:
   
 
== LingoBot Slack Setup ==
 
== LingoBot Slack Setup ==
This portion of the installation guide only applies if the collaboration environment you will be using is Slack. If you will be using either Flowdock or Cisco Spark, please skip to the corresponding setup instructions.
+
This portion of the installation guide only applies if the collaboration environment you will be using is Slack.
   
  +
1. Go to https://api.slack.com/apps
* Navigate to the [http://my.slack.com/services/new/bot Slack Custom Bot Creation] page, and log in as an account that is a part of your company's Slack organization.
 
* In the new bot username field, enter the name that you would like LingoBot to respond to.
 
** By default, we recommend simply calling it "'''lingobot'''", however you're welcome to name it whatever you would like.
 
** If you do choose to call it something other than "lingobot", make sure that you set the '''LINGOBOT_NAME''' variable in the configuration file to whatever name you chose.
 
*** Example: <code>export LINGOBOT_NAME=lingobot-123</code>
 
* Once you have decided on a name, click "'''Add Bot Integration'''" to continue to the next page.
 
* On this page, you can set a custom icon for the bot under the "'''Customize Icon'''" section. You can download the following icon [[File:Lingoport logo small.jpeg|30px]] and upload it, upload your own custom icon, or simply leave it blank.
 
* Once this is done, scroll down to the bottom of the page and click "'''Save Integration'''"
 
* Finally, copy the API Token that is provided near the top of the page and paste it into the LingoBot configuration file next to the HUBOT_SLACK_TOKEN variable declaration.
 
   
  +
2. Click '''Create New App'''
Example:
 
export HUBOT_SLACK_TOKEN=xoxb-1234567890000-aAbBcCdDeEfFgGtTfF
 
   
  +
3. Choose '''From an app manifest''' and choose a workspace. The workspace will probably be the company workspace
Furthermore, make sure the LINGOBOT_ADAPTER variable is set to "slack".
 
   
  +
4. Choose the '''YAML''' tab
Example:
 
  +
Enter App Manifest using contents of '''manifest.yaml'''
export LINGOBOT_ADAPTER=slack
 
  +
#manifest.yaml
  +
display_information:
  +
name: Lingobot App
  +
features:
  +
app_home:
  +
home_tab_enabled: false
  +
messages_tab_enabled: true
  +
messages_tab_read_only_enabled: false
  +
bot_user:
  +
display_name: lingobot
  +
always_online: true
  +
oauth_config:
  +
scopes:
  +
bot:
  +
- channels:history
  +
- channels:join
  +
- commands
  +
- chat:write
  +
- im:history
  +
settings:
  +
event_subscriptions:
  +
bot_events:
  +
- message.channels
  +
- message.im
  +
interactivity:
  +
is_enabled: true
  +
org_deploy_enabled: false
  +
socket_mode_enabled: true
  +
is_hosted: false
  +
token_rotation_enabled: false
  +
  +
5. Click the '''Create''' button
  +
  +
6. Once the app is created, select '''Install to Workspace'''
  +
  +
7. Then select '''Basic Information''' on the left side, scroll down to '''App-Level Tokens''' and click "Generate Token and Scopes", and click "Add Scope" to add all scopes
  +
  +
8. Click "Generate" to get an APP_TOKEN, copy and paste it to '''install.conf'''
  +
  +
APP_TOKEN=<generated token>
  +
  +
9. At "OAuth & Permissions" page, copy and paste the "Bot User OAuth Token" to install.conf
  +
  +
BOT_TOKEN=<generated token>
   
 
Once this is complete, the bot is now configured and ready to be installed! Follow the instructions below on running the installation script to finish the installation process.
 
Once this is complete, the bot is now configured and ready to be installed! Follow the instructions below on running the installation script to finish the installation process.
   
  +
Skip to the next step: [http://wiki.lingoport.com/LingoBot_Installation#Running_The_Installation_Script Running The Installation Script]
 
  +
[[Installing_the_Lingobot_Service|Next: Install and Start the Lingobot Service]]
   
 
== LingoBot CA Flowdock Setup ==
 
== LingoBot CA Flowdock Setup ==
Line 56: Line 92:
 
Once this is complete, the bot is now configured and ready to be installed! Follow the instructions below on running the installation script to finish the installation process.
 
Once this is complete, the bot is now configured and ready to be installed! Follow the instructions below on running the installation script to finish the installation process.
   
  +
Skip to the next step: [http://wiki.lingoport.com/LingoBot_Installation#Running_The_Installation_Script Running The Installation Script]
 
  +
[[Installing_the_Lingobot_Service|Next: Install and Start the Lingobot Service]]
   
 
== LingoBot Cisco Spark Setup ==
 
== LingoBot Cisco Spark Setup ==
Line 98: Line 135:
 
export LINGOBOT_ADAPTER=sparkwebhook
 
export LINGOBOT_ADAPTER=sparkwebhook
   
Once this is complete, the bot is now configured and ready to be installed! Follow the instructions below on running the installation script to finish the installation process.
+
Once this is complete, the bot is now configured and ready to be installed! Follow the instructions on running the installation script to finish the installation process.
  +
  +
  +
[[Installing_the_Lingobot_Service|Next: Install and Start the Lingobot Service]]
   
 
== LingoBot MS Teams Setup ==
 
== LingoBot MS Teams Setup ==
Line 202: Line 242:
   
   
  +
Next Step: [http://wiki.lingoport.com/Installing_the_Lingobot_Service Install and Start the Lingobot Service]
 
  +
[[Installing_the_Lingobot_Service|Next: Install and Start the Lingobot Service]]

Latest revision as of 21:56, 19 March 2024

Lingobot supports several collaboration environments; Slack, Flowdock and Cisco Spark.

LingoBot Slack Setup

This portion of the installation guide only applies if the collaboration environment you will be using is Slack.

1. Go to https://api.slack.com/apps

2. Click Create New App

3. Choose From an app manifest and choose a workspace. The workspace will probably be the company workspace

4. Choose the YAML tab Enter App Manifest using contents of manifest.yaml

#manifest.yaml
display_information:
 name: Lingobot App
features:
 app_home:
   home_tab_enabled: false
   messages_tab_enabled: true
   messages_tab_read_only_enabled: false
 bot_user:
   display_name: lingobot
   always_online: true
oauth_config:
 scopes:
   bot:
     - channels:history
     - channels:join
     - commands
     - chat:write
     - im:history
settings:
 event_subscriptions:
   bot_events:
     - message.channels
     - message.im
 interactivity:
   is_enabled: true
 org_deploy_enabled: false
 socket_mode_enabled: true
 is_hosted: false
 token_rotation_enabled: false

5. Click the Create button

6. Once the app is created, select Install to Workspace

7. Then select Basic Information on the left side, scroll down to App-Level Tokens and click "Generate Token and Scopes", and click "Add Scope" to add all scopes

8. Click "Generate" to get an APP_TOKEN, copy and paste it to install.conf

  APP_TOKEN=<generated token>

9. At "OAuth & Permissions" page, copy and paste the "Bot User OAuth Token" to install.conf

  BOT_TOKEN=<generated token>

Once this is complete, the bot is now configured and ready to be installed! Follow the instructions below on running the installation script to finish the installation process.


Next: Install and Start the Lingobot Service

LingoBot CA Flowdock Setup

This portion of the installation guide only applies if the collaboration environment you will be using is CA Flowdock. If you will be using either Slack or Cisco Spark, please follow the corresponding setup instructions.

Setting up LingoBot to run on CA Flowdock is as simple as creating a new user account through which LingoBot will communicate. If you would rather not deal with the hassle of creating a new Flowdock user account, feel free to ask us to make one for your LingoBot instance. We will send you the API token needed for LingoBot's configuration file and you can simply invite the account to join your Flow once it is ready.

If you don't mind creating the account yourself, then simply follow these instructions to do so.

  • First, you will need an email account with which you can create a Flowdock account. You can make one for free on Gmail if need be.
  • Once this is completed, navigate to the Flowdock Sign Up page and click "Sign Up Using Google"
  • When prompted, sign in using the Google account you created for LingoBot (alternatively, you can sign up using a non-google account by filling out the details manually).
  • Once the account has been created, navigate to the Profile Editing Page and set the following information:
    • Name: Lingoport Chatbot
    • Display Name: By default, we recommend simply calling it "lingobot", however you're welcome to name it whatever you would like.
      • If you do choose to call it something other than "lingobot", make sure that you set the LINGOBOT_NAME variable in the configuration file to whatever name you chose.
      • Example: export LINGOBOT_NAME=lingobot-123
    • Avatar: You can download the following icon Lingoport logo small.jpeg and upload it, upload your own custom icon, or simply leave it blank.
  • Once this is done, scroll down and click "Update Profile"
  • The final step is to navigate to the API Tokens page. Here you will find an API token labeled "Personal Api Token".
  • Copy the API token and paste it into the LingoBot configuration file next to the HUBOT_FLOWDOCK_API_TOKEN variable declaration.

Example:

export HUBOT_FLOWDOCK_API_TOKEN=0a1b2c3d4e5f6g7a8b9c0d

Furthermore, make sure the LINGOBOT_ADAPTER variable is set to "flowdock".

Example:

export LINGOBOT_ADAPTER=flowdock

Once this is complete, the bot is now configured and ready to be installed! Follow the instructions below on running the installation script to finish the installation process.


Next: Install and Start the Lingobot Service

LingoBot Cisco Spark Setup

This portion of the installation guide only applies if the collaboration environment you will be using is Cisco Spark. If you will be using either Slack or CA Flowdock, please follow the corresponding setup instructions.

Configuring LingoBot to communicate via Cisco Spark is a fairly straight forward process. All that is required is access to an account that has access to your organization's Cisco Spark.

Creating a Custom Bot

  • The first step is to sign in to your Cisco Spark account on the Developer Portal.
  • Once signed in, navigate to the Custom Bot Creation page.
  • On the bot creation page, fill in the form with the following information:
    • Display Name: By default, we recommend simply calling it "lingobot", however you're welcome to name it whatever you would like.
      • If you do choose to call it something other than "lingobot", make sure that you set the LINGOBOT_NAME variable in the configuration file to whatever name you chose.
      • Example: export LINGOBOT_NAME=lingobot-123
    • Bot Name: Ideally this should be the same as the display name, however due to the necessity that it be unique this can be just about anything. This will only be used to invite the bot to a chat room.
    • Icon: Paste the following URL into the Icon field: http://i.imgur.com/3bzw0zp.jpg
  • Once this is done, click "Add Bot". On the following page, you will find an API token. Click the "Copy" button next to it (or select and copy the token itself) then paste it into the LingoBot configuration file next to the CISCOSPARK_ACCESS_TOKEN variable declaration.

Example:

export CISCOSPARK_ACCESS_TOKEN=LDA5YjBiOTItMTAwOS00ODMxLTk4ZjEtYTQ4OGI4N2FjN2Y2MjVlM2QyNTUtYmM2

Creating a Webhook for LingoBot

  • The final step is to create a webhook that LingoBot can receive message event notifications through. To do this, navigate to the Spark Webhook Creation Page.
  • Make sure that the "Test Mode" switch is turned ON. This will allow you to generate webhooks directly into your organization's account.
  • Under the "Request Headers" section, fill in the following information:
    • Authorization: "Bearer [YOUR BOT'S API TOKEN HERE]"
  • In the "Request Parameters" section, fill in the the following information under the "Your values" column:
    • name: This can be anything. i.e. "lingobot".
    • targetURL: "[YOUR JENKINS INSTANCE URL HERE]:5001/hubot/ciscospark/incoming"
    • resource: "all"
    • event: "all"
    • secret: This can be just about anything, but ideally it is a random string of letters and numbers that it at least 32 characters long.
      • Whatever you chose for this must also be copied to the LingoBot configuration file, next to the CISCOSPARK_SECRET variable declaration.

Example:

export CISCOSPARK_SECRET=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
  • Once all of these values have been entered, click the "Run" button. You should see a response containing the webhook's information on the right.

Finally, make sure the LINGOBOT_ADAPTER variable is set to "sparkwebhook".

Example:

export LINGOBOT_ADAPTER=sparkwebhook

Once this is complete, the bot is now configured and ready to be installed! Follow the instructions on running the installation script to finish the installation process.


Next: Install and Start the Lingobot Service

LingoBot MS Teams Setup

This portion of the installation guide only applies if the collaboration environment you will be using is MS Teams. If you will be using either Flowdock or Cisco Spark or Slack, please skip to the corresponding setup instructions.

Setup ngrok

  • Navigate to the ngrok page and sign up a free account or login to an existing account. Click Auth from the left list, and copy your Tunnel Authtoken.
  • Copy the Tunnel Authtoken and paste it into the LingoBot configuration file

(/var/lib/jenkins/lingoport/lingobot-<x.y>/config/config.yml) next to the authtoken variable declaration.

Example:

authtoken: 2nde8yqeH8wLiBkv848BW_2Mm39SdudjQJmJ7xxxxxx
tunnels:
   default:
       proto: http
       addr: 5001
  • As a root user (not jenkins), run the following commands to start the ngrok service
 sudo systemctl enable ngrok.service
 sudo systemctl start ngrok.service 
 sudo systemctl status ngrok.service

If the status does not show active (running), then there is a problem.

  • Return to the ngrok page and click Status from the left list. If the page does not show any tunnels online, refresh the page. Store the HTTPS URL for later use.

Microsoft Bot Registration

  • Navigate to the AzureBot Registration Page page. Create a Botframework Registration by completing the Bot Registration Page. Or login to an existing account.

Azurebot.PNG Azurebot2.PNG

  • On this page, you can set a custom icon for the bot under the "Upload custom icon" section. You can download the following icon Lingoport logo small.jpeg and upload it, upload your own custom icon, or simply leave it blank.
  • In the Display name field, enter the name that you would like LingoBot to respond to.
    • By default, we recommend simply calling it "lingobot", however you're welcome to name it whatever you would like.
    • If you do choose to call it something other than "lingobot", make sure that you set the LINGOBOT_NAME variable in the configuration file to whatever name you chose.
      • Example: export LINGOBOT_NAME=lingobot-123
  • Copy the created app id and paste it into the LingoBot configuration file

(/var/lib/jenkins/lingoport/lingobot-<x.y>/config/lingobot_config.sh) next to the BOTBUILDER_APP_ID variable declaration.

Example:

export BOTBUILDER_APP_ID=e8911192-eca4-4f37-8284-616f3339f0e6

Furthermore, make sure the LINGOBOT_ADAPTER variable is set to botframework.

Example:

export LINGOBOT_ADAPTER=botframework
  • Copy the created app password and past it into the LingoBot configuration file

(/var/lib/jenkins/lingoport/lingobot-<x.y>/config/lingobot_config.sh) next to the BOTBUILDER_APP_PASSWORD variable declaration.

Example:

export BOTBUILDER_APP_PASSWORD='wdS50{cphgeDCTKZO073{]#'
  • Copy and paste the URL generated by ngrok to Messaging endpoint field on the Botframework Registration page, and add /api/messages to the end.

Example:

 https://87406e76.ngrok.io/api/messages

Endpoint.PNG

  • Fill in the Paste your app ID below to continue field using the App ID.
  • Once this is done, scroll down to the bottom of the page, agree to the terms of service, and click "Register" to complete.
  • On the new opened My bots page, you will find your just created bot, under Connect to channels field, the Web Chat has been added as default. Click MS Teams icon under "Add a featured channel" to add MS Teams channel. And Save your changes.

Channel.PNG

Create a Microsoft Teams app package

  • Installing App Studio for Microsoft Teams follow steps on this page.
  • Once you are in App Studio, click on the Chat tab, App Studio and the Manifest editor tab. Click Create a new app.
  • Complete the App details section. This includes things such as the app’s name, description, and visual branding. You can automatically generate a GUID for your app and provide URLs for your privacy statement and terms of use.
  • Click Bots section, Set up a bot then click Existing bot tab, type in your bot name and Select from one of your existing bots, then choose the bot you just created above. Save.
  • Copy and paste the URL to Messaging endpoints and make sure it matches the value you just set at bot Register page.

Example:

 https://87406e76.ngrok.io/api/messages
  • Click "Add" button under Commands section to add new commands

Example:

 Command text: list projects
 Help text: Displays list of active projects
 Scope: Team
  • Create a Microsoft Teams app package (.zip) to upload in Teams. Click Test and distribute under the Finish section, and click Download button to download the package file.
  • Click the Store button (left down at the Teams), click Upload a custom app (at bottom left). And upload the package file just created above.


Once this is complete, the bot is now configured and ready to be installed! Follow the instructions below on running the installation script to finish the installation process.


Next: Install and Start the Lingobot Service