「RPAを使ってメールやSNS、チャットツールにメッセージを送信したい!」そんな場面、少なくないですよね。そんなとき、ブラウザを開いて、画面遷移して、「文字を入力」して、送信ボタンを「クリック」して、なんてしていませんか???保守性や可読性、ユーザの技術力を考慮した場合、それが間違った方法だとは言えませんが、画面を触ることによる弊害は多いはずです。本記事では、チャットワークAPIを用いてブラウザを開くことなく、チャットワークにメッセージを送る方法を紹介します。メールやSNSについての記事も今後投稿予定です。今回実装するのは以下のようなワークフローになります。使用しているアクティビティは1つ!!!これだけでチャットワークにメッセージを送信できちゃいます。これを実現するためにWebAPI(エー・ピー・アイ)という技術を使用します。APIについて簡単に、めちゃくちゃ簡単に説明すると、「Webアプリケーションの一部機能を誰でも利用できるような形にしたもの」です。分かりにくいですよね。気になった方は調べてみてください。理解できない方も安心してください。APIについての知識が全くなくても大丈夫です。事前準備UiPathでの実装前に、APIトークンの取得とルームIDの確認を行います。APIトークンというのは、本人確認のためのパスワードのようなもの。ルームIDは送信先のグループチャットを特定するためのユニークなIDです。送信元となるアカウントでログインします。プロフィールアイコン横の『▼』から『API設定』を選択します。パスワードを入力し、『表示』をクリックします。このパスワードはログイン時のパスワードです。ビジネスプラン(管理者のいる社内チャット等)で使用されている場合、管理者の許可を求められる場合があります。ここで言う管理者とは情シス部門などが該当します。チャットワークAPIを使用するためのトークンが発行されます。このトークンは一度発行すると、再発行しない限り使い続けることができます。このトークンを使ってメッセージ送信機能を実装するのでメモしておきましょう。送信先ルームIDの確認メッセージ送信先のルームIDはブラウザのURLから確認することができます。URLのうち「rid」以下の数字文字列がルームIDになります。下の場合、「134498255」がマイチャットのルームIDになります。ルームIDは部屋ごとにユニークな文字列になります。同じグループチャットでも、ログインしているアカウント毎に異なるルームIDが振られます。(⇒AさんとBさんのグループチャットでも、Aさんから見たルームIDとBさんから見たルームIDは異なる。自身のAPIトークンと送信先のルームIDが確認できたら、メッセージ送信機能をUiPathで実装していきます。HTTPリクエストアクティビティAPI関連の処理は『HTTPリクエスト』アクティビティを使用します。このアクティビティはデフォルトでは使用できません。使用するためにはパッケージのインストールが必要です。インストールされている方は以下の内容を読み飛ばし、各種設定に進んでください。UiPath.Web.Activitiesのインストール『パッケージを管理』をクリックします。『オフィシャル』で『UiPath.Web.Activities』を検索し、『インストール』します。このパッケージはUiPath公式のパッケージですので安心して使用できます。インストールが確認出来たら『保存』します。パッケージのインストール作業は以上です。『HTTPリクエスト』アクティビティが使えることを確認してください。『HTTPリクエスト』アクティビティをデザイナーパネルにドロップすると、次のような『HTTPリクエストウィザード』が開かれます。このウィザード内で設定を行ってもよいのですが、ひとまず『OK』を押してウィザードを閉じます(理由はこちら)。すると下のようにアクティビティが配置されます。さきほどウィザード内に現れていた各種設定は、プロパティフィールド(画面右側)で設定することになります。メッセージ送信のために必要な設定項目は『パラメータ』、『ヘッダー』、『エンドポイント』、『メソッド』の4つです。それぞれについて設定内容を説明します。パラメータ以下のように2つのパラメータを設定します。self_unread・・・無くてもかまいません。値を「1」とした場合、自分から見てメッセージを未読状態にします。(既定値0)body(必須)・・・メッセージ本文です。String型変数も設定できます。名前項目(ここではself_unreadとbody)の文字列が間違ってると送信に失敗します。ヘッダー1つのヘッダー情報を以下のように設定します。X-ChatWorkToken(必須)・・・事前準備で取得したAPIトークンを設定します。エンドポイントエンドポイント(※3)を以下のように設定します。【送信先ルームID】は事前準備で確認したものです。エンドポイントとは、使用する機能(ここではメッセージ送信)をURL形式で指定したものメソッドメソッド(※4)は『POST』に設定します。メソッドとは、(簡潔に説明すると)使用する機能の種類を指定するもので、エンドポイントとセットで1つの機能を指定します。設定が完了したらワークフローを実行します。すると、body項目で設定した文字がメッセージとして送信されます。チャットワークへのメッセージ送信の実装は以上になります。HTTPリクエストウィザードを使用しなかった理由HTTPリクエストウィザードは一度『保存』をすると再度開くことはできません。最初からプロパティフィールドを使った設定を行いました。リクエストウィザードにはプレビューという機能があります。この機能を使うとレスポンスを容易にチェックすることができますので、気になった方はぜひ試してみてください。記事内で使用したxamlファイル記事で使用したファイル(xaml+projectファイル)をダウンロードしてお使いいただけます。以下の注意事項をよく読み、ご納得の上でダウンロードしてください。KBDownload注意事項xamlファイルのダウンロードにより何かしらの不具合が生じた場合、一切の責任を負いません。本記事で使用したUiPathStudioのバージョンは2019.4.2になります。お使いのStudioのバージョンが異なる場合、ダウンロードするのではなく、ご自身の環境で作成されることを強くお勧めします。「UiPath.Web.Activities」のパッケージがインストールされていな状態ですと、HTTPリクエストアクティビティは表示されません。終わりに記事に対する意見やコメント、ワークフローについての不明点等は記事へのコメントもしくはTwitterにて私ハイダックが承ります。「こんな記事書いてほしい」、「こんな処理自動化してみてほしい」等の記事案や自動化相談も大変うれしく思いますので、気軽にご連絡ください。Hiduacハイダックと申します。仕事の傍らRPAやWeb開発を中心に勉強・発信しています。発信は本ブログとTwitterがメインです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。関連記事UiPathでチャットワークのメッセージを取得してみた【xamlファイル付き】チャットワークAPIを用いてチャットワークのメッセージを取得する方法を紹介します。Hiduacハイダックと申します。仕事の傍らRPAやWeb開発を中心に勉強・発信しています。...【AI&RPAを体験】誰でも利用できるAIツール「プロセス・ディスカバリー・ツール」を使ってみた(3)実践編(2)です。今回の記事は2つ目の記事の続きです。...RPAって何だろう?私はRPAロボ開発に携わるお仕事をしています。「RPAって何ですか?」と聞かれます。Prismさんに教えてもらったので、使い方解説記事を書いてみることにしました。