5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

30分で実践:UiPath Integration Service カスタムコネクタ × Graph API の作り方

Last updated at Posted at 2025-12-04

はじめに

本記事の目的

本記事では、Microsoftが提供するGraph APIを対象としたカスタムコネクタの構築手順を紹介します。この記事を通じて、Azure側でのアプリケーション登録から、UiPath Studio上でのアク
ティビティ活用までの流れを理解することを目的としています。

また、本記事は次のような読者を対象としています:

  • UiPath Integration Service を活用して外部サービスとの連携を行いたい方
  • 標準コネクタでは対応できない API と接続する必要がある開発者・RPA エンジニア
  • Azure AD(Entra ID)でのアプリ登録や OAuth 設定に不慣れな方

これらの読者が、カスタムコネクタを使った API 連携の全体像を把握し、実践できるようになることを目指しています。

前提条件

本記事の実施には以下のような権限と環境が必要です。また、記事作成のための開発環境としてUiPath Studio 24.10.15を使用しています。

  • 必要な権限
    • Azure AD(Entra ID)のアプリ登録ができる権限があること
    • Azureのテナント管理者に管理者の同意を依頼できること
  • 環境
    • UiPath Automation Cloud テナントがあること

免責事項

  • 本記事の内容は、2025年12月執筆時点のUiPathの仕様に基づいて記載しています。将来的なバージョンアップ等により、動作や画面が変更される可能性があります
  • 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません
  • 記事の内容に関するサポートは受け付けておりませんので、予めご了承ください
  • カスタムコネクタがStudioで利用できるまでの最小の構成を提示する目的で記載しているため、アクティビティデザイナーとトリガーの作成については言及していません。それらについては公式ガイドをご参照ください

カスタムコネクタとは?

UiPath Integration Serviceは、UiPathのプロセスと主要なSaaSアプリケーションとの連携を容易にする機能を提供します。しかし、標準で提供されていない外部サービスや社内システムと連携する場合には、カスタムコネクタを作成する必要があります。

カスタムコネクタとは、UiPath Integration Serviceで提供されているコネクタビルダーを利用し、独自の認証設定やアクティビティを定義して作成する拡張用パッケージです。
これにより、標準コネクタでは対応していない外部APIや社内システムとの連携を柔軟に実現できます。

カスタムコネクタを利用することで得られる主な利点は、次のとおりです。

  • 簡単な連携:コネクタビルダーでは、コネクション設定や操作定義を行うためのビジュアルインターフェイスが提供されており、外部APIとの連携を直感的に構築できます
  • 柔軟な認証設定:OAuth 2.0、APIキー、Basic認証など、複数の認証メカニズムに対応しており、さまざまなAPIへの安全な接続が可能です
  • カスタムアクティビティの作成:API操作をもとに独自のアクティビティを定義でき、作成したアクティビティはUiPath Studio、Studio Web、StudioXから直接利用できます
  • パラメーターの管理:API呼び出し時の入力パラメーターや出力パラメーターを定義できるため、データの送受信や処理がよりスムーズになります

Microsoft関連のリソースの操作においてカスタムコネクタが必要になるケース

既に用意されているMicrosoft 関連のコネクタとして、以下の二つがあります。

  • Microsoft OneDrive & SharePoint コネクタ
  • Microsoft 365 コネクタ

『Microsoft OneDrive & SharePoint コネクタ』で多くのリクエストを網羅することができますが、このコネクタで用意されていないエンドポイントに対するアクセスは、別途定義する必要があります。
ここで『Microsoft 365』コネクタを使って上記でカバーされていないリクエストを送信することができます。しかしながら、このコネクタに対応するアクティビティではHTTPリクエストを直接操作する必要があり、リクエストや応答のペイロードをJSONで扱う必要があります。
JSONの操作に慣れている方であればそちらを使うことも方法としてありますが、専用の変数を扱う方が効率的に、そして安全に実装できることが考えられます。

そのような状況において、カスタムコネクタが出番になります。カスタムコネクタを利用することにより、JSONをいじらずに、型付きのプロパティとして利用することができます。

他の利点として、コネクタ側に認証情報を埋め込むことも可能なため、コネクション作成の際、ユーザーにアプリケーションID等の認証情報を入力させることなく認証させることができるのも利点です。

