Power Automate から ServiceNow のデータを取り出すとき、最初につまずきやすいのが ServiceNow コネクタの「レコードの取得」アクションです。画面上は数個の入力欄に見えますが、実際には「どのテーブルを見るのか」「どのレコードを1件だけ指定するのか」「参照項目を人間が読める値で返すのか」を決めています。
この記事では、ServiceNow コネクタの接続作成から、「レコードの種類」「システム ID」「表示用の参照値」「フィールド指定」まで、設定値の探し方と当てはめ方を順番に整理します。例としてインシデントを取得するケースを使いますが、考え方はユーザー、変更要求、要求アイテムなどの他テーブルでも同じです。

まず全体像:Power Automate は「テーブル名」と「sys_id」で1件を取りに行く
ServiceNow のレコードは、すべて何らかのテーブルに保存されています。インシデントなら incident、ユーザーなら sys_user、要求アイテムなら sc_req_item のように、取得対象ごとにテーブルが異なります。
Power Automate の ServiceNow コネクタで「レコードの取得」を使うときは、次の2つが特に重要です。
- レコードの種類:取得したいServiceNowテーブル、またはPower Automate上の表示名
- システム ID:取得したい1レコードを一意に示す
sys_id
設定の読み替えイメージ
| Power Automateの項目 | ServiceNow側で探すもの | 例 |
|---|---|---|
| レコードの種類 | テーブル名、またはレコードタイプ | incident / Incidents |
| システム ID | 対象レコードの sys_id |
46f... のような32文字ID |
| フィールド | 返してほしい列名 | number,short_description,state,sys_id |
接続設定:まずServiceNowコネクタの接続を作る

