6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UiPath Communications Mining 準備編 データ連携 方法② UiPath Activitiesを利用してメールデータの連携

Last updated at Posted at 2024-01-31

はじめに

今回の記事では、メールデータ連携の一つの方法として、UiPath Actvitiesを利用して、メールデータを連携する方法を紹介します。

ロボットが接続するOrchestratorのテナントとUiPath Communications Mining(以下、CM)のテナントが同じかどうかに応じて、利用するアクティビティが異なります。

  1. テナントが同じである場合はUiPath Official CM Activitiesを利用して、メールデータをUiPath CMにアップロードすることができます。
  2. テナントが異なる場合はUiPath Marketplace Activitiesを利用します。

UiPath Marketplace Activitiesは将来的に置き換えられる予定ですので、ワークフローの改修が必要になります。これをご了解の上で利用していただくようお願いします。

UiPath Official CM Activitiesを利用する際の実装

以下のリンクのページで、該当アクティビティの利用方法を記載していますので、詳細な手順はそちらでご確認いただけますので、ここでは省略します。

参考のために、ワークフローを以下に示します。

image.png

メールの添付ファイル名を連携する場合、ワークフローでメールの添付ファイル名を取得し、レコード作成アクティビテにそれをユーザー定義フィールドとして追加する必要があります。

image.png

CMでは、以下のように表示されます。
image.png

UiPath Marketplace Activitiesを利用する際の実装

UiPath CMから必要な値の取得

UiPath Marketplace Activitiesを利用して、メールをアップロードする際には、UiPath CMでのURLやAPIキー、及びアップロード先のソース名などを入力する必要があるので、最初にこれら値を取得します。

  • UiPath CMでのURLの取得

UiPath CMを開いて、URLから「reinfer_/」までの部分を取得し、メモしておいてください。
image.png

  • UiPath CMでのAPI Tokenの取得

右上側の歯車アイコンをクリックして、MyAccountよりAPI tokenを取得し、メモしておいてください。
image.png

  • アップロード先のプロジェクト名とソース名の取得

Sourcesタブよりメールのアップロード先のプロジェクト名とソース名を取得し、メモしておいてください。
image.png

UiPath Studioを利用してメールデータの取得とアップロード

以下に示すステップを通じて、UiPath Studioを利用して、メールボックスからメールデータを取得して解析します。解析したデータを組み合わせて、CMで利用できるフォーマットに変換し、アップロードします。

StudioプロジェクトにCMのアクティビティのインストール

UiPath Studioを起動し、新規プロジェクトを作成します。次に、「パッケージの管理」をクリックし、「CommunicationsMining」と入力して検索します。その後、「InternalLabs.CommunicationsMining.Activities」パッケージをインストールします。

詳細は以下の図をご参照ください。

image.png

メールの取得

連携したいメールボックスからメールを取得するために、「Get Outlook Mail Messages」アクティビティ(outlook利用の場合)をドラッグアンドドロップし、メインシーケンスに配置します。
業務の要件に応じて、「Get Outlook Mail Messages」アクティビティのプロパティを設定します。以下は参考例:
image.png

メールデータの解析と組み合わせ

次に、取得した複数のメールデータを解析し、解析したデータを組み合わせて、CMで利用できるフォーマットに変換します。

  • 複数のメールを取り扱うため、「繰り返し(コレクションの各要素)」アクティビティを使用します。「項目のリスト」には、取得したメールを保存した変数messagesを指定します。

  • メールに関連するデータも追加するため、ユーザー定義のメタデータを作成できます。メタデータに関しては、こちらページでの「user_properties」を参照ください。変数を定義し、代入アクティビティを利用して、必要なメタデータを変数に設定します。

    • メタデータを保存するために、変数jsonDicを作成し、型をDictionary<String,String>に設定し、既定値をNew Dictionary(of String, String)にします。
    • 代入アクティビティを使用して、保存先をjsonDic("string:User Name")に設定し、保存する値も指定します。
    • 同様に、他の設定したメタデータ(メールの添付ファイル名など)も代入アクティビティで設定します。以下は参考例:
      image.png
  • ユーザー定義のメタデータを辞書型のjsonDicに保存しましたが、データをアップロードするために、それをJSONオブジェクトに変換します。「JSONを逆シリアル化」アクティビティを使用し、プロパティを以下のように設定します。

    • TypeArgument: Newtonsoft.Json.Linq.JObject
    • 入力(JSON文字列):Newtonsoft.Json.JsonConvert.SerializeObject(jsonDic)
    • 出力(Json オブジェクト):user_properties(*この変数を新規作成する必要あり*)
  • 取得したメールデータのヘッダー、本文、およびユーザー定義のメタデータを組み合わせて、CMへのアップロード用データを作成します。

    • 「Construct a Raw Email Document 」アクティビティを入れて、入力と出力を設定します。
    • 入力(Email Headers):new ParsedEmailHeaders(message.DateAsDateTime,message.Subject,message.Sender.ToString(),message.Headers("Message-id"),message.Headers("References"),message.To.ToString())
    • 入力(Raw Email Body):new RawEmailHtmlBody(message.BodyAsHtml)
    • 入力(User properties):user_properties
    • 出力(Raw Email Object):rawEmail(*この変数を新規作成する必要あり*)
  • 次は上記の作成したrawEmailをコレクションに追加します。

    • コレクションの変数rawEmailsを新規作成します。該当変数の型をList<RawEmailDocument>にします。
    • 「Append items to collection」アクティビティを追加して、以下のように設定します。
      • コレクション:rawEmails
      • 項目:rawEmail

上記のステップで複数件のメールを解析し、CMへアップロード用のフォーマットに変換しました。

変換したメールデータをCMにアップロード

こちらで、変換したメールデータをCMにアップロードします。

  • UiPath CMから取得したURL及びAPI Tokenを指定の型に変換し、変数に保存します。

    • 以下の変数を新規作成します。
      • baseURL:変数の型がSystem.Uri
      • secureAPIToken:変数の型がSystem.Security.SecureString
      • stringAPIToken:変数の型がStringで、既定値に取得したAPI Tokenを設定します。
    • URLとAPI Tokenを指定の型に変換し、変数に保存します。
      • 保存先(baseURL):new Uri("https://staging.uipath.com/uipatveuzxie/JunLiTest/reinfer_/")
      • 保存する値(secureAPIToken):new System.Net.NetworkCredential("",stringAPIToken).SecurePassword
  • 「Sync Raw Emails」アクティビティを使用して、変換したメールデータやメタデータをアップロードします。

    • Base Url、Communications Mining API Token、Emails、Project Name、Source Nameは全て上記作成した変数、及びUiPath CMから取得した値を使用します。
    • Batch Size: データをアップロードするためのバッチサイズで、入力リストはこのサイズのバッチに分割されます。
    • Transform Tag: 署名を識別する際に利用する方法です。"generic.0.CONVKER5"がマシンラーニングモデル識別です。
      以下の設定の参考例:
      image.png

ワークフローを実行して確認

作成されたワークフローを実行し、UiPath CMにて該当メールが連携されているかを確認します。
以下に示す図のように、メールボックスでのメールおよびワークフローで設定したユーザー定義メタデータがUiPath CMで確認できれば、メールデータの連携が問題なく完了したことが確認できました。

image.png

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?