RPA ,Slack

自作RPA、Slackからロボットを起動する方法

 

RPAのロボを自然な会話でSlackから動かす Part 1

この記事では、SlackとUipathで作成したRPA用のロボットをつなげて、Slack上で自分の好きな言葉に反応させて、RPAのロボットを起動することができます。例えば、会社の会議予約を行うようなロボットを作成しておき、Slack上(いつでもどこでも)で、Botに対して、会議室の予約をお願いすることが可能になります。もし、この内容を読んで興味を持たれた場合、より詳細に説明しますのでコメントまたは、問い合わせをお願いいたします。

利用する技術

  1. Uipath
  2. Python / python-slackclient
  3. Slack / Slack-Api
  4. Dialog Flow

作成までの流れ

  1. RPAのロボを作成し、起動用のバッチファイルを作成する
  2. Slack上でBotを作成し、ローカルで作成したPythonと接続する
  3. 特定のKeywordに反応させて、ロボ起動用のバッチを実行させる。
  4. Dialog Flowを使って、自然な言語処理を可能にする。

 

開発前提条件

以下の条件は整っている前提です。この記事では説明を省略します。

  1. Slack のアカウント作成済み
  2. ローカル端末のPython のインストール済み
  3. Uipathのロボット作成済み

1.RPAロボの作成と起動用バッチファイルの作成

サンプルのロボットを作成し、以下のようなバッチファイルを作成します。
下記で実行するPythonと同じディレクトリに配置する。

RobotStart.bat

"C:\Program Files (x86)\UiPath\Studio\UiRobot.exe" -f "%HOMEPATH%\Documents\UiPath\MyRovoto\Main.xaml"

 

2.Slack上でBotを作成し、ローカルで作成したPythonと接続する

以下のブログの”Creating a Slack Application”のChapterを参考にPythonと接続するためのBotを作成する。

A Guide to Building an Intelligent Chatbot for Slack using Dialogflow API

3.特定のKeywordに反応させて、ロボ起動用のバッチを実行させる

上記のステップで利用したPythonのソースを変更して、

def handle_command(slack_api, command, channel):  のメソッド内に、以下の”elif”のような記述を加える。これにより、Slack上で、XXXXXとメッセージを入力したらそれをトリガーにして、作成したバッチが起動される。

def handle_command(slack_api, command, channel):
  if command.lower().startswith('do') or command.lower().startswith('what'):
    slack_api.rtm_send_message(channel, 'Yes, code me further to do that!')
  elif command.lower().startswith('XXXXX') or 'XXXXX' in command.lower():
    cmd = "RobotStart.bat.bat"
    slack_api.rtm_send_message(channel, 'Now the robot will run for you')
    result = subprocess.check_output(cmd.split())
    return_message = result.split(':')[1].split(',')[0]
      if return_message != "null":
        slack_api.rtm_send_message(channel, return_message)
  else:
    print 'Invalid Command: Not Understood'
    slack_api.rtm_send_message(channel, 'Invalid Command: Not Understood')

ここまでやれば、自分で作成したロボットをSlack上から実行できるようになります。

4.Dialog Flowを使って、自然な言語処理を可能にする。

乞うご期待。すみません、力尽きたので続きは今度で。

0 Shares

コメントを残す

メールアドレスが公開されることはありません。