本記事で扱うサンプル

今回作成するカスタムコネクタでは、以下のフローを使用します。

  • 認証方式:OAuth 2.0 認可コードフロー(Authorization Code Flow)
  • アクセス許可の種類:委任されたアクセス許可(Delegated permission)

認可コードフローは、ユーザーがサインインして同意を与えることで、アプリケーション(ここではUiPath Integration Service)がユーザーの代わりにAPIを呼び出す仕組みです。
UiPath Integration Serviceのカスタムコネクタでは、このフローを利用することで、ユーザーが作成したコネクションに基づき、API呼び出しを安全に実行できます。

また、委任されたアクセス許可(Delegated permissions) を使用することで、APIリクエストはコネクションを作成したユーザーのアクセス権限に基づいて実行されます。
たとえば、Microsoft Graph APIを利用する場合、そのユーザーがアクセス可能な範囲(例:自分のメールボックスやOneDriveファイル)に対してのみ操作が行われます。

一方で、アプリケーション許可(Application permissions) は、ユーザーの関与なしにアプリケーション自体が組織全体に対してアクセスできる強力な権限を持ちます。

委任されたアクセス許可とアプリケーション許可の違いについては、以下のMicrosoft社公式ドキュメントを参照してください。

Step 1: Azure で Graph API 用アプリを登録する

以下にAzure Portal上で行うアプリケーション登録の手順を紹介します。

手順:

  1. Azure Portalで新規アプリを登録します
    image.png

  2. アプリケーション名を入力し、例としてシングルテナントを選択します
    image.png

  3. "Web"を選択し、リダイレクトURIに https://cloud.uipath.com/provisioning_/callback
    を設定して登録します
    image.png

  4. APIのアクセス許可 > アクセス許可の追加 > Microsoft Graph > 委任されたアクセス許可 より、以下のアクセス許可を追加します
    User.Read Sites.Read.All offline_access openid profile
    image.png

  5. APIのアクセス許可 のページにおいて必要なアクセス許可が追加されていることを確認の上、"XXXXXXに管理者の同意を与えます"をクリックします。管理者の同意を与えると"状態"の箇所に"XXXXXに付与されました"の表示が追加されます
    image.png

  6. 証明書とシークレット > クライアントシークレット より新しいクライアントシークレットを作成し、作成された"値"の文字列を控えます
    (必要に応じた有効期限を設定してください)
    image.png

  7. 概要 に記載のアプリケーション(クライアント)IDとディレクトリ(テナント)IDの文字列も併せて控えます(下図赤資格の塗りつぶし部分に記載されています)
    image.png

以上が Azure Portal 上での作業です。

Step 2: コネクタビルダーでカスタムコネクタを作成する

前項ではAzure Portal上でアプリケーションを登録する手順について紹介しました。本項ではAutomation CloudのIntegration Serviceでコネクタビルダーを操作する手順を説明します。

新しいコネクタを作成する

  1. UiPath Automation Cloud > Integration Serviceの任意のフォルダを開き、コネクション選択ページよりコネクタビルダーをクリックします
    image.png

  2. "新しいコネクタを作成"をクリックします

  3. "空白から開始する"を選択し、コネクタ名を入力して作成をクリックします
    image.png

認証を構成する

  1. "認証"タブに移動します
  2. "認証の種類"に "OAuth 2.0 Authorization code" を選択します
  3. 下表のように必要な情報を入力します
    image.png
  4. 右上のドロップダウンを開いて"コネクションを追加"をクリックしてアカウントでログインし、アクセストークンが返却されれば認証成功です
    image.png

アプリケーションに対して管理者の同意が付与されていない状態では、ユーザーアカウントでコネクションを作成しようとすると、組織管理者による同意が必要な旨のメッセージが表示され、コネクションを作成できません。
そのような場合は組織管理者に以下のような対応を依頼します。

管理者の同意をアプリケーションに付与する方法の詳細については、Microsoft社のアプリケーションに対してテナント全体の管理者の同意を付与するをご参照ください。

上記の手順3で入力する項目を表にまとめます。{}で囲った部分にはアプリケーション登録手順で控えた文字列を入力します