Power Automate で ServiceNow アクションを追加すると、最初に接続の作成を求められます。Microsoft Learn では、ServiceNow コネクタは Power Automate の Premium コネクタとして案内されており、接続方式として Basic Authentication、Microsoft Entra ID User Login、証明書を使うMicrosoft Entra ID OAuth、OAuth2 などが用意されています。
検証や小規模な自動化では Basic Authentication が分かりやすい一方、組織利用では Microsoft Entra ID 連携や専用のサービスアカウントを使う設計が安全です。どの方式でも共通して大事なのは、Power Automate から読み取りたいServiceNowテーブルに対して、そのユーザーが読み取り権限を持っていることです。
Basic Authenticationで必要になる値
- Instance:ServiceNow のインスタンス名、または対象URL
- Username:Power Automate から接続するユーザー
- Password:そのユーザーのパスワード、または運用ルールで許可された認証情報
Microsoft Entra ID User Loginで必要になる値
- Instance Name:ServiceNowサイトを識別するインスタンス名
- Resource URI:ServiceNow代表アプリケーションとして登録したEntra IDアプリの識別子
Microsoft Learn では、User Login方式では認証種類として「Microsoft Entra ID User Login」を選び、ServiceNow Instance name と Resource ID を指定する流れが説明されています。社内SSOを使う場合は、この方式が候補になります。
「レコードの取得」で設定する項目
ServiceNow コネクタの Get Record は、ServiceNow の特定オブジェクトタイプのレコードを1件取得するアクションです。Microsoft Learn 上のパラメーターでは、必須項目として Record Type と System ID が示されています。
- Record Type:取得対象の種類。Power Automate上では「Incidents」などの表示名で選ぶことがあります。
- System ID:対象レコードの
sys_id。ServiceNow側の1件を特定する値です。 - Display System References:参照項目を表示値として含めるかを決めます。
- Exclude Reference Links:参照リンクを返さないようにして、出力を軽くできます。
- Fields:返すフィールドをカンマ区切りで絞れます。
まずは Record Type と System ID だけで取得し、結果が返ったら Fields を指定して必要な項目だけに絞るのが分かりやすい進め方です。
レコードの種類はどう見つけるか
一番安全なのは、Power Automate の入力欄で表示される候補から選ぶことです。ServiceNow コネクタにはレコードタイプを一覧するアクションも用意されているため、画面上の候補に出る表示名を使うのが基本です。
ServiceNow側から推測する場合は、開いている画面のURLもヒントになります。たとえばインシデントのフォームURLが /incident.do?sys_id=... のようになっていれば、テーブル名は incident です。ユーザーなら sys_user、要求アイテムなら sc_req_item のように、ServiceNowのテーブル名がレコードタイプの実体になります。
| 取得したいもの | ServiceNowテーブル名の例 | Power Automateでの考え方 |
|---|---|---|
| インシデント | incident |
Record TypeでIncidents系を選ぶ |
| ユーザー | sys_user |
Users系のレコードタイプを選ぶ |
| 要求アイテム | sc_req_item |
Requested Item系を選ぶ |
システム ID(sys_id)はどう見つけるか
ServiceNow の sys_id は、各レコードを一意に識別する32文字のIDです。ServiceNow公式ドキュメントでも、sys_id は各レコードを識別する一意のGUIDとして説明されています。
手作業で確認する場合は、対象レコードをServiceNowで開き、ヘッダーからURLをコピーします。URL内に sys_id= が含まれていれば、その後ろの32文字がPower Automateの「システム ID」に入れる値です。
https://your-instance.service-now.com/incident.do?sys_id=46f4f0dba9fe19810012d100cca80666
この例なら、Power Automate の設定は次のようになります。
- レコードの種類:Incidents、または
incident - システム ID:
46f4f0dba9fe19810012d100cca80666
フロー内で前段のアクションから値を渡す場合は、「レコードの作成」や「レコード一覧の取得」の出力に含まれる sys_id を動的コンテンツとして使います。手入力ではなく前段の出力を使うと、毎回違うレコードを自動で取得できます。
Fieldsには何を入れるべきか
Fields は、ServiceNowから返す列を絞るための項目です。空欄でも動くことはありますが、Power Automate側で扱いやすくするなら、最初から必要な列だけを指定するのがおすすめです。
インシデントでよく使う例は次の通りです。
number,short_description,state,priority,assigned_to,sys_id
参照項目を人間が読める名前で使いたい場合は、Display System References を有効にして動作を確認します。一方で、後続アクションで別テーブルのレコードをさらに取得する場合は、表示値ではなく参照先の sys_id が必要になることがあります。画面表示用なのか、後続処理用なのかで使い分けてください。
よくあるエラーと確認ポイント
- Invalid Table と出る:レコードの種類が違う、または接続ユーザーがそのテーブルを読めない可能性があります。
- 対象が見つからない:
sys_idが別テーブル、別インスタンス、またはコピー元環境の値になっていないか確認します。 - 参照項目がIDのまま表示される:Display System References の設定を確認します。
- 出力が多すぎて扱いにくい:Fields に必要な列だけをカンマ区切りで指定します。
- 接続で失敗する:Microsoft Learnでは、ServiceNowコネクタが基本的に
service-now.comで終わるインスタンスURLを想定している旨の制限も案内されています。カスタムドメイン利用時は認証方式も含めて確認してください。
まとめ
Power Automate の「レコードの取得」は、ServiceNow上の1件を取得するシンプルなアクションですが、設定値の意味を分けて考えると迷いにくくなります。
- 接続は、組織の認証方針に合わせて Basic、Entra ID、OAuth2 から選ぶ
- レコードの種類は、取得対象のServiceNowテーブルを指定する
- システム IDには、対象レコードの
sys_idを入れる sys_idはレコードURLや前段アクションの出力から取得する- Fieldsを使うと、後続アクションで扱う値を整理しやすい
最初はインシデント1件で試し、取得結果に number や short_description が返ることを確認してください。その後、ユーザーや要求アイテムなど別テーブルへ広げると、Power AutomateとServiceNowの連携がかなり組み立てやすくなります。