名前
Client ID {アプリケーション(クライアント)ID}
Client secret {クライアントシークレット}
Scope User.Read Sites.Read.All offline_access openid profile
Token URL https://login.microsoftonline.com/{ディレクトリ(テナント)ID}/oauth2/v2.0/token
Authorization URL https://login.microsoftonline.com/{ディレクトリ(テナント)ID}/oauth2/v2.0/authorize

API呼び出しを定義する

本項ではAPI呼び出しの定義方法を紹介します。今回はSiteの検索をするAPI呼び出しを定義したいため、その手順を紹介します。サイトを検索するのエンドポイントに対してGETリクエストを送信するAPI呼び出しを定義します。

手順:

  1. 設定 > ベースAPIタブに移動し、ベースAPIの値をhttps://graph.microsoft.com/v1.0に設定します
    image.png

  2. アクティビティ > 新しいリソースを作成 をクリックし、以下のように設定して作成をクリックします。クエリパラメータとして設定している?search=*の部分は作成後に自動的にパラメータとして認識されます

    1. パス:/sites?search=*
    2. 表示名:{任意の表示名}
    3. メソッドを選択:すべてのレコードのリストを取得 (GET)
      image.png
  3. ページ右上の 要求を送信 をクリックし、既定の設定のまま実行をクリックします
    image.png
    応答 のセクションに"成功:200"のアイコンが表示され、本文にリストの一覧が返ってきていれば送信完了です。

  4. アクティビティタブ > 厳選された活動 の三点アイコン > アクティビティを追加 をクリックします
    image.png

  5. アクティビティの作成画面で以下のように入力し、作成をクリックします

    1. アクティビティ名:Search Sites
    2. メソッド:すべてのレコードのリストを取得 (GET)
    3. リソース:/sites
    4. 説明:サイトを検索します(任意です)
      image.png

アクティビティ > 厳選された活動の下に、"アクティビティ名"に設定した名称のアクティビティが生成されると完了です。

上の手順4,5の"厳選された活動"を作成することなくカスタムコネクタを利用することも可能ですが、その場合はStudio上で『List All Records』という名称のアクティビティを使用する形になります。厳選された活動を定義しておくことで、任意の名称のアクティビティとして作成でき、また複数のAPI呼び出しを定義するような場合、それぞれ独立したアクティビティとして利用できるようになります。

カスタムコネクタをパブリッシュする

カスタムコネクタの設定は以上です。最後に、ページ右上の『パブリッシュ』をクリックして、カスタムコネクタをパブリッシュします。

Step 3: UiPath Studio からカスタムコネクタを利用する

上記で作成したカスタムコネクタをStudio上で利用する手順を紹介します。ワークフローの構成として、作成したカスタムコネクタよりユーザーがアクセス可能なサイトすべてを検索し、サイト名の一覧をログに出力する簡単なものです。

手順:

  1. 新規のプロジェクトを作成します

  2. アクティビティパネルの検索窓にコネクタビルダーで設定したアクティビティ名を入力し、ヒットしたアクティビティをワークフローに配置します
    image.png

  3. すべてのサイトを取得したいため、searchの値に"*"を入力します
    image.png

  4. プロパティの出力 > Search Sitesの値に変数を設定します。変数の型はsites[]になります(コネクタビルダーで定義したレスポンススキーマに基づいて自動生成されます)
    image.png

  5. 『メッセージをログ』アクティビティを配置し、"メッセージ"の箇所に以下を入力します
    String.Join(vbCrLf, sites.AsEnumerable.Select(Function(x) x.Name))
    (取得したサイト名を改行区切りで出力します)

おわりに

本記事では、Microsoft Graph API を対象としたカスタムコネクタを題材に、

  • Azure 上でのアプリケーション登録
  • コネクタビルダーによる OAuth 2.0 認証設定
  • Graph のサイト検索 API の呼び出し定義
  • UiPath Studio からの型付きアクティビティの利用

という一連の流れを紹介しました。

今回扱ったのは /sites の検索という比較的シンプルなユースケースですが、同じ要領でエンドポイントやスキーマを追加していくことで、より複雑なシナリオにも拡張できます。UiPath が提供している標準コネクタでも多くのリソースにアクセスできますが、それでもカバーしきれない部分については、このようにカスタムコネクタを利用して補っていただければと思います。

本記事が、UiPath Integration Service でのカスタムコネクタ構築に取り組む際の足がかりになれば幸いです。

5
0
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
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